¿Existe una tienda en la nube probada por negocios / Key = > Value Database? (Código abierto) [cerrado]

StackOverflow https://stackoverflow.com/questions/639545

Pregunta

He estado buscando soluciones de almacenamiento / computación en la nube durante mucho tiempo (inspirado en Google Bigtable). Pero no puedo encontrar una solución fácil de usar y preparada para los negocios.

Estoy buscando una base de datos Key = > Value DB simple, tolerante a fallas y distribuida como SimpleDB de Amazon.

He visto cosas como:

  1. El Proyecto CouchDB : Base de datos simple y distribuida, tolerante a fallas. Pero solo entiende JSON. Sin conectores XML, etc.
  2. Eucalyptus : buenas interfaces de Amazon EC2. Estándares abiertos y amp; XML ¿Pero menos distribuido y menos tolerante a fallas? También hay muchas entradas abiertas con problemas de XEN / VMWare.
  3. Cloudstore / Kosmosfs : bonito distribuido, fs tolerante a fallas. Pero es difícil de configurar. ¿Hay algún conector java?
  4. Apache Hadoop : Buen sistema que mucho más que habilidades para almacenar datos. Utiliza su propio sistema de archivos distribuidos Hadoop y ha sido probado en clústeres con 2000 nodos.
  5. * Amazon SimpleDB : ¡No puedo encontrar una alternativa de código abierto! Es un sistema agradable pero costoso para grandes cantidades de datos. Y eres adicto a Amazon.

¿Hay otras soluciones mejores por ahí? ¿Cuál es el mejor para elegir? ¿Cuál ofrece la menor cantidad de SOF (Singe Point of Failure)?

¿Fue útil?

Solución

MongoDB es otra opción muy similar a CouchDB, pero que utiliza un lenguaje de consulta muy similar a SQL en lugar de mapa / reducir en JavaScript. También admite índices, perfiles de consultas, replicación y almacenamiento de datos binarios.

Tiene una gran cantidad de documentación que puede ser abrumadora a primera vista, por lo que sugeriría comenzar con Tour del desarrollador

Otros consejos

¿Qué tal memcached ?

El blog Alta escalabilidad cubre este tema; si hay una solución de código abierto para lo que buscas, seguramente estará allí.

Otros proyectos incluyen:

Otra buena lista: Anti-RDBMS: una lista de almacenes de valores clave distribuidos

Wikipedia dice que Yahoo ambos contribuyen a Hadoop y lo usan en producción ( artículo vinculado desde wikipedia ). Por lo tanto, diría que cuenta para la probación comercial, aunque no estoy seguro de si cuenta como una base de datos de valor K / V.

No está en su lista el sistema Friendfeed de usar MySQL como un esquema simple sin clave / almacén de valores .

Es difícil para mí entender tus prioridades. CouchDB es simple, tolerante a fallas y distribuido, pero de alguna manera lo excluye porque no tiene XML. ¿Son los conectores XML y Java un requisito no declarado?

(De todos modos, CouchDB de hecho debería excluirse porque es joven, su API no es estable y no es un almacén de valores clave).

Utilizo la Google Base de Google, es Xml, gratuita, documentada, basada en la nube. , y tiene conectores para muchos idiomas. Creo que también completará su factura si desea alojamiento gratuito.

Ahora, si desea alojar sus propios servidores gabinete de Tokio es su respuesta, su clave = > basada en el valor, utiliza archivos planos y es la base de datos más rápida que existe en este momento (muy básica en comparación con Oracle, pero increíblemente buena para almacenar y acceder a datos, aproximadamente 1 millón de registros por segundo, con aproximadamente 10 bytes de sobrecarga) (dependiendo del motor de almacenamiento)). En cuanto a negocios listos, TokyoCabinet es el corazón de un servicio llamado Mixi, que es el equivalente de Facebook + MyPage de Japón, con varios millones de usuarios pesados, por lo que en realidad está muy probado en batalla.

Si quieres algo como Bigtable, no puedes pasar HBase o Hypertable : ambos son clones de código abierto de Bigtable. Sin embargo, una cosa a tener en cuenta es si sus requisitos realmente son "lo suficientemente grandes" para Bigtable. Se escala hasta miles de servidores de tableta y, como tal, tiene bastante infraestructura para permitir eso (por ejemplo, manejar la expectativa de fallas de nodos regulares).

Si no anticipa crecer a, al menos, decenas de servidores de tableta, es posible que desee considerar una de las alternativas propuestas: no puede vencer a BerkelyDb por simplicidad, o MySQL por ubicuidad. Si todo lo que necesita es un almacén de datos de clave / valor, puede poner un contenedor simple 'dict' alrededor de la interfaz de su base de datos y cambiar su backend si supera uno.

Es posible que desee ver hypertable , que se basa en la tabla grande de Google.

Usa el CouchDB

  • ¿Qué pasa con JSON?
  • JSON a XML es trivial

Es posible que desee echar un vistazo a esto (usando MySQL como almacén de valores clave):

http://bret.appspot.com/entry/how-friendfeed -uses-mysql

Cloudera es una empresa que comercializa Apache Hadoop, con cierto valor agregado, por supuesto, como la productización, configuración, entrenamiento y amp; servicios de soporte.

En lugar de buscar algo inspirado en la tabla grande de Google, ¿por qué no usar la tabla grande directamente? Puede escribir un front-end en Google App-Engine.

Buena compilación de herramientas de almacenamiento para su pregunta:

http: // www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/

Tokyo Cabinet también ha recibido cierta atención ya que admite esquemas de tablas, pares de valores clave y tablas hash. Utiliza Lua como una plataforma de secuencias de comandos integrada y utiliza HTTP como protocolo de comunicación. Aquí hay un gran demostración .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top