1 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
ARQUITECTURAS DE DB2 LUW
Luis ReinaIBM Analytics@[email protected] de Julio de 2016
2 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
AGENDA
� Introducción� Arquitectura Shared Disk� Arquitectura Shared Nothing� Dream Database
3 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
INTRODUCCIÓN
4 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Multiples Arquitecturas Posibles de DB2
SMPMassively Parallel Processing
Plataformas : Linux, Aix, Windows, HP/UX, Solaris
Data Sharing Shared NothingMáquina Unica
5 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Dentro de las distintas Arquitecturas: Distintas configuraciones de DB2
SMPMassively Parallel Processing
Data SharingShared Nothing
DB2 BLU ó
DB2 «estándar»
Máquina Unica
DB2 «estándar»:DB2 pureScale
DB2 BLUó
DB2 «estandar»:DB2 DPF
6 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
¿Qué es BLU?
Super analyticsSuper easy
DB2WITH BLUACCELERATION
• Almacenamiento Columnar• Muy apropiado para Sistemas Analíticos.
• Nueva Inteligencia para explotar al máximo el hardware disponible, como por ejemplo
• Core Friendly: Usar gran cantidad de cores con una sola consulta SQL.
• SIMD: Procesar múltiples datos con una sola instrucción.
• Nuevos algoritmos de Acceso a la Memoria
• Optimización de la Entrada/Salida
• Sigue siendo DB2 • Mismo Interfaces (APIs)
• Mismo SQL
• Misma utilidades
• Convivencia tablas de fila y de columna en la misma base de datos
• Super Sencillo
7 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
¿Qué aporta BLU?
• Compresión:• Entre 7 a 10 veces!
• 1TB de datos se quedan al cargarlos en
BLU en unos 100GB
• Rendimiento de Consultas.
• Super Sencillo.10x-30x
improvement is common
8 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
DB2 with BLU Design and Tuning
• Create Table• Load data
Database Design and Tuning• Decide on partition strategies• Select Compression Strategy• Create Table• Load data• Create Auxiliary Performance Structures
• Materialized views• Create indexes
• B+ indexes• Bitmap indexes
• Tune memory• Tune I/O• Add Optimizer hints• Statistics collection
Super Sencillo
Repeat
9 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Arquitectura Shared DiskDB2 pureScale
10 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Lleva la tecnología del Sysplex del System Z
a entorno distribuidos.
Proporciona niveles de Escalabilidad y
Disponibilidad que no existían en platorma
distribuida.
Los usuarios nunca saben cuando uno o
más miembros fallan ya que DB2 pureScale
permanece ejecutándose.
Multiples servidores se muestran como un
única base de datos.
Permite Añadir o Quitar servidores según
las necesidades de negocio.
¿Qué es DB2 pureScale?
11 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Objetivos de DB2 pureScale
� Capacidad iIimitada– Empezar pequeño– Facilidad de crecimiento
� Disponibilidad Continua (Continuous Availability)
– Mantener el nivel de servicio tanto con eventos planificados como no planificados.
� Transparente a las Aplicaciones– Evita el riesgo y el coste de ajustar las
aplicacicaciones a las topología de la base de datos.
12 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Arquitectura de DB2 pureScale
Coupling Facility- Group Bufferpool
- Global Lock Manager
Unica base de datos Balanceo Automático de Carga
Base de Datos (Datos compartidos)
InfiniBand10GB ROCESOCKETSLog LogLog
Miembros de DB2:- Cluster Services
- DB2 Engine
CF
CSCS
CF
CS
CF
CS
DB2 Engine DB2 Engine DB2 Engine
CSCS
RDMA
13 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Server1 Server3
Application Servers / DB2 Clients
Server2
Shared Data
Log Log Log
Identify MemberDrain
MemberDo Maintenance
Bring node back online
Failovertransparente a las aplicaciones
Continuous Availability
Reconexión automática de los clientes
Paradas Planificadas
14 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
txtxtx
Server1 Server3
Servidor de Aplicaciones Clientes DB2
Server2
Datos Compartidos
Server4
Log Log Log
IB
Disponibilidad Maximizada
Datos en Lectura no se bloquean
Sólo se bloquean los datos
modificados en vuelo
Las aplicaciones no tienen que reconectarse
tx
Log
Couping
FacilityCouping
Facility
% o
f D
ata
Ava
ilab
le
Time (~seconds)
Only data in-flight updates
locked during recovery
Database member
failure
100
50
Paradas No Planificadas
15 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Arquitectura Shared Nothing
16 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Arquitectura “Share Nothing”
select … from table
TablesTables
FCM network
Database
Partition 1 Partition 2 Partition 3 Partition n
Engine Engine Engine Engine
…
Modelo de base de datos particionada
� Base de datos divida en múltiples particiones
� Cada partición puede correr en un nodo (máquina) distinta.
� Cada servidor de partición tiene recursos dedicados.
� Existe un Procesamiento Paralelo en todas las particiones.
� Las aplicaciones y los usuarios ven una imagen única.
data data data datalogs logs logs logs
17 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Procesamiento Paralelo de Consultas
table_a
CatalogCatalog
table_b
Part1Part1 Part2Part2 Part3Part3 PartNPartN
Coord
Read A Read B
Join
Sum
Optimize
Getstatistics
A B
Join
Sum
A B
Join
Sum
A B
Join
Sum
A B
Join
Sum
sum=10 sum=12 sum=13 sum=11
connectselect sum(x) from table_a,table_b where a = b
46
Agent Agent Agent Agent
sum(…)
18 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
IBM Confidential
Partición de
Base de Datos
CP
U
CP
U
CP
U
CP
U
Aplicación de Usuario
SELECT * FROM T1,T2 WHERE ...
Paralelismo Intra-Partition
�Consulta Paralelo
�Transaccion Paralela
�Load Paralelo
�Creación de Indice paralelo
�Backup y Restores Paralelo
�Reorg Paralelo
�I/O Paralelo
�Soporte de Fail-over
19 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
IBM Confidential
PARALELISMO INTRA-PARTICION + INTER PARTICION
20 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
IBM Confidential
DB2 Database
Partition 1 Partition 2 Partition 3
Table
HASH (trans_id)HASH (trans_id)DISTRIBUTE BY
Insert/Load
CREATE TABLE sales(col1, col2, col3, …)
DISTRIBUTE BY HASH (trans_id)
SALES
Trans_id Region Type Date_Sales ColX ColY …
1001 N H 2006 - -
1002 S L 2007 - -
1003 S L 2007 - -
1004 N H 2005 - -
¿Cómo se Particionan las Tablas?
21 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
IBM Confidential
Distriución Automatica por Hashing
0 1 2 3 4 5 6 7 … … 4094 4095
1 2 3 4 1 2 3 4 … …
5DB2 hash algorithm
Partition map
Partition1 Partition2 Partition3 Partition4
Hash key
TRANS_ID
000120
Indice
Partición
22 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
Dream Database
23 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
5 Key Characteristics
1. BLU performance, compression, time-to-value for Analytics and Reports
2. Comprehensive DR with HA
3. DPF Divide-and-Conquer Scale-out for virtually unlimited Scale (TBs to PBs)
4. BLU performance & compression for OLTP
5. pureScale virtually continuous availability (no catalog node, online failover, rolling updates, easy growth)
Query #1processing
Query #1
Query #1processing
Query #1processing
Hash partitionBLU Acceleration
Hash partitionBLU Acceleration
Hash partitionBLU Acceleration
CF
Local or SAN
“Soft” Affinitization
“Soft”Affinitization
“Soft” Affinitization
The Dream Database
24 © 2016 IBM Corporation
Meetup DB2 LUW - Madrid
CAFÉ!!