B2-T3 SGBD relacionales orientadas a objetos y NoSQL: características y componentes. Flashcards
¿Qué es el sharding?
Es el proceso por el cual se fragmenta una base de datos, en una o varias una partición horizontal de datos en una base de datos o motor de búsqueda. Cada fragmento se mantiene en una instancia de servidor de base de datos separada para distribuir la carga.
Algunos datos dentro de una base de datos permanecen presentes en todos los fragmentos, pero otros aparecen solo en un único fragmento.
¿Cuales son los principios de BASE?
-Basically Available: El sistema debe garantizar cierto nivel de disponibilidad
-Soft state: se prioriza la propagación de datos. Delegando el control de inconsistencias a elementos externos
-Eventually consistent: Este principio establece que con el tiempo el sistema convergerá a un estado coherente.
¿Que dice el Teorema CAP o conjetura de Weber?
Principio fundamental en el diseño de sistemas distribuidos.
Es imposible para un sistema de cómputo distribuido garantizar simultáneamente: la consistencia(Consistency) -disponibilidad(Availability) y la tolerancia al particionado (Partition Tolerance)
Consistencia
Todos los nodos ven la misma información
Disponibilidad
Toda petición tiene que recibir una respuesta
Tolerancia al particionado
El sistema debe seguir funcionando aunque haya fallos de comunicaciones
¿Qué gestores cumplen a la vez las condiciones de Consistencia y Disponibilidad?
Sistemas de BBDD relacionales (RDBMS)
¿Qué gestores cumplen a la vez las condiciones de Disponibilidad y Tolerancia al particionado?
-Riak
-Cassandra
-couchDB
-SimpleDB
-Dynamo
-Voldemort
¿Qué gestores cumplen a la vez las condiciones de Consistencia y Tolerancia al particionado ?
-HBase -MongoDB (topología Maestro/esclavo)
-Redis
-BigTable
BBDD de tipo Clave-Valor
Almacenan datos como pares de clave-valor. Son útiles para aplicaciones que necesitan rápidas búsquedas de claves.
Listado BBDD de tipo Clave-Valor
-Redis
-Riak
-Voldemort
-ArangoDB()
-Memcached
-DynamoDB()
-SimpleDB
BBDD de tipo Columnares
Almacenan datos en columnas en lugar de filas
Listado de BBDD de tipo Columnares
-Cassandra
-HBase
-ScyllaDB
-HyperTable
-BigTable
Hypertable
Fue un proyecto de software de código abierto para implementar un sistema de gestión de bases de datos inspirado en publicaciones sobre el diseño de Google ‘s Bigtable.
BigTable
Es un servicio de base de datos NoSQL de valores clave y columnas anchas totalmente administrado para grandes cargas de trabajo analíticas y operativas como parte del portafolio de Google Cloud.
Es distribuido, de alta eficiencia y propietario. Está construido sobre GFS (Google File System), Chubby Lock Service, y algunos otros servicios y programas de Google.
Apache HBase
Es un sistema gestor de base de datos distribuida no relacional de código abierto modelada a partir de Google BigTable y escrita en Java. Su desarrollo forma parte del proyecto Hadoop de la Fundación de Software Apache y se ejecuta sobre HDFS (el sistema de archivos distribuidos de Hadoop).