Bases de datos par clave-valor en un entorno de datos grande
Por el momento, la más simple de las bases de datos en un entorno de grandes datos NoSQL (no de sólo-SQL) son las que emplean el modelo par clave-valor (KVP). Bases de datos KVP no requieren un esquema (como RDBMS) y ofrecen una gran flexibilidad y escalabilidad.
Bases de datos KVP no ofrecen ACID (atomicidad, coherencia, aislamiento, durabilidad) capacidad y requieren ejecutores a pensar en la colocación de datos, replicación y tolerancia a fallos, ya que no se controlan expresamente por la propia tecnología. Bases de datos KVP no se escriben. Como resultado, la mayoría de los datos se almacenan como cadenas.
Llave | Valor |
---|---|
Color | Azul |
Libation | Cerveza |
Héroe | Militar |
Se trata de un conjunto muy simplificada de claves y valores. En una aplicación de datos grande, muchas personas van a tener ideas diferentes acerca de los colores, libaciones, y los héroes.
Llave | Valor |
---|---|
FacebookUser12345_Color | rojo |
TwitterUser67890_Color | Pardusco |
FoursquareUser45678_Libation | " Vino blanco " |
Google + User24356_Libation | " martini seco con un toque " |
LinkedInUser87654_Hero | " Top ventas intérprete " |
Como el número de usuarios aumenta, hacer el seguimiento de las teclas precisas y valores relacionados puede ser un reto. Si necesita hacer un seguimiento de las opiniones de millones de usuarios, el número de pares clave-valor asociado a ellos puede aumentar exponencialmente. Si no desea limitar las opciones de los valores, la representación de cadena genérica de KVP proporciona flexibilidad y facilidad de lectura.
Es posible que tenga algunos datos ayuda de organización adicionales en una base de datos clave-valor. La mayoría ofrecen la capacidad de teclas agregados (y sus valores relacionados) en una colección. Las colecciones pueden consistir en cualquier número de pares clave-valor y no requieren el control exclusivo de los elementos KVP individuales.
Una clave-valor de base de datos par de código abierto ampliamente utilizado se llama Riak. Es desarrollado y apoyado por una compañía llamada Basho Technologies y se pone a disposición bajo la licencia Apache Software v2.0.
Riak es una aplicación muy rápida y escalable de una base de datos clave-valor. Es compatible con un entorno de alto volumen con los datos que cambia rápidamente, ya que es ligero. Riak es particularmente eficaz en el análisis en tiempo real de la negociación de los servicios financieros. Usa " cubos " como un mecanismo de organización para las colecciones de claves y valores.
Implementaciones Riak son grupos de nodos físicos o virtuales dispuestas de un modo peer-to-peer. No existe un nodo principal, por lo que el clúster es resistente y altamente escalable. Todos los datos y las operaciones se distribuyen en todo el clúster. Racimo grande realizar agrupaciones mejores y más rápidas que con menos nodos. Comunicación en el clúster se implementa a través de un protocolo especial llamado chisme. El chisme almacena información de estado acerca de la información de clúster y acciones sobre los cubos.
Riak tiene muchas características y es parte de un ecosistema que consiste en lo siguiente:
Procesamiento en paralelo: Uso de MapReduce, Riak es compatible con una capacidad para descomponer y recomponer consultas a través del clúster para el análisis en tiempo real y computación.
Enlaces y enlace a pie: Riak puede ser construido para imitar una base de datos gráfica utilizando enlaces. Un enlace puede ser pensado como una conexión unidireccional entre pares clave-valor. Caminar (siguiente) los enlaces proporcionarán un mapa de relaciones entre pares clave-valor.
Buscar: Riak búsqueda tiene una capacidad de búsqueda de texto completo con tolerancia a fallos, distribuida. Cubos pueden ser indexados para la resolución rápida de valor para llaves.
Índices secundarios: Los desarrolladores pueden etiquetar valores con uno o más valores de campo clave. La aplicación puede consultar el índice y devolver una lista de claves coincidentes. Esto puede ser muy útil en implementaciones grandes datos porque la operación es atómica y apoyará comportamientos en tiempo real.
Implementaciones Riak son los más adecuados para
Los datos de usuario de las redes sociales, comunidades, o juegos
De alto volumen, la recopilación de datos ricos en medios de comunicación y almacenamiento
Capas de almacenamiento en caché para la conexión de las bases de datos NoSQL RDBMS y
Las aplicaciones móviles que requieren flexibilidad y fiabilidad