Red de conocimiento informático - Material del sitio web - ¿Cuáles son las bases de datos más utilizadas para big data?

¿Cuáles son las bases de datos más utilizadas para big data?

Por lo general, las bases de datos se dividen en bases de datos relacionales y bases de datos no relacionales. Las ventajas de las bases de datos relacionales ahora son insustituibles, como MySQL, SQL Server, Oracle, DB2, SyBase, Informix, PostgreSQL y bases de datos Access relativamente pequeñas, que admiten operaciones SQL complejas. y mecanismo de transacción, adecuado para escenarios de lectura y escritura de datos pequeños. Pero en la era del big data, la gente tiene más datos y los datos agregados por Internet de las cosas han excedido el rango de carga de las bases de datos relacionales.

En los primeros días de la era del big data, a medida que la concurrencia de solicitudes de datos se hacía cada vez mayor, los datos de sincronización de clústeres generalmente se usaban para procesar datos, es decir, la base de datos se dividía en muchas bases de datos pequeñas. y el contenido de los datos de cada base de datos se mantiene sin cambios. Ambos guardan copias de datos de la base de datos de origen y garantizan la coherencia de los datos a través de métodos sincrónicos o asincrónicos. Cada base de datos tiene un método de lectura y escritura específico. y la base de datos esclava es responsable de las operaciones de lectura. Según la complejidad del negocio, etc., el negocio se separa a nivel físico, pero este método todavía tiene ciertos problemas de presión de carga. A medida que los datos empresariales continúan expandiéndose, las cargas de lectura y escritura se separan a través de bases de datos y tablas. Sin embargo, esta implementación aún no es suficiente y el servidor de la base de datos debe expandirse continuamente.

Las bases de datos NoSQL se pueden dividir aproximadamente en cinco tipos.

1. Base de datos de familias de columnas: BigTable, HBase, Cassandra, Amazon SimpleDB, HadoopDB, etc. Aquí hay algunos.

(1) Cassandra: Cassandra es una base de datos de almacenamiento en columnas que admite la replicación de datos entre centros de datos. Su modelo de datos proporciona indexación de columnas, modificación de la estructura de registros, desnormalización, vistas materializadas y almacenamiento en caché integrado.

(2) HBase: Apache HBase se deriva de Bigtable de Google y es un modelo de almacenamiento de código abierto, distribuido y orientado a columnas. Proporciona la misma funcionalidad que Bigtable en Hadoop y HDFS.

(3)Amazon Simple DB: Amazon Simple DB es un almacenamiento de datos no relacional que alivia el trabajo de administración de bases de datos. Los desarrolladores utilizan servicios web para solicitar almacenamiento y consultar elementos de datos.

(4)Apache accum ulo: el almacenamiento de datos de valor clave distribuido ordenado de Apache accum ulo se basa en el diseño BigTable de Google y se basa en las tecnologías Apache Hadoop, Zookeeper y Thrift.

(5) Hypertable: Hypertable es una base de datos escalable de código abierto que imita a Bigtable y admite fragmentación.

(6)Azure Tables: el servicio Windows Azure Table Storage proporciona rendimiento NoSQL para aplicaciones que requieren grandes cantidades de almacenamiento de datos no estructurados. Las tablas pueden escalarse automáticamente a niveles de terabytes y se puede acceder a ellas a través de REST y API administradas.

2. Base de datos clave-valor: Redis, SimpleDB, Scalaris, Memcached, etc. Aquí hay algunos.

(1) riak: riak es una base de datos de valores clave distribuida de código abierto que admite la replicación de datos y la tolerancia a fallas. (2) Redis: Redis es un almacén de valores clave de código abierto. Admite replicación maestro-esclavo, transacciones, Pub/Sub, scripts Lua y también admite agregar límites de tiempo a las claves.

(3) Dynamo: Dynamo es un almacenamiento de datos distribuido de valor clave. Implementado directamente desde la base de datos de Amazon Dynamo utilizada en productos Amazon S3.

(4)Base de datos Oracle NoSQL: base de datos NoSQL de valores clave de Oracle. Admite transacciones ACID (Atomicidad, Consistencia, Durabilidad e Independencia) y JSON.

(5)Base de datos Oracle NoSQL: cuenta con respaldo de datos y sistema distribuido de almacenamiento clave-valor.

(6) Voldemort: existe una copia de seguridad de datos y un sistema distribuido de almacenamiento de valores-clave.

(7) Aerospike: la base de datos de Aerospike es un almacén de valores clave, admite una arquitectura de memoria híbrida y garantiza la integridad de los datos a través de una fuerte coherencia y una coherencia ajustable.

3. Base de datos de documentos: MongoDB, CouchDB, Perserve, Terrastore, RavenDB, etc. Éstos son algunos de ellos.

(1) MongoDB: código abierto, orientada a documentos y actualmente la base de datos NoSQL más popular.

(2) CouchDB: Apache CouchDB es una base de datos de documentos que utiliza JSON, consulta MapReduce mediante Javascript y API HTTP.

(3) Couchbase: Base de datos de documentos NoSQL basada en modelo JSON.

(4) RavenDB: RavenDB es una base de datos orientada a documentos basada en . Idioma de Internet.

(5) Lógica de etiquetas: Lógica de etiquetas No se utiliza ninguna base de datos SQL para almacenar información basada en XML y centrada en documentos, lo que admite esquemas flexibles.

4. Base de datos de gráficos: Secundaria, InfoGrid, OrientDB y GraphDB. Éstos son algunos de ellos.

(1) Nivel 2: el nivel 2 es una base de datos gráfica que admite transacciones ACID (atomicidad, independencia, persistencia y coherencia).

(2)InfiniteGraph: la base de datos de gráficos se utiliza para mantener y atravesar las relaciones entre objetos y admite el almacenamiento de datos distribuidos.

(3) Allegro Graph: Allegro Graph es una combinación de memoria y disco, proporciona alta escalabilidad y admite el razonamiento SPARQ, RDFS++ y Prolog.

5. Cuadrícula de datos de memoria: Hazelcast, Oracle Coherence, Terracotta BigMemorry, GemFire, Infinispan, GridGain, GigaSpaces, algunos de ellos se presentan brevemente a continuación.

(1) Hazelcast: Hazelcast CE es una plataforma de distribución de datos de código abierto que permite a los desarrolladores * * * compartir y dividir datos en un grupo de bases de datos.

(2) Coherencia de Oracle: la solución de cuadrícula de datos en memoria de Oracle proporciona acceso rápido a datos de uso común, la coherencia admite capacidades de procesamiento de transacciones y partición dinámica de datos.

(3)terra cotta big Memory: la solución de gestión de memoria distribuida de Terra Cotta. El producto incluye una interfaz Ehcache, una consola de administración Terracotta y un conector BigMemory-Hadoop.

(4) Gemfire: VMware VFabric Gemfire es una plataforma de gestión de datos distribuida y una plataforma de cuadrícula de datos distribuida que admite gestión, replicación, partición, identificación y enrutamiento de datos en memoria, y consultas continuas.

(5) InfiniSpan: InfiniSpan es un almacén de datos NoSQL de valor clave de código abierto basado en Java. Es una plataforma de nodos de datos distribuidos que admite arquitecturas transaccionales, de igual a igual y de cliente/servidor.

(6)GridGain: base de datos de valores clave SQL+NoSQL distribuida, orientada a objetos y basada en memoria. Admite transacciones ACID.

(7) Giga Spaces: la cuadrícula de datos en memoria de Giga Spaces puede servir como sistema de grabación de la aplicación y admitir varios escenarios de almacenamiento en caché.