Un espacio de claves (o espacio de claves ) en un almacén de datos NoSQL es un objeto que mantiene unidas todas las familias de columnas de un diseño. [1] [2] Es la agrupación más externa de los datos en el almacén de datos. [3] Se parece al concepto de esquema de los sistemas de gestión de bases de datos relacionales . [4] Generalmente, hay un espacio de teclas por aplicación.
Estructura
Un espacio de claves puede contener familias de columnas o supercolumnas . Cada supercolumna contiene una o más familias de columnas y cada familia de columnas contiene al menos una columna. El espacio de claves es la mayor abstracción en un almacén de datos distribuido . Esto es fundamental para preservar la heurística estructural en la recuperación dinámica de datos. [5] Se integran múltiples algoritmos de protocolo de retransmisión en el marco simple. [6]
Comparación con sistemas de bases de datos relacionales
El espacio de claves tiene una importancia similar a la que tiene un esquema en una base de datos. Sin embargo, a diferencia del esquema, no estipula ninguna estructura concreta, como se conoce en el modelo entidad-relación utilizado ampliamente en los modelos de datos relacionales . Por ejemplo, el contenido del espacio de claves puede ser familias de columnas, cada una con un número diferente de columnas o incluso columnas diferentes. Entonces, las familias de columnas que de alguna manera se relacionan con el concepto de fila en las bases de datos relacionales no estipulan ninguna estructura fija. El único punto que es igual con un esquema es que también contiene una serie de "objetos", que son tablas en sistemas RDBMS y aquí familias de columnas o supercolumnas.
Por lo tanto, en los almacenes de datos distribuidos, toda la carga de manejar filas que incluso pueden cambiar de la actualización del almacén de datos a la actualización recae sobre los programadores.
Ejemplos de
Como ejemplo, mostramos varias familias de columnas en un espacio de claves. La CompareWith
palabra clave define cómo se realiza la comparación de columnas. En el ejemplo, se ha seleccionado el estándar UTF-8 . Otras formas de existir la comparación, como AsciiType
, BytesType
, LongType
, TimeUUIDType
.
Name = "DeliciousClone" > 0.01 CompareWith = "UTF8Type" Name = "Users" /> CompareWith = "UTF8Type" Name = "Bookmarks" /> UT CompareF8ith = " " Name = " Tags " /> CompareWith = " UTF8Type " Name = " UserTags " /> CompareWith = " UTF8Type " CompareSubcolumnsWith = " TimeUUIDType " ColumnType = " Super " Name = " UserBookmarks " />
Otro ejemplo muestra un modelo de datos de clonación de Twitter simplificado :
Name = "TwitterClone" > 0,01 CompareWith = "UTF8Type" Name = "Usuarios" /> CompareWith = "UTF8Type" Name = "UserAudits" /> CompareWith = "UTF8Type " CompareSubcolumnsWith = " TimeUUIDType " ColumnType = " Super " Name = " UserRelationships " /> CompareWith = " UTF8Type " Name = " Usernames " /> CompareWith = " UTF8Type " Name = " Status " /> CompareWith = "UTF8Type" Name = "StatusAudits" /> CompareWith = "UTF8Type" CompareSubcolumnsWith = "TimeUUIDType" ColumnType = "Super" Name = "StatusRelationships" />
Referencias
- ↑ Ronald Mathies (18 de marzo de 2010). "Instalación y uso de Apache Cassandra con Java Parte 2 (modelo de datos): Keyspaces" . http://www.sodeso.nl/ : Sodeso - Soluciones de desarrollo de software . Consultado el 28 de marzo de 2011 .
Los espacios de claves son bastante simples nuevamente, desde el punto de vista de RDBMS, puede comparar esto con su esquema, normalmente tiene uno por aplicación. Un espacio de claves contiene ColumnFamilies. Sin embargo, tenga en cuenta que no existe ninguna relación entre ColumnFamilies. Son simplemente contenedores separados.
- ^ "Descripción general: terminología / abreviaturas: espacio de teclas" . http://wiki.apache.org/cassandra/API : Cassandra Wiki . Consultado el 31 de marzo de 2011 .
[Un espacio de claves] Contiene varias familias de columnas.
- ^ Arin Sarkissian (23 de agosto de 2010). "¿WTF es una supercolumna? Una introducción al modelo de datos de Cassandra" . http://arin.me/blog/ : Blog de Arin Sarkissian. Archivado desde el original el 31 de diciembre de 2010 . Consultado el 25 de marzo de 2011 .
Un espacio de claves es la agrupación más externa de sus datos. Todos sus ColumnFamily van dentro de un espacio de claves. Su espacio de claves probablemente llevará el nombre de su aplicación.
- ^ Guy Harrison (23 de agosto de 2010). "Jugando con Cassandra y Oracle" . Terminología en NoSQL. http://guyharrison.squarespace.com/ : Web bits de Guy Harrison . Consultado el 25 de marzo de 2011 .
En Cassandra:
Puede ser confuso, ya que cada base de datos NoSQL usa términos de manera diferente entre sí, y todos usan términos de manera diferente a RDBMS.- Un espacio de claves es como un esquema
- ColumnFamily es más o menos como una mesa
- ^ Fagin; et al. (2009). "Hash extensible: un método de acceso rápido para archivos dinámicos". Transacciones ACM en sistemas de bases de datos . 41 (3): 315–344.
- ^ Fu; et al. "Problemas de seguridad y soluciones de los protocolos de administración de claves en la red de retransmisión de múltiples saltos". Transacciones de IEICE sobre comunicaciones . 94 (5): 1295–1302.