Fantástico el artículo que han preparado en WebResourcesDepot en el cual nos hablan de las grandes posibilidades que tenemos a la hora de elegir un motor de base de datos en el terreno Open Source.
Como indican en el artículo, probablemente conozcáis las principales alternativas (algunas de ellas comerciales):
Como indican en ese texto, es normal que dichas opciones estén tan extendidas: están muy bien documentadas, hay una gran comunidad de usuarios detrás de todas ellas y están muy integradas con la mayoría de CMS del mercado, además de estar disponibles en las principales empresas de hosting. Pero hay todo un mundo de posibilidades que va más allá de esas opciones.
Lo demuestra el citado artículo, del que simplemente haré una adaptación y que os recomiendo visitar. Las 35 alternativas Open Source en este terreno son las siguientes, y antes de nada, permitidme que me disculpe por la traducción. No estoy familiarizado con muchos de los términos que se manejan en el artículo, así que puede que haya metido la pata en alguna descripción:
Es una base de datos Open Source de gran rendimiento, escalable, schema-free (creo que esto se refiere a que no es una base de datos relacional convencional, aunque no estoy del todo seguro) y orientada a documentos (esquemas de datos tipo JSON). Hay drivers preparados para usar esta base de datos desde lenguajes como PHP, Python, Perl, Ruby, JavaScript, C++ y muchos más.
Hypertable es un sistema de almacenamiento distribuido de datos de alto rendimiento diseñado para soportar aplicaciones que requieran máximo rendimiento, escalabilidad y eficiencia. Se ha diseñado y modelado a partir del proyecto BigTable de Google y se enfoca sobre todo a conjuntos de datos de gran escala.
Como en el caso de MongoDB, este proyecto está destinado a ofrecer una base de datos orientada a documentos que se pueden consultar o indexar en modo MapReduce usando JavaScript. CouchDB ofrece una API JSON RESTful a la que se puede acceder desde cualquier entorno que soporte peticiones HTTP.
Es un motor de persistencia completamente transaccional en Java que almacena los datos mediante grafos, y no mediante tablas. Neo4j ofrece una escalabilidad masiva. Puede manejar grafos de varios miles de millones de nodos/relaciones/propiedades en una única máquina, y se puede escalar a lo largo de múltiples máquinas.
Riak es una base de datos ideal para aplicaciones web y combina:
- Una tienda con un valor clave descentralizado
- Un motor map/reduce flexible
- Una interfaz de consultas HTTP/JSPN amigable.
Se trata de un motor de bases de datos embebidas que proporciona a los desarrolladores persistencia local, rápida y eficiente con una administración nula. Oracle Berkeley DB es una librería que se enlaza directamente en nuestras aplicaciones y permite realizar llamadas simples a funciones en lugar de enviar mensajes a un servidor remoto para mejorar el rendimiento.
Cassandra es probablemente uno de los proyectos NoSQL más concoidos del mercado. Se trata de una base de datos distribuida de segunda generación con alta escalabilidad que está siendo usada por gigantes como Facebook (que es quien la ha desarrollado), Digg, Twitter, Cisco y más empresas. El objetivo es ofrecer un entorno consistente, tolerante a fallos y de alta disponibilidad a la hora de almacenar datos.
Memcachedes un almacen del tipo in-memory key-valuepara pequeñas cadenas de datos arbitrarios (textos, objetos) de resultados de llamadas a base de datos, llamadas a API, o renderizado de páginas. Está orientado a acelerar aplicaciones web dinámicas al aliviar la carga de la base de datos.
Firebird -no confundir con Firefox- es una base de datos relacional que puede ser utilizada en Linux, Windows y varias plataformas UNIX, y ofrece un alto rendimiento y potente soporte de lenguajes paraprocedimientos almacenados y triggers.
Redis es una base de datos avanzada del tipo fast key-value queestá escrita en C y quese puede usar como memcached, por delante de una base de datos tradicional, o bien por sí sola de forma independiente. Tiene soporte para varios lenguajes de programación y se utiliza en proyectos muy populares como GitHub o Engine Yard. También hay un cliente PHP llamado Rediska que permite gestionar bases de datos Redis.
HBase es u almaceén distribuido del tipo column-orientedque puede ser también denominado como la base de datos Hadoop. El proyecto está dirigido a ofrecer tablas enormes de «miles de millones de filas, y millones de columnas». Dispone de un gateway RESTful que soporta XML, Protobug y opciones de codificación binaria de datos.
Se trata de un almacén del tipo key-value con replicación consistente y que funciona sobre sistemas operativos Windows. Keyspace ofrece una alta disponibilidad al enmascarar los fallos de servidor y red y al aparecer como un único servicio de alta disponibilidad.
4store es un motor de almacenamiento de bases de datos y de consultas que mantiene datos en formato RDF. Está escrito en ANSI C99, está diseñado para funcionar en sistemas UNIX y ofrece una plataforma de alto rendimiento, escalable y estable.