Principales programas de bases de datos NoSQL de código abierto

NoSql, significa Not Only SQL, se refiere a la base de datos no relacional. La base de datos de próxima generación aborda principalmente varios puntos clave: no relacional, distribuida, de código abierto y escalable horizontalmente. La base de datos no relacional se ha desarrollado muy rápidamente debido a sus propias características. La base de datos NoSQL se creó para resolver los desafíos que plantean los múltiples tipos de datos de la recopilación de datos a gran escala, especialmente el problema de la aplicación de big data. También admite una replicación sencilla, API simples, coherencia final (no ACID) y datos de gran tamaño. Lo almacenamos nosotros con la mayor cantidad de valores-clave y, por supuesto, otros tipos de documentos, almacenes de columnas, bases de datos de gráficos, bases de datos XML, etc.. Estos son algunos de los principales programas de bases de datos NoSQL disponibles en la categoría de código abierto o gratuito.

Nota: Este artículo solo enumera los programas de bases de datos NoSQL disponibles en línea, no los hemos revisado, por lo que no podemos decir cuálesLa base de datos NoSQL es mejor para qué escenario.

Base de datos Oracle NoSQL

Oracle NoSQL Database es una base de datos de valores clave distribuida sin SQL de código abierto. Desarrollado por Oracle Corporation. En definitiva, se conoce como OND que utiliza el motor de almacenamiento de alta disponibilidad Oracle Berkeley DB Java Edition. Este programa de base de datos NoSQL de Oracle es un sistema cliente-servidor fragmentado y de notas fragmentadas que proporciona replicación de bases de datos de múltiples réplicas y un solo maestro. Se puede utilizar para proporcionar aplicaciones y servicios sensibles a la latencia adecuados para un gran volumen. Presenta escalabilidad horizontal, fragmentación y replicación; Alta disponibilidad y tolerancia a fallos; Equilibrio de carga transparente, configuración elástica, implementación multizona, formato de datos JSON, actualización continua en línea, transacciones compatibles con ACID y más. Tiene dos ediciones una es Oracle NoSQL Database Server Community Edition bajo Licencia Apache, Versión 2.0 y la otra es Enterprise Edition bajo Licencia Comercial Oracle

Para descargar y saber más sobre Oracle NoSQL Database (ODM) visite susitio web oficial.


MongoDB

MongoDB es una base de datos basada en almacenamiento de archivos distribuidos. Por el lenguaje escrito C++. Diseñado para proporcionar soluciones de almacenamiento de datos escalables y de alto rendimiento para aplicaciones web.

MongoDB es un producto entre una base de datos relacional y una base de datos no relacional. Es la base de datos más versátil y relacional en una base de datos no relacional. Admite la entrada de datos de manera muy flexible, el esquema es muy similar al formato JSON, por lo que puede almacenar tipos de datos más complejos. La característica más importante de Mongo es que admite un lenguaje de consulta muy potente. Su sintaxis es similar al lenguaje de consulta orientado a objetos. Puede realizar casi todas las funciones de consulta de tabla única de una base de datos relacional y también admite la indexación de datos. MongoDB está disponible en tres versiones: Community (gratuita), Enterprise (basada en suscripción) y Atlas, disponible como un servicio bajo demanda totalmente administrado. Sus características principales son consultas ad hoc, indexación, replicación, equilibrio de carga, almacenamiento de archivos, agregación, ejecución de JavaScript del lado del servidor, colecciones limitadas y transacciones.

Aquí está el enlace aDescargar versión comunitariapara Windows, Linux o MacOS.


apache casandra

Cassandra es un híbrido, un programa de base de datos NoSQL similar a BigTable de Google. La característica principal de Cassandra es que no es una base de datos, sino un servicio de red distribuido compuesto por un conjunto de nodos de base de datos. Una operación de escritura en Cassandra se copiará a otros nodos y la operación de lectura de Cassandra también se enrutará a un nodo para leer. Para un clúster de Cassandra, escalar el rendimiento es una cuestión relativamente simple: simplemente agregue nodos al clúster.

Las características principales de Cassandra son más ricas que Dynamo (sistema de almacenamiento distribuido de valores clave), pero el soporte no es tan bueno como el almacenamiento de documentos MongoDB (un producto de código abierto entre bases de datos relacionales y no relacionales, la más versátil de las bases de datos no relacionales).

