Presentación de Eladio Rincón durante el SolidQ Business Analytics Day en Valencia (España) el pasado 13 de Marzo 2013.
- Casos más impactantes y sus retos
- El caso de la Servilleta... y la otra servilleta
- En qué te podemos ayudar
www.bisql.com
2. Factores que Limitan la 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 / Almacenamiento Columnar
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
13.
14. 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
15. 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
16. Qué proponemos para acercarte 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