DB2 pureScale

Transcripción

DB2 pureScale
Session:
DB2 pureScale
Luis Reina
IBM
16/11/2010
1
Session
DB2 pureScale
Luis Reina
IBM
[email protected]
2
AGENDA
Arquitectura de DB2 pureScale
Conceptos
Escalabilidad
Disponibilidad
Balanceo de Carga
Facilidad de Instalación
3
¿Qué es DB2 pureScale?
Lleva la tecnología del Sysplex del
System Z a entorno distribuidos.
Multiples servidores se muestran como un
única base de datos.
Permite Añadir o Quitar servidores según
las necesidades de negocio.
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 pureSacle
permanece ejecutándose.
4
Objetivos de DB2 pureScale
• Capacidad iIimitada
– Empezar pequeño
– Facilidad de crecimiento
• Transparente a las Aplicaciones
– Evita el riesgo y el coste de ajustar las
aplicacicaciones a las topología de la base
de datos.
• Disponibilidad Continua
(Continuous Availability)
– Mantener el nivel de servicio tanto con
eventos planificados como no planificados.
5
Arquitectura de DB2 pureScale
Unica base de datos
Balanceo Automático de Carga
Miembros de DB2:
- Cluster Services
- DB2 Engine
CF
CS
DB2 Engine
CS
Log
DB2 Engine
CS
DB2 Engine
CF
CS
Log
Log
CF
Coupling Facility
- Group Bufferpool
- Global Lock Manager
InfiniBand
RDMA
Base de
Datos (Datos
compartidos)
6
Paradas Planificadas
Application Servers /
DB2 Clients
Failover
transparente a
SW Maintenance
las aplicaciones
Identify
Continuous
HW
Maintenance
Identify
Drain
Bring
Drain
Bring
Availability
Do
Member
Do
Member
node
Member
node
Member
Maintenance
Server2
Server1
Log
Server3
Log
Log
Maintenance
back
Administration
back
Reconexión
online
online
automática de los
clientes
Shared
Data
7
Paradas No Planificadas
Disponibilidad Maximizada
Application Servers /
DB2 Clients
Datos en Lectura no se
bloquean
tx
tx
tx
Sólo se bloquean los datos
modificados en vuelo
Las aplicaciones no tienen
que reconectarse
Database
member failure
Server1
Server4
Server3
Server2
Log
Log
Log
Coupling
Facility
Log
Coupling
Facility
Shared
Data
% of Data Available
IB
Only data in-flight
updates locked during
recovery
100
50
Time (~seconds)
8
CONCEPTOS
9
¿Qué es un Miembro de DB2 pureScale?
• Un motor DB2 (DB2 engine)
– i.e. un proceso db2sysc y sus
threads.
• Los miembros comparten los
datos
Member 0
db2sysc process
db2 agents & other
threads
– Todos os miembros acceden a la
misma base de datos
– Data Sharing
• Cada miembro tiene su propio:
– Bufferpools
– Regiones de memoria
– Ficheros de logs
• Members are logical.
Can have …
– 1 per machine or LPAR
(recommended)
– >1 per machine or LPAR (not
recommended)
Member 1
db2sysc process
db2 agents & other
threads
log buffer,
dbheap, &
other heaps
log buffer,
dbheap, &
other heaps
bufferpool(s)
bufferpool(s)
Log
Log
Shared database
(Single database partition)
10
¿Qué es la Coupling Facility?
•
Tecnología SW que se encarga
del Buffer y Bloqueos
globales.
–
–
•
Derivada del Parallel Sysplex de
System z y de su tecnología de
Coupling Facility
Basada en Software
Group Bufferpool (GBP)
Global Lock Management (GLM)
Shared Communication Area (SCA)
Los Miembros duplexan el
GBP, GLM, SCA a las dos CF
la primaria y la sencundaria:
–
–
–
Síncronamente.
Duplexación es opcional (pero
recomendada).
Se establece automáticamente por
defecto.
db2 agents & other
threads
log buffer,
dbheap, &
other heaps
log buffer,
dbheap, &
other heaps
Servicios proporcionados:
–
–
–
•
db2 agents & other
threads
bufferpool(s)
bufferpool(s)
Primary
Log
Log
GBP GLM SCA
Secondary
Shared database
(Single database partition)
11
¿Para qué sirve el Global Bufferpool?
GBP acts as fast disk cache
–
–
Member 2
GBP includes a “Page Registry”
–
–
•
Member 1
Keeps track of what pages are buffered
in each member and at what memory
address
Used for fast invalidation of such pages
when they are written to the GBP
ad
Re
e
–
DB2 “forces” (writes) updated pages to
GBP at COMMIT (or before)
GBP synchronously invalidates any
copies of such pages on other members
– New references to the page
on other members will
retrieve new copy from GBP
– In-progress references to
page can continue
g
Pa
–
bufferpool(s)
ite
Wr
Force-at-Commit (FAC) protocol
ensures coherent access to data
across members
bufferpool(s)
ile
nt”
Inv
ali
da
te
•
Dirty pages stored in GBP, then later,
written to disk
Provides fast retrieval of such pages
when needed by other members
ge
Pa
“S
•
Client B :
Update T1 set C1=X
where C2=Y
Commit
Client A :
Select from T1
Client C :
where C2=Y
Select from T1
where C2=Y
GBP
GLM
SCA
Page
Registry
M1 M2
12
¿Para qué sirve el GLM?
Grants locks to members upon
request
–
–
If not already held by another member,
or held in a compatible mode
Which member has what lock, in what
mode
Also - interest list of pending lock
requests for each lock
ele
ad
Re
e
ase
g
Pa
Loc
kR
ite
Wr
–
When a member owns a lock, it may
grant further, locally
“Lock Avoidance” : DB2 avoids lock
requests when log sequence number
in page header indicates no update on
the page could be uncommitted
q
Re
–
ck
Notes
Lo
Via asynchronous notification
X
Grants pending lock requests
when available
–
•
Member 2
Maintains global lock state
–
•
Member 1
len
t”
Inv
ali
da
te
•
Client B :
Update T1 set C1=X
where C2=Y
Commit
ge
Pa
S
L
k
oc
q
Re
“S
i
•
Client A :
Select from T1
Client C :
where C2=Y
Select from T1
where C2=Y
GBP
GLM
SCA
R32
R33
R33
Page
M1-X
M2-S
Registry
M1 M2
R34
13
Las Claves de la Escalabilidad y
Disponibilidad
•
Coupling Facility (CF)
– DB2 mantiene un lugar para buscar información de bloqueo y páginas compartidas.
Member 1
Member 1
Member 1
CF
Group
Buffer Pool
Global Lock
Manager
•
Remote Direct Memory Access (RDMA)
– Comunicación entre servidores (microsegundos)
– Sin gastar CPU en el servidor destino
– Sin context switiching, sin interrupción sin llamas a sockets
14
Ejemplo de uso RDMA I
1.
•
•
2.
•
•
•
•
El agente en el Miembro 1 escribe directamente a la memoria del CF con:
El numero de página que quiere leer
El slot en el Buffer pool donde quiere fijar la página
El CF responde escribiendo directamente a la memoria del Miembro 1:
Indicando que la página no fue encontrada o
Con la página solicitada.
El tiempo total de principio a fin para el RAR medido en microsegundos
Las llamadas son muy rápidas; es posible que el agente aún esté en el CPU, listo para recibir la respuesta
Miembro 1
db2agent
1, No
Eaton,
lo 10210,
tengo,SW
2, Smith, 10111, NE
obténgalo del
3, Jones, 11251, NW
disco
RDMA:
Solicitud de grabación
RDMA:
Respuesta de grabación
CF
Hebra CF
Quiero la página 501.
Poner en slot 42
de mi buffer pool.
Mucho más escalable, no necesita localidad de datos
15
Ejemplo de uso RDMA II
Deep RDMA exploitation over
low latency fabric
–
•
Silent Invalidation
–
–
RDMA and dedicated threads enable
read page operations in
~10s of microseconds
Lock Mgr
ge
pa
Hot pages available without
disk I/O from GBP memory
Lock Mgr
Buffer Mgr
w
Ne
–
Informs members of page updates
requires no CPU cycles on those
members
No interrupt or other message
processing required
Increasingly important as cluster
grows
Lock Mgr
k?
loc
is
th
e
e.
ar
av
u
Ih
yo
n
re
Ca
e
he
ag
p,
im
Yu
–
•
Enables round-trip response time
~10-15 microseconds
Lock Mgr
Re
ad
Pa
ge
•
GBP
GLM
SCA
16
ESCALABILIDAD
17
Prueba de Escalabilidad
• Prueba con carga de trabajo tipo Web Commerce.
– La mayoría de la carga es de lectura, pero no
únicamente de lectura.
• No dejar que las aplicaciones tengan conocimiento
específico del clúster.
– Sin direccionamiento de transacciones a los
miembros.
– Las transacciones obtienen acceso a filas
aleatoriamente .
– Tenemos que demostrar escalabilidad transparente de
aplicaciones.
• Más de 100 miembros.
18
Resultados
Número de Miembros en el Clúster
19
Ejemplo de Escalabilidad OLTP
• Se utiliza una carga de trabajo con más
escritura
•
•
1 transacción de escritura para cada 4 de lectura
Ésta es una típica proporción de lectura/escritura de cargas de trabajo OLTP
• La aplicación sigue sin conocimiento del
clúster
•
•
Sin direccionamiento de transacciones a los miembros
Demostrar escalabilidad transparente de la aplicación
• Sistema Redundante
•
Utilizando 14 sistemas p550 con 8cores incluyendo PowerHA pureScale™ duplex
• Escalabilidad es superior al 90%
20
Escalabilidad Relativa
Resultados OLTP
Numero de Miembros en el Clúster
21
DISPONIBILIDAD
22
Mantenimiento del Sistema
•
Objetivo: Permitir a los
DBAs realizar
mantenimiento del
sistema sin necesidad de
necesitar una ventana.
•
Procedimiento:
1.
2.
3.
4.
Drain (aka Quiesce)
Remove & Maintain
Re-integrate
Repeat until done
Single Database View
DB2
Log
DB2
Log
DB2
Log
DB2
Log
23
Fallo Software de 1 miembro
(arranque en el mismo servidor)
•
•
Fallo de un Miembro
Los servicios de clúster de DB2 detectan automáticamente el
fallo del miembro
•
•
•
Clientes
Informa a otros miembros y CFs
Comienza el rearranque automático del miembro en el mismo host
(u otro remoto si es necesario).
El rearranque del miembro es como un crash recovery, pero
mucho mas rápido.
•
•
Vista de una sola Base de Datos
Redo es limitado a transacciones en vuelo.
Beneficios del uso del caché de pagina en la CF.
•
El cliente es redirigido transparentemente a miembros “sanos”
del cluster.
•
Los otros miembros están completamente disponibles todo el
tiempo “Online Failover”
•
•
•
DB2
CS
CF mantiene los bloqueos de actualizaciones adquiridas por el
miembro que ha caído.
Otros miembros pueden continuar leyendo y actualizando los datos
no bloqueados por el miembro caído.
Rearranque del Miembro termina
•
kill -9
Los bloqueos son liberados y todos los datos están totalmente
disponibles.
Log
DB2
CS
Log
DB2
CS
Record de
Anotaciones
Cronológica
s
Log
CF Secundario
Páginas
Log
CF
CS
CF
CS
Páginas Actualizadas
Bloqueos Globales
DB2
CS
Datos Compartidos
Páginas Actualizadas
Bloqueos Globales
CF Primario
24
Fallo Hardware de 1 miembro
(arranque en otro miembro)
• Power cord tripped over accidentally
Clients
• DB2 Cluster Services looses
heartbeat and declares member
down
•
•
•
Informs other members & PowerHA pureScale servers
Fences member from logs and data
Initiates automated member restart on another (“guest”) host
•
Member restart is like a database crash recovery in a single system
database, but is much faster
•
Using reduced, and pre-allocated memory model
•
•
Redo limited to inflight transactions (due to FAC)
Benefits from page cache in PowerHA pureScale
Single Database View
• In the mean-time, client connections
are automatically re-routed to
healthy members
•
•
Based on least load (by default), or,
Pre-designated failover member
•
DB2
CS
Fe
nc
e
DB2
Log
Log
Log
Pa
CS
Updated Pages
Global Locks
Secondary
Log
s
• Member restart completes
DB2
CS
ec
R
Primary retains update locks held by member at the time of failure
Other members can continue to read and update data not locked for write
access by failed member
DB2
CS
g
Lo
• Other members remain fully
available throughout – “Online
Failover”
•
•
DB2
CS
Shared Data
ge
s
CS
Updated Pages
Global Locks
Primary
Retained locks released and all data fully available
25
Fallo Hardware de 1 miembro
(Reintegración)
Clients
• Power restored and system rebooted
Single Database View
• DB2 Cluster Services automatically
detects system availability
•
•
•
Informs other members and PowerHA pureScale servers
Removes fence
Brings up member on home host
DB2
CS
DB2
CS
DB2
CS
DB2
CS
DB2
• Client connections automatically rerouted back to member
Log
Log
Log
CS
CS
Updated Pages
Global Locks
Secondary
Log
Shared Data
Updated Pages
Global Locks
Primary
26
Fallo de la Coupling Facility Primaria
• Power cord tripped over
accidentally
Clients
• DB2 Cluster Services looses
heartbeat and declares primary
down
•
•
•
Single Database View
Informs members and secondary
PowerHA pureScale service momentarily blocked
All other database activity proceeds normally
•
Eg. accessing pages in bufferpool, existing locks, sorting,
aggregation, etc
DB2
CS
• Members send missing data to
secondary
•
DB2
CS
DB2
CS
Eg. read locks
• Secondary becomes primary
•
•
DB2
CS
PowerHA pureScale service continues where it left off
No errors are returned to DB2 members
Log
Log
Log
CS
CS
Updated Pages
Global Locks
Secondary
Primary
Log
Shared Data
Updated Pages
Global Locks
Primary
27
Fallo de la Coupling Facility Primaria
(reintegración)
Clients
• Power restored and system rebooted
Single Database View
• DB2 Cluster Services
automatically detects system
availability
•
Informs members and primary
• New system assumes
secondary role in ‘catchup’
state
•
•
•
DB2
CS
Members resume duplexing
Members asynchronously send lock and other state
information to secondary
Members asynchronously castout pages from primary to disk
Log
DB2
CS
Log
DB2
CS
Log
•
Secondary in peer state (contains same lock and page state
as primary)
Updated Pages
Global Locks
Primary
Log
CS
CS
• Catchup complete
DB2
CS
Shared Data
Updated Pages
Global Locks
Secondary
(Catchup
(Peer state)
state)
28
Fallo de la Coupling Facility Secundaria
Clients
• Power cord tripped over
accidentally
Single Database View
• DB2 Cluster Services
looses heartbeat and
declares secondary down
•
•
Informs members and primary
Members stop duplexing
• (Re-integration similar to
previous chart)
DB2
CS
Log
DB2
CS
Log
DB2
CS
Log
Secondary
Log
CS
CS
Updated Pages
Global Locks
DB2
CS
Shared Data
Updated Pages
Global Locks
Primary
29
Resumen: 1 sólo Fallo
¿Los Otros
Miembros
siguen online?
Tipo de Fallo
Member
CF
DB2 DB2 DB2 DB2
CF
Secondary
PowerHA
pureScale
Comentario
DB2 DB2 DB2 DB2
CF
Primary
PowerHA
pureScale
¿Automático y
Transparente?
CF
DB2 DB2 DB2 DB2
CF
CF
Las conexiones al miembro
fallido se mueven
transparentemente a otro
miembro.
Only data that was inflight on failed member
remains locked temporarily.
Momentary “blip” in PowerHA
pureScale service.
Transparent to members
(In-flight PowerHA pureScale
requests just take a few more
seconds before completing
normally.)
.
Momentary “blip” in PowerHA
pureScale service.
Transparent to members
(In-flight PowerHA pureScale
requests just take a few more
seconds before completing
normally.)
.
30
Múltiples Fallos
Tipo de Fallo
¿Los Otros
Miembros
siguen online?
¿Automático y
Transparente?
Only data that was inflight on failed members
remains locked temporarily.
DB2 DB2 DB2 DB2
CF
CF
Comentario
Las conexiones al miembro
fallido se mueven
transparentemente a otro
miembro.
Recoveries done in parallel.
.
Same as member failure.
DB2 DB2 DB2 DB2
CF
CF
Las conexiones al miembro
fallido se mueven
transparentemente a otro
miembro.
Momentary, transparent, “blip”
in PowerHA pureScale service.
.
.
Same as member failure.
DB2 DB2 DB2 DB2
CF
CF
Momentary, transparent, “blip”
in PowerHA pureScale service.
Las conexiones al miembro
fallido se mueven
transparentemente a otro
miembro.
.
31
BALANCEO DE CARGA
32
Balanceo automático de Carga
•
Información de carga de los servidores para balancear automáticamente la
carga del cluster (como en System z sysplex)
•
Fallo de un miembro
•
Reintegración
Clients
Clients
33
Conexión por Afinidad (opcional)
• Allows you to target different
groups of clients or workloads to
different members in the cluster
•
•
Maintained after failover …
… and fallback
•
Consolidate separate workloads/applications on
same database infrastructure
Minimize total resource requirements for disjoint
workloads
App Servers App Servers App Servers App Servers
Group A
Group B
Group C
Group D
• Example use cases
•
• Easily configured through client
configuration
•
db2dsdriver.cfg file
34
FACILIDAD
DE INSTALACION Y USO
35
Una Solución Software Completa
• DB2 pureScale es una solución software completa
• Una única instalación instala y configura automáticamente
todos los componentes
• No requiere realizar scripts o configuracion para el cluster
36
Fichero db2nodes.cfg
Clients
Single Database View
db2nodes.cfg
host0
DB2
host1
DB2
host2
host3
DB2
DB2
0
1
2
3
4
5
host0
host1
host2
host3
host4
host5
0
0
0
0
0
0
host0ib
host1ib
host2ib
host3ib
host4ib
host5ib
MEMBER
MEMBER
MEMBER
MEMBER
CF
CF
host5
host4
Shared Data
37
38
38

Documentos relacionados