Cassandra fue desarrollada originalmente por Facebook y luego se convirtió en un proyecto de código abierto. Es una base de datos ideal para la computación en la nube de redes sociales. Presenta: No hay un único punto de falla ya que los datos se distribuyen en todo el clúster; Admite replicación y replicación de múltiples centros de datos; Escalabilidad horizontal, tolerancia a fallos, coherencia ajustable, compatibilidad con MapReduce, Cassandra Query Language (CQL); gestión y monitoreo a través de Java Management Extensions (JMX) y más...

Descargar Apache Cassandra desde aquí


Redis

Redis acrónimo de Remote Dictionary Server, uno de los programas de bases de datos NoSQL más populares. Es una base de datos de valores clave en memoria con una interfaz de red incorporada escrita en ANSI-C para sistemas Posix. También hay algunas opiniones de que Redis es una base de datos de memoria porque su alto rendimiento se basa en operaciones de memoria. Otros piensan que Redis es un servidor de estructura de datos porque Redis admite funciones de datos complejas como Lista, Conjunto, HyperLogLogs, mapas de bits, secuencias, índices espaciales, etc. Sin embargo, la función de Redis está determinada por cómo se utiliza. Redis es una base de datos NoSQL de código abierto y de uso gratuito.

Descargar Redis


Apache CouchDB

CouchDB es un programa de base de datos NoSQL de código abierto y orientado a documentos al que se puede acceder a través de la API RESTful JavaScript Object Notation (JSON). El término "Couch" es un acrónimo de "Cluster Of Unreliable Commodity Hardware", que refleja el objetivo de CouchDB de ser altamente escalable, proporcionando alta disponibilidad y alta confiabilidad, incluso en hardware propenso a fallar. CouchDB se escribió originalmente en C++, pero en abril de 2008, el proyecto se trasladó a Erlang OTP (lenguaje de programación-wiki) para concurrencia, distribución y tolerancia a fallos.

Su método de almacenamiento de datos es algo similar al formato de archivo de índice de Lucene. La mayor importancia de CouchDB es que es un sistema de almacenamiento de nueva generación para aplicaciones web. CouchDB implementa una forma de control de concurrencia de múltiples versiones (MVCC) para no bloquear el archivo de la base de datos durante las escrituras. Los conflictos se dejan a la aplicación para resolverlos. CouchDB está construido sobre un potente motor de almacenamiento de árbol B; es responsable de ordenar los datos en CouchDB y proporciona un mecanismo para realizar operaciones de búsqueda, inserción y eliminación dentro del tiempo de intercambio de registros. CouchDB utiliza este motor para todos los datos, documentos y vistas internos.

La función Map/Reduce en CouchDB genera pares clave/valor, y CouchDB los inserta en el motor B-tree y los clasifica según sus claves. Esto permite búsquedas eficientes con claves y mejora el rendimiento de las operaciones en el árbol B. Además, esto significa que los datos se pueden dividir en varios nodos sin tener que consultar cada nodo individualmente.

Descargar Apache CouchDB


Programa de base de datos Couchbase NoSQL

Couchbase Server (anteriormente Membase) es un sistema de gestión de bases de datos NoSQL orientado a documentos que combina la simplicidad y confiabilidad de CouchDB con el alto rendimiento de Memcached y la escalabilidad de Membase. También es un programa de base de datos NoSQL de código abierto que utiliza una arquitectura distribuida o sin compartir. Está altamente optimizado para aplicaciones interactivas, lo que le permite servir simultáneamente para crear, almacenar, recuperar, agregar, manipular y presentar datos.

Los administradores pueden implementarlo en un clúster desde una sola máquina a varias. Además, acceso a documentos JSON o valores clave fácil de escalar con baja latencia y alto rendimiento sostenido.

Está disponible en múltiples formas de servidor Couchbase, Couchbase Mobile y como integraciones. Además, está disponible en soluciones comunitarias y empresariales para servidores Windows y Linux.

Descargar Couchbase


Base de datos NoSQL Riak (ree-ack)

Riak es otro programa de base de datos NoSQL que también tiene una versión de código abierto junto con una versión empresarial y de almacenamiento en la nube. Con el objetivo de alta disponibilidad y escalabilidad, este sistema de almacenamiento de datos distribuido está escrito en lenguaje Erlang como CouchDB. La implementación de Riak se basa en el documento Dynamo de Amazon. Riak admite sistemas creados con múltiples nodos y cada solicitud de lectura y escritura no requiere la participación de todos los nodos del clúster. Proporciona un motor de mapa/reducción flexible y una interfaz de consulta HTTP/JSON amigable.

Riak es muy fácil de implementar y escalar. Se pueden agregar nodos adicionales sin problemas al clúster. Funciones como el recorrido por enlaces y la compatibilidad con Map/Reduce permiten consultas más complejas. Además de la API HTTP, Riak también proporciona una API Erlang nativa y soporte para Protocol Buffer.

Actualmente hay tres formas de acceder a Riak: API HTTP (interfaz RESTful), buffers de protocolo y una interfaz Erlang nativa. La API admite métodos HTTP comunes: GET, PUT, POST, DELETE, que se utilizan para recuperar, actualizar, crear y eliminar objetos, respectivamente.

Las características principales que ofrece son disponibilidad tolerante a fallas, soporte de consultas, latencia predecible, claves/valores que se pueden almacenar en la memoria, el disco o ambos; Replicación de múltiples centros de datos y consistencia ajustable; Compatibilidad de Amason S3, integración con Apache Spark, Apache Solar, Apache Mesos, Redis Caching.

Descargar Riak


OrientDB: base de datos de gráficos

OrientDB es una base de datos NoSQL de código abierto que es multimodelo y admite gráficos nativos, documentos de texto completo, capacidad de respuesta, documentos, clave/valor y orientado a objetos. Está escrito en Java y es muy rápido: en hardware normal, puede almacenar 220.000 registros por segundo. Para bases de datos de documentos, también admite el procesamiento de transacciones ACID.

Sin costosos JOIN en tiempo de ejecución, las conexiones se pueden administrar como punteros persistentes entre registros. Puede recorrer miles de registros en cuestión de milisegundos.

OrientDB admite modos sin esquema, esquema completo y esquema mixto, con un potente sistema de análisis de seguridad basado en usuarios y roles, y admite SQL entre lenguajes de consulta.

Cuenta con una instalación rápida en menos de 60 segundos (afirma su desarrollador), modelo de datos estructurados Graph; marco de computación gráfica de código abierto; admite consultas SQL con extensiones; soporte nativo para HTTP, protocolo RESTful y bibliotecas o componentes adicionales JSON; replicación multimaestro que incluye clústeres distribuidos geográficamente; puede ejecutarse en Linux, OS X, Windows o cualquier sistema con una JVM compatible; El servidor completo ocupa sólo 512 MB de espacio; Lectura en la nube y más... Tanto la comunidad como la empresa están disponibles.

Descargar OrientDB


ApacheHBase

HBase: Hadoop Database es un sistema de almacenamiento distribuido escalable, orientado a columnas, de código abierto, no relacional, de alta confiabilidad y alto rendimiento que utiliza la tecnología HBase para construir clústeres de almacenamiento estructurados a gran escala en servidores de PC económicos.

HBase es una implementación de código abierto de Google Bigtable. Al igual que Google Bigtable, que utiliza GFS como sistema de almacenamiento de archivos, HBase utiliza Hadoop HDFS como sistema de almacenamiento de archivos. Google ejecuta MapReduce para procesar datos masivos en Bigtable. HBase también usa Hadoop MapReduce para procesar HBase. Datos masivos; Google Bigtable usa Chubby como servicio colaborativo y HBase usa Zookeeper como contraparte.

Descargar HBase


ArangoDB

ArangoDB es una base de datos nativa multimodelo que combina pares clave/valor clave/valor, gráficos y modelos de datos de documentos. Proporciona un lenguaje de consulta de base de datos unificado que cubre tres modelos de datos y permite una combinación de tres en una sola consulta. modelo. Basado en su característica multimodelo integrada nativa, puede crear programas de alto rendimiento y los tres modelos de datos admiten el escalamiento horizontal. Ofrece versiones comunitaria y empresarial.

Descargar


Otros recursos útiles para leer:

Nota: El artículo es una contribución del autor invitado.Kanika Marlean

Related Posts