El almacenamiento estructurado es el almacenamiento informático de datos estructurados , a menudo en forma de una base de datos distribuida . [1] Los programas informáticos formalmente conocido como sistemas de almacenamiento estructurado incluye Apache Cassandra , [2] Google 's Bigtable [3] y Apache HBase . [4]
Comparación
La siguiente es una comparación de sistemas de almacenamiento estructurados notables.
Nombre del proyecto | Tipo | Persistencia | Replicación | Alta disponibilidad | Actas | Conciencia de la localidad de rack | Lenguaje de implementación | Influencias, patrocinadores | Licencia |
---|---|---|---|---|---|---|---|---|---|
Aerospike | Base de datos NoSQL | Sí, DRAM híbrida y flash para persistencia | sí | Sí, distribuido a escala | sí | sí | C (pequeños fragmentos de lenguaje ensamblador) | Aerospike | AGPL v3 |
AllegroGraph | Base de datos de gráficos | sí | No, v5, 2010 | sí | sí | No | Lisp común | Franz Inc. | Propiedad |
Apache Ignite | Valor clave | Hacia y desde un almacenamiento persistente subyacente (por ejemplo, un RDBMS ) | sí | sí | sí | sí | Java | Apache , sistemas GridGain | Apache 2.0 |
Apache Jackrabbit | Valor clave y jerárquico y documento | sí | sí | sí | sí | probable | Java | Apache , Roy Fielding , software de día | Apache 2.0 |
Berkeley DB / Dbm 1.x | Valor clave | sí | No | No | No | No | C | vieja escuela | Varios |
Berkeley DB Sleepycat / Oracle Berkeley DB 5.x | Valor clave | sí | sí | sí | sí | No | C, C ++ o Java | dbm, Sleepycat / Oracle | Licencia Sleepycat doble similar a la GPL |
Apache Cassandra | Valor clave | sí | sí | Repartido | Parcial Solo es compatible con CAS (Check And Set) después de 2.1.1 y posteriores [5] [6] | sí | Java | Dynamo y Bigtable , Facebook / Digg / Rackspace | Apache 2.0 |
ClustrixDB | relacional escalable | sí | sí | Distribuido y replicado | sí | No | C | Clustrix | Propiedad |
Coherencia | Valor clave | Datos persistentes típicamente en un RDBMS | sí | sí | sí | sí | Java | Oracle (anteriormente Tangosol) | Propiedad |
Base de datos Oracle NoSQL | Valor clave | sí | sí | sí | sí | No | Java | Oráculo | Licencia AGPLv 3 o propietaria |
Couchbase | Documento | sí | sí | sí | Sí, con confirmaciones de dos fases [7] | sí | C ++ , Erlang , C , [8] Ir | CouchDB , Memcached | Apache 2.0 |
CouchDB | Documento | sí | sí | replicación + equilibrio de carga | La atomicidad es por documento, por instancia de CouchDB [9] | No | Erlang | Lotus Notes / Ubuntu, Mozilla, IBM | Apache 2.0 |
Motor de almacenamiento extensible (ESE / NT) | Documento o valor-clave | sí | No | No | sí | No | C ++, ensamblado | Microsoft | Propiedad |
FoundationDB | Valor-clave ordenado | sí | sí | sí | sí | Depende de la configuración del usuario | C ++ | FoundationDB | Propiedad |
GT.M | Valor clave | sí | sí | sí | sí | Depende de la configuración del usuario | C (pequeños fragmentos de lenguaje ensamblador) | FIS | AGPL v3 |
Nombre del proyecto | Tipo | Persistencia | Replicación | Alta disponibilidad | Actas | Conciencia de la localidad de rack | Lenguaje de implementación | Influencias, patrocinadores | Licencia |
Apache HBase | Valor clave | Si. Las actualizaciones de versiones principales requieren una nueva importación. | Sí HDFS , [10] Amazon S3 [11] o Amazon Elastic Block Store . [12] | Sí [13] | Sí [14] | Consulte HDFS, S3 o EBS. | Java | Mesa grande | Apache 2.0 |
Hipertabla | Valor clave | sí | Sí, con KosmosFS y Ceph | viene en 2.0 | próximo | Sí, con KosmosFS | C ++ | Mesa grande | GPL 2.0 |
Sistema de gestión de información IBM IMS también conocido como DB1 | Valor clave. Multi nivel | sí | sí | Sí, con HALDB | Sí, con IMS TM | Desconocido | Ensamblador | IBM desde 1966 | Propiedad |
Infinispan | Valor clave | sí | sí | sí | sí | sí | Java | sombrero rojo | Apache 2.0 |
Memcached | Valor clave | No | No | No | Solo parcial es compatible con CAS (comprobar y configurar, o comparar e intercambiar) [15] [16] | No | C | Six Apart / Couchbase / Fotolog / Facebook | Derechos de autor permisivos similares a BSD por Danga |
LevelDB | Valor-clave, Bigtable | sí | No | No | Las escrituras parciales múltiples se pueden combinar en una sola operación | No | C ++ | Nueva licencia BSD | |
LightningDB | Archivos de valor-clave, asignados en memoria | sí | No | No | Sí, ACID, MVCC | No | C | Symas | Licencia pública OpenLDAP |
MongoDB | Documento (JSON) | sí | sí | falla | Atomicidad parcial de un solo documento [17] | No | C ++ | 10gen | GNU AGPL v3.0 |
Neo4j | Base de datos de gráficos | sí | sí | sí | sí | No | Java | Neo Tecnología | GNU GPL v3.0 |
OrientDB | Multi-modelo (Gráfico-Documento-Objeto-Clave / Valor) | sí | Sí [18] | Sí [19] | Sí [20] | sí | Java | Tecnologías de Oriente | Apache 2.0 |
Redis | Valor clave | Si. Pero las últimas consultas se pueden perder. [21] | sí | Sí [22] | Sí [23] | No | Ansi-C | VMWare, Memcache | BSD |
Scylla | Valor clave | sí | sí | Distribuido y replicado [24] | No [25] | Desconocido | C ++ | Apache Cassandra | AGPL v3 |
SimpleDB (Amazon.com) | Documento y valor-clave | sí | Si (automatico) | sí | Desconocido | probable | Erlang | Amazon.com | Solo interno de Amazon |
Tarantool | Tuplas de dimensión libre con claves primarias y secundarias | Si. (Asincrónico) | sí | sí | sí | No | C, Lua [26] | Memcached, Mnesia, MySQL, Mail.ru | BSD |
Nombre del proyecto | Tipo | Persistencia | Replicación | Alta disponibilidad | Actas | Conciencia de la localidad de rack | Lenguaje de implementación | Influencias, patrocinadores | Licencia |
Ver también
- NoSQL
Referencias
- ^ Hamilton, James (3 de noviembre de 2009). "Perspectivas: una talla no sirve para todos" . Consultado el 13 de noviembre de 2009 .
- ^ Lakshman, Avinash; Malik, Prashant. "Cassandra - un sistema de almacenamiento estructurado descentralizado" (PDF) . Universidad de Cornell . Consultado el 13 de noviembre de 2009 . Cite journal requiere
|journal=
( ayuda ) - ^ Chang, Fay; Jeffrey Dean; Sanjay Ghemawat; Wilson C. Hsieh; Deborah A. Wallach; Mike Burrows; Tushar Chandra; Andrew Fikes; Robert E. Gruber. "Bigtable: un sistema de almacenamiento distribuido para datos estructurados" (PDF) . Google . Consultado el 13 de noviembre de 2009 . Cite journal requiere
|journal=
( ayuda ) - ^ Kellerman, Jim. "HBase: almacenamiento estructurado de datos dispersos para Hadoop" (PDF) . Consultado el 20 de febrero de 2016 .
- ^ java - Cassandra - soporte de transacciones
- ^ Transacciones ligeras
- ^ Proporcionar lógica transaccional
- ^ Damien Katz (8 de enero de 2013). "La eficacia irrazonable de C" . Consultado el 30 de septiembre de 2016 .
- ^ "¿Cómo utilizo las transacciones con CouchDB?" . Archivado desde el original el 16 de julio de 2012 . Consultado el 12 de julio de 2012 .
- ^ HBase: almacenamiento estructurado tipo Bigtable para Hadoop HDFS
- ^ HBase en EC2 [ enlace muerto permanente ]
- ^ HBase en EC2 usando volúmenes de EBS: lecciones aprendidas | Mis reflexiones de AWS
- ^ Hbase / MultipleMasters - Wiki de Hadoop
- ^ ÁCIDO en HBase
- ^ sql - ¿Memcache con transacciones? - Desbordamiento de pila
- ^ Memcached
- ^ Operaciones atómicas - MongoDB
- ^ "Replicación de OrientDB" . Archivado desde el original el 28 de diciembre de 2014 . Consultado el 8 de enero de 2015 .
- ^ "Ciclo de vida de la arquitectura distribuida de OrientDB" . Archivado desde el original el 19 de enero de 2015 . Consultado el 8 de enero de 2015 .
- ^ "Transacciones de OrientDB" . Archivado desde el original el 18 de enero de 2015 . Consultado el 8 de enero de 2015 .
- ^ Persistencia de Redis
- ^ alta disponibilidad - replicación maestro / esclavo de Redis - ¿punto único de falla? - Desbordamiento de pila
- ^ Transacciones - Redis
- ^ "Arquitectura de Scylla - tolerancia a fallas" . Scylla Docs . Consultado el 7 de julio de 2018 .
- ^ "Compatibilidad con Scylla Apache Cassandra" . Scylla Docs . Consultado el 7 de julio de 2018 .
- ^ https://github.com/tarantool/tarantool