2. BASES DE DATOS
DISTRIBUIDAS
INTRODUCCIÓN
Los sistemas de almacenamiento distribuidos son un conjunto de bases de datos
que están repartidas de manera lógica por diferentes lugares geográficos.En
función de cómo se distribuye la información en los distintos nodos, se pueden
encontrar los siguientes tipos de bases de datos:
Centralizada
Replica
Particionada
Híbrida
Las bases de datos distribuidas suelen utilizar un modelo híbrido. Estos sistemas
almacenan la información de manera particionada entre los distintos nodos
generando además réplicas de los datos. Esto permite tener la información
disponible incluso tras fallo en alguno de los nodos.
3. TEOREMA DEL CAP
El Teorema del CAP aplica a ambientes distribuidos y fue referenciado por el
profesor Eric A. Brenere en el año 2000. Este teorema enuncia que en un esquema
de cómputo distribuido solo se pueden garantizar dos de las siguientes tres
características:
Consistencia
Consistency
Disponibilidad
Availability
Tolerancia a
particiones
Partition
Tolerance
CP: El sistema garantiza consistencia aún y cuando existan particiones
geográficas. Estos sistemas presentan problemas de disponibilidad en caso de
que un nodo falle (master node). Éste es elegido en dominios donde prevalece
la consistencia sobre la disponibilidad. Aquí podemos encontrar bases de datos
como Couchbase, Mongo DB, HBase, Redis o Paxos.
AP: La información estará siempre disponible incluso existiendo fallos en varios
de los nodos, pero puede existir información no consistente. En este tipo de
esquema prevalece la disponibilidad frente a la consistencia. Algunas bases de
datos con este esquema serían: CouchDB, Cassandra, Riak, etcétera.
CA: Sistema con alta disponibilidad y consistencia pero la información no estará
particionada. Aquí se pueden encontrar las bases de datos relacionales como
MySQL, Oracle, Postgre, MariaDB, etcétera.
Al solo poder seleccionar dos de las tres propiedades anteriores, los sistemas de
almacenamiento distribuido se dividen en:
4. Con la aparición de las nuevas bases de datos distribuidas, donde la consistencia
no siempre es una característica propia del sistema, ha surgido un nuevo tipo de
bases de datos denominado BASE. Este nuevo grupo tiene las siguientes
características:
ACID VS. BASE
Con la llegada de las primeras bases de datos relacionales apareció el acrónimo
ACID. Una base de datos cumple con la propiedad ACID cuando cumple con las
siguientes características:
Atomicidad
Atomicity
Aislamiento
Isolation
Durabilidad
DurabilityConsistency
Consistencia
Disponibilidad básica
Basic Availability
Estado suave
Soft-state
Consistencia eventual
Eventual consistency
Estas nuevas bases de datos BASE tienen la característica de ser sistemas donde
prevalece la alta disponibilidad del sistema frente a la consistencia de la
información (AP en el Teorema del CAP).
5. CONSISTENCIA EVENTUAL
La aparición de los nuevos sistemas de almacenamiento tipo BASE ha provocado
que la información sea eventualmente consistente. La consistencia eventual es una
propiedad que asegura que el sistema tenderá a ser consistente pero sin
especificar el cuándo. El «cuándo» se haga efectiva la consistencia, depende de
diversos factores como la velocidad de conexión, posición geográfica de los nodos,
etcétera. Aún no garantizándose la consistencia, un sistema eventualmente
consistente aparenta siempre ser consistente.
Las bases de datos distribuidas nacen para dar respuesta a la necesidad de las
empresas de almacenar una mayor cantidad de información y de mejorar la
eficiencia respecto a sistemas tradicionales. Estos sistemas permiten la
escalabilidad horizontal que se traduce en una reducción de costes al poder
adaptar el sistema a la cantidad de información almacenada, además de optimizar
el procesamiento de los datos.La aparición de estos sistemas en adición a que
muchos de ellos son desarrollos open-source, ha abierto un amplio mundo de
posibilidades, facilitando la aparición de nuevos productos que se adaptan cada
vez más a nuestras necesidades.
Para saber como se realizan las bases de datos
distribuidas en SQL Server ver el video:
https://www.youtube.com/watch?
v=8ubyGRUoLEM