Escalabilidad “ilimitada”
con SQL Server
        Eladio Rincón
        Director Depto. Relacional, SolidQ
        SQL Server MVP
        eladio@solidq.com
Factores que Limitan la Escalabilidad
         Baseline                    Producto
                                     Hardware
                         Identify
                       bottlenecks   Aplicaciones
  Measure
Performance

                                     Combinación
                     Make
                    Changes
                                               2
Agenda
         Casos más Impactantes y sus Retos

         El Caso de la Servilleta
               … y la otra servilleta

         En qué te podemos ayudar




                                             3
Los números…
   VLDB                 Mission Critical                          HA/DR                       DW                    High OLTP

                           Large U.S. Financial                                                                     Large U.S. Financial
                              Organization                                                                             Organization
                             Critical operations            100% uptime (2008)                                       > 125K tx/second
                                                            100% uptime (2009)
                                                                                          180M incremental
 >1 peta-byte           with > 1,000,000,000 tx/day         100% uptime (2010)              fact rows/day             < 50ms latency


                                                                                              Centipede

  > peta-byte               Mission Critical             7x24x365 Synchronous                  490TB
  ≈ 1 trillion rows         database > 4 TB              Mirroring Solution >15B            9 data nodes            > 30,000 DB tx/Second
                                                                   tx/yr



>80GB daily growth        Critical operations         SAP | geo-cluster > 5 miles         70GB daily growth          > 3,000 tx/Second
>50 TB by end of 2010     with > 15,000 users        No Data Loss | No Down Time      <= 3s query response (80%) > 2B CLR calculations/day




                           Critical operations         Asynch Mirroring > 400 miles      700 million rows/day   12.4M users (2.7M regular)
>90GB daily growth         at > 2200 facilities            < 60 sec. recovery            Incremental growth       > 23k batch requests/sec




                             Mission Critical                COMING SOON!             5TB Analysis Services data   4.4M concurrent users
>10B rows in 1 table      table > 1.9 billion rows           (10+1 Clusters)          50TB federated environment    130M monthly users



                                                                                                                                           4
…traducido en Caracteristicas
Necesidad       Característica      Versión SQL Server
VLDB            Particionado           2000 – 2012
                Compresión             2005 – 2012
                BD en Memoria             2013+
HA / Tier – 1   Hadron / AlwaysON      2008 – 2012
                Utilizar los           2005 – 2012
                secundarios
DW Scale        Scale Out             (2008) – 2012
                FTDW, Vertipaq        (2008) – 2012

                                                      5
Scale Out – El Caso de la Servilleta

                                Servidores
                                Apps
                                Usuarios

                                Listener




                                           6
Scale Out – La otra Servilleta
Protección y escalabilidad a nivel de grupos de bases de datos
                                                Mejora la
                                           Productividad y ROI




                                           Mejor Disponibilidad



                                         • Multi-database


                                                           distribuir la
                                           carga entre los secundarios
                                           , Reportings y backups

                                           Sin dependencia de
                                               aplicaciones
Scale Out – Caso Práctico
                                           Availability Group (AG)

                                           • Grupo de bases de datos que
                                             gestionamos conjuntamente (e.g.
                                             failover conjunto)
                                           • Definimos la replicación conjuntamente
                             A
                                       A

                                           Availability Replica (AR)

                 A                         • Copia fisica del conjunto de bases de
A                                            datos definidas en el Availability Group


                                           Nodo Primario

                                           • Permite escritura y lectura


                                           Nodo Secundario
                        Synch. Data
    Application A       Movement
A   Secondary Replica                      • Permite conexiones solo lectura
                                           • Es la copia de backup de los
                        Asynch. Data         datos
A   Application A       Movement
    Primary Replica
Scale Out – SQL Server 2012 PDW
 Dimensiones: Replicadas
                                                TD           PD
                                                      SF
                                                     01-08
   Time Dim                      Product Dim    SD           MD

 Date Dim ID                    Prod Dim ID
 Calendar Year                  Prod Category
 Calendar Qtr                   Prod Sub Cat
                                                TD           PD
 Calendar Mo                    Prod Desc             SF
 Calendar Day                                        09-16
                                                SD           MD




                  Sales Facts                   TD           PD
                                                      SF
                 Date Dim ID                         17-24
                                                SD           MD
                 Store Dim ID
                 Prod Dim ID
                 Mktg Camp Id
                 Qty Sold
                 Dollars Sold                   TD           PD
                                                      SF
                                                     25-32
   Store Dim                    Mktg Campaign   SD           MD
                                     Dim

  Store Dim ID                  Mktg Camp ID
  Store Name                    Camp Name       TD           PD
  Store Mgr                     Camp Mgr              SF
  Store Size                    Camp Start           33-40
                                                SD           MD
                                Camp End
Scale Out – SQL Server 2012 PDW
    Hechos: Distribuidos
                                                TD           PD
                                                      SF
                                                     01-08
   Time Dim                      Product Dim    SD           MD

 Date Dim ID                    Prod Dim ID
 Calendar Year                  Prod Category
 Calendar Qtr                   Prod Sub Cat
                                                TD           PD
 Calendar Mo                    Prod Desc             SF
 Calendar Day                                        09-16
                                                SD           MD




                  Sales Facts                   TD           PD
                                                      SF
                 Date Dim ID                         17-24
                                                SD           MD
                 Store Dim ID
                 Prod Dim ID
                 Mktg Camp Id
                 Qty Sold
                 Dollars Sold                   TD           PD
                                                      SF
                                                     25-32
   Store Dim                    Mktg Campaign   SD           MD
                                     Dim

  Store Dim ID                  Mktg Camp ID
  Store Name                    Camp Name       TD           PD
  Store Mgr                     Camp Mgr              SF
  Store Size                    Camp Start           33-40
                                                SD           MD
                                Camp End
Compresión / Almacenamiento Columnar
         Disponible en SQL 2012 y PDW

Almacenamiento
  Tradicional                                  …
   (row store)


                 C1   C2   C3   C4   C5   C6
                                                                 Páginas




                                                   Almacenamiento
                                                      Columnar

                                                      VertiPaq
Almacenamiento Columnar – Menos E/S
          Disponible en SQL 2012 y PDW
SELECT
  key2, key3,
  SUM (measure1) Ventas               •   Se recupera sólo las columnas
FROM tabla                                necesarias
GROUP BY
  key2, key3;                         •   Datos comprimidos
                                      •   Menos E/S
  key1               key4 key5 key6
                                      •   Mejor ratio de acierto en caché

                                      --
                                      -- columnstore index
                                      --
                                      CREATE COLUMNSTORE INDEX idx_cs_fact
                                      ON dbo.Fact (
                                           key1, key2, key3, key4,
                                           key5, key6, key7, key8,
                                           measure1, measure2, measure3);

         key2 key3
Tecnología en Memoria
Proyecto Heckaton

• Objetivo  cuando el hardware no da más
      >= 15.000 reqs/sec
• Soporte Completo ACID

Tablas en Memoria          SPs en Memoria
Repaso de los números…
   VLDB                 Mission Critical                          HA/DR                       DW                    High OLTP

                           Large U.S. Financial                                                                     Large U.S. Financial
                              Organization                                                                             Organization
                             Critical operations            100% uptime (2008)                                       > 125K tx/second
                                                            100% uptime (2009)
                                                                                          180M incremental
 >1 peta-byte           with > 1,000,000,000 tx/day         100% uptime (2010)              fact rows/day             < 50ms latency


                                                                                              Centipede

  > peta-byte               Mission Critical             7x24x365 Synchronous                  490TB
  ≈ 1 trillion rows         database > 4 TB              Mirroring Solution >15B            9 data nodes            > 30,000 DB tx/Second
                                                                   tx/yr



>80GB daily growth        Critical operations         SAP | geo-cluster > 5 miles         70GB daily growth          > 3,000 tx/Second
>50 TB by end of 2010     with > 15,000 users        No Data Loss | No Down Time      <= 3s query response (80%) > 2B CLR calculations/day




                           Critical operations         Asynch Mirroring > 400 miles      700 million rows/day   12.4M users (2.7M regular)
>90GB daily growth         at > 2200 facilities            < 60 sec. recovery            Incremental growth       > 23k batch requests/sec




                             Mission Critical                COMING SOON!             5TB Analysis Services data   4.4M concurrent users
>10B rows in 1 table      table > 1.9 billion rows           (10+1 Clusters)          50TB federated environment    130M monthly users



                                                                                                                                           15
Qué proponemos para acercarte a
        esos números
              Baseline



                              Identify
                            bottlenecks

       Measure
     Performance




                          Make
                         Changes
4 Medidas

 •   Sintéticas
 •   Unitarias
 •   Concurrencia
 •   Vida Real

“Cuando quieres realmente una cosa, todo el
Universo conspira para ayudarte a conseguirla”
Autor: Tú (con permiso de Paulo Coelho)
Medidas Sintéticas
               • Recursos:
                 Arquitecturas de
                 Referencia FTDW
               • Herramientas:
                 Fabricantes de
                 hardware y software
                 (SQLIO, IOMeter)
               • Busca los
                 límites
               • No es Barato
Pruebas Unitarias
                • Funcionales
                  del software
                    Visual Studio,
                    Telerik, Nunit,
                    xUnit, Pex:
                    MS Research
                • Las cosas no
                  van mal
                • …pero
                  pueden ir
Pruebas de Concurrencia
                   • Cómo se
                     comporta el
                     software con
                     otros al lado
                      ERPs, CRMs,
                      Transaccionales,
                      Analíticos,
                      Reporting, …
                   • Analizar (S y H)
                      Profilers
                      PerfMon
                   • Concluir
                   • Medidas
Vida Real
            • Seguir
              midiendo
              Tools
            • Entender
              la realidad
              Cruzar datos
            • Reaccionar
              rápido
              Proactivo
Pinceladas de Casos de Estudio
• Replicación para mejorar
  rendimiento
• Migraciones
      • Rápidas
      • Seguras
      • Escalables
© SolidQ 2013                    22
Usando Replicación de Datos para
mejorar Rendimiento




© SolidQ 2013                      23
Migración a 2008 Muy Rápida




© SolidQ 2013                 24
Migraciones Medidas y Seguras…




© SolidQ 2013                    25
… en Sistemas Seguros …




© SolidQ 2013             26
… y Escalables y con Fast Track




© SolidQ 2013                     27
Resumen
• Los números están ahí
• Ayudan a asustar fantasmas
• Outside – In
      • Comprende lo que ves fuera y
                ajústalo a tu Organización


© SolidQ 2013                                28
Eladio Rincón
eladio@solidq.com
Agenda

       9:30: 10:00   Una nueva plataforma de gestión de
                     la información: SQL Server 2012
       10:00 – 11:00 ¿Sabes hasta dónde puede llegar
                     SQL Server?
       11:00 – 11:30 Coffee – Break
       11:30 – 12:15 Enterprise Information Management:
                     Jugando con SSIS, DQS y MDS
       12:15- 13:00 ¿Cómo de Big son tus datos?:
                     HDInsight


© SolidQ 2013                                             30
Créditos imágenes
Túneles de viento
http://www.rectademeta.com/primer-tunel-de-viento-en-espana.html
http://angelesenlacabeza.blogspot.com.es/2012/10/tuneles-de-viento-ese-gran-desconocido.html
http://www.autobild.es/reportajes/ferrari-una-factor%C3%AD-de-sue%C3%B1os

Entrenamientos
http://www.lasprovincias.es/20110203/deportes/motor/vida-kilometros-hora-201102030951.html
http://www.elmundo.es/albumes/2013/02/08/delarosa_ferrari_estreno/index.tml

Entrenos oficiales
http://www.abc.es/20121102/deportes-f1/abci-libres1-abudabi-201211021156.html

Carrera
http://www.flickr.com/photos/97302051@N00/155461458/sizes/z/in/photostream/
http://beyondtheredline.org/formula-1-fernando-alonso-the-rain-master/




© SolidQ 2013                                                                                31
Si quieres disfrutar de las mejores sesiones de
      nuestros mentores de España y Latino América,
                   ésta es tu oportunidad.
                http://summit.solidq.com/madrid/
                             Síguenos:




© SolidQ 2013                                            32

SolidQ Business Analytics Day | Escalabilidad “ilimitada” con SQL Server

  • 1.
    Escalabilidad “ilimitada” con SQLServer Eladio Rincón Director Depto. Relacional, SolidQ SQL Server MVP eladio@solidq.com
  • 2.
    Factores que Limitanla Escalabilidad Baseline Producto Hardware Identify bottlenecks Aplicaciones Measure Performance Combinación Make Changes 2
  • 3.
    Agenda Casos más Impactantes y sus Retos El Caso de la Servilleta … y la otra servilleta En qué te podemos ayudar 3
  • 4.
    Los números… VLDB Mission Critical HA/DR DW High OLTP Large U.S. Financial Large U.S. Financial Organization Organization Critical operations 100% uptime (2008) > 125K tx/second 100% uptime (2009) 180M incremental >1 peta-byte with > 1,000,000,000 tx/day 100% uptime (2010) fact rows/day < 50ms latency Centipede > peta-byte Mission Critical 7x24x365 Synchronous 490TB ≈ 1 trillion rows database > 4 TB Mirroring Solution >15B 9 data nodes > 30,000 DB tx/Second tx/yr >80GB daily growth Critical operations SAP | geo-cluster > 5 miles 70GB daily growth > 3,000 tx/Second >50 TB by end of 2010 with > 15,000 users No Data Loss | No Down Time <= 3s query response (80%) > 2B CLR calculations/day Critical operations Asynch Mirroring > 400 miles 700 million rows/day 12.4M users (2.7M regular) >90GB daily growth at > 2200 facilities < 60 sec. recovery Incremental growth > 23k batch requests/sec Mission Critical COMING SOON! 5TB Analysis Services data 4.4M concurrent users >10B rows in 1 table table > 1.9 billion rows (10+1 Clusters) 50TB federated environment 130M monthly users 4
  • 5.
    …traducido en Caracteristicas Necesidad Característica Versión SQL Server VLDB Particionado 2000 – 2012 Compresión 2005 – 2012 BD en Memoria 2013+ HA / Tier – 1 Hadron / AlwaysON 2008 – 2012 Utilizar los 2005 – 2012 secundarios DW Scale Scale Out (2008) – 2012 FTDW, Vertipaq (2008) – 2012 5
  • 6.
    Scale Out –El Caso de la Servilleta Servidores Apps Usuarios Listener 6
  • 7.
    Scale Out –La otra Servilleta Protección y escalabilidad a nivel de grupos de bases de datos Mejora la Productividad y ROI Mejor Disponibilidad • Multi-database distribuir la carga entre los secundarios , Reportings y backups Sin dependencia de aplicaciones
  • 8.
    Scale Out –Caso Práctico Availability Group (AG) • Grupo de bases de datos que gestionamos conjuntamente (e.g. failover conjunto) • Definimos la replicación conjuntamente A A Availability Replica (AR) A • Copia fisica del conjunto de bases de A datos definidas en el Availability Group Nodo Primario • Permite escritura y lectura Nodo Secundario Synch. Data Application A Movement A Secondary Replica • Permite conexiones solo lectura • Es la copia de backup de los Asynch. Data datos A Application A Movement Primary Replica
  • 9.
    Scale Out –SQL Server 2012 PDW Dimensiones: Replicadas TD PD SF 01-08 Time Dim Product Dim SD MD Date Dim ID Prod Dim ID Calendar Year Prod Category Calendar Qtr Prod Sub Cat TD PD Calendar Mo Prod Desc SF Calendar Day 09-16 SD MD Sales Facts TD PD SF Date Dim ID 17-24 SD MD Store Dim ID Prod Dim ID Mktg Camp Id Qty Sold Dollars Sold TD PD SF 25-32 Store Dim Mktg Campaign SD MD Dim Store Dim ID Mktg Camp ID Store Name Camp Name TD PD Store Mgr Camp Mgr SF Store Size Camp Start 33-40 SD MD Camp End
  • 10.
    Scale Out –SQL Server 2012 PDW Hechos: Distribuidos TD PD SF 01-08 Time Dim Product Dim SD MD Date Dim ID Prod Dim ID Calendar Year Prod Category Calendar Qtr Prod Sub Cat TD PD Calendar Mo Prod Desc SF Calendar Day 09-16 SD MD Sales Facts TD PD SF Date Dim ID 17-24 SD MD Store Dim ID Prod Dim ID Mktg Camp Id Qty Sold Dollars Sold TD PD SF 25-32 Store Dim Mktg Campaign SD MD Dim Store Dim ID Mktg Camp ID Store Name Camp Name TD PD Store Mgr Camp Mgr SF Store Size Camp Start 33-40 SD MD Camp End
  • 11.
    Compresión / AlmacenamientoColumnar Disponible en SQL 2012 y PDW Almacenamiento Tradicional … (row store) C1 C2 C3 C4 C5 C6 Páginas Almacenamiento Columnar VertiPaq
  • 12.
    Almacenamiento Columnar –Menos E/S Disponible en SQL 2012 y PDW SELECT key2, key3, SUM (measure1) Ventas • Se recupera sólo las columnas FROM tabla necesarias GROUP BY key2, key3; • Datos comprimidos • Menos E/S key1 key4 key5 key6 • Mejor ratio de acierto en caché -- -- columnstore index -- CREATE COLUMNSTORE INDEX idx_cs_fact ON dbo.Fact ( key1, key2, key3, key4, key5, key6, key7, key8, measure1, measure2, measure3); key2 key3
  • 14.
    Tecnología en Memoria ProyectoHeckaton • Objetivo  cuando el hardware no da más >= 15.000 reqs/sec • Soporte Completo ACID Tablas en Memoria SPs en Memoria
  • 15.
    Repaso de losnúmeros… VLDB Mission Critical HA/DR DW High OLTP Large U.S. Financial Large U.S. Financial Organization Organization Critical operations 100% uptime (2008) > 125K tx/second 100% uptime (2009) 180M incremental >1 peta-byte with > 1,000,000,000 tx/day 100% uptime (2010) fact rows/day < 50ms latency Centipede > peta-byte Mission Critical 7x24x365 Synchronous 490TB ≈ 1 trillion rows database > 4 TB Mirroring Solution >15B 9 data nodes > 30,000 DB tx/Second tx/yr >80GB daily growth Critical operations SAP | geo-cluster > 5 miles 70GB daily growth > 3,000 tx/Second >50 TB by end of 2010 with > 15,000 users No Data Loss | No Down Time <= 3s query response (80%) > 2B CLR calculations/day Critical operations Asynch Mirroring > 400 miles 700 million rows/day 12.4M users (2.7M regular) >90GB daily growth at > 2200 facilities < 60 sec. recovery Incremental growth > 23k batch requests/sec Mission Critical COMING SOON! 5TB Analysis Services data 4.4M concurrent users >10B rows in 1 table table > 1.9 billion rows (10+1 Clusters) 50TB federated environment 130M monthly users 15
  • 16.
    Qué proponemos paraacercarte a esos números Baseline Identify bottlenecks Measure Performance Make Changes
  • 17.
    4 Medidas • Sintéticas • Unitarias • Concurrencia • Vida Real “Cuando quieres realmente una cosa, todo el Universo conspira para ayudarte a conseguirla” Autor: Tú (con permiso de Paulo Coelho)
  • 18.
    Medidas Sintéticas • Recursos: Arquitecturas de Referencia FTDW • Herramientas: Fabricantes de hardware y software (SQLIO, IOMeter) • Busca los límites • No es Barato
  • 19.
    Pruebas Unitarias • Funcionales del software Visual Studio, Telerik, Nunit, xUnit, Pex: MS Research • Las cosas no van mal • …pero pueden ir
  • 20.
    Pruebas de Concurrencia • Cómo se comporta el software con otros al lado ERPs, CRMs, Transaccionales, Analíticos, Reporting, … • Analizar (S y H) Profilers PerfMon • Concluir • Medidas
  • 21.
    Vida Real • Seguir midiendo Tools • Entender la realidad Cruzar datos • Reaccionar rápido Proactivo
  • 22.
    Pinceladas de Casosde Estudio • Replicación para mejorar rendimiento • Migraciones • Rápidas • Seguras • Escalables © SolidQ 2013 22
  • 23.
    Usando Replicación deDatos para mejorar Rendimiento © SolidQ 2013 23
  • 24.
    Migración a 2008Muy Rápida © SolidQ 2013 24
  • 25.
    Migraciones Medidas ySeguras… © SolidQ 2013 25
  • 26.
    … en SistemasSeguros … © SolidQ 2013 26
  • 27.
    … y Escalablesy con Fast Track © SolidQ 2013 27
  • 28.
    Resumen • Los númerosestán ahí • Ayudan a asustar fantasmas • Outside – In • Comprende lo que ves fuera y ajústalo a tu Organización © SolidQ 2013 28
  • 29.
  • 30.
    Agenda 9:30: 10:00 Una nueva plataforma de gestión de la información: SQL Server 2012 10:00 – 11:00 ¿Sabes hasta dónde puede llegar SQL Server? 11:00 – 11:30 Coffee – Break 11:30 – 12:15 Enterprise Information Management: Jugando con SSIS, DQS y MDS 12:15- 13:00 ¿Cómo de Big son tus datos?: HDInsight © SolidQ 2013 30
  • 31.
    Créditos imágenes Túneles deviento http://www.rectademeta.com/primer-tunel-de-viento-en-espana.html http://angelesenlacabeza.blogspot.com.es/2012/10/tuneles-de-viento-ese-gran-desconocido.html http://www.autobild.es/reportajes/ferrari-una-factor%C3%AD-de-sue%C3%B1os Entrenamientos http://www.lasprovincias.es/20110203/deportes/motor/vida-kilometros-hora-201102030951.html http://www.elmundo.es/albumes/2013/02/08/delarosa_ferrari_estreno/index.tml Entrenos oficiales http://www.abc.es/20121102/deportes-f1/abci-libres1-abudabi-201211021156.html Carrera http://www.flickr.com/photos/97302051@N00/155461458/sizes/z/in/photostream/ http://beyondtheredline.org/formula-1-fernando-alonso-the-rain-master/ © SolidQ 2013 31
  • 32.
    Si quieres disfrutarde las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/ Síguenos: © SolidQ 2013 32