Existe-t-il un magasin en nuage / clé = > valeur éprouvé dans le cloud? (Open Source) [fermé]

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

Question

Je recherche depuis longtemps des solutions de stockage et d’informatique en nuage (inspirées de Google Bigtable). Mais je ne trouve pas de solution facile à utiliser et prête à l'emploi.

Je recherche une base de données distribuée simple, tolérante aux pannes et clé = comme gabarit comme SimpleDB d'Amazon.

J'ai vu des choses comme:

  1. Le projet CouchDB : Base de données simple, distribuée et tolérante aux pannes. Mais il ne comprend que JSON. Aucun connecteur XML, etc.
  2. Eucalyptus : de belles interfaces Amazon EC2. Normes ouvertes & amp; XML. Mais moins distribué et moins tolérant aux pannes? Il y a aussi beaucoup de tickets ouverts avec des problèmes XEN / VMWare.
  3. Cloudstore / Kosmosfs : Nice distribué, fs tolérant les pannes. Mais c'est difficile à configurer. Y a-t-il des connecteurs java?
  4. Apache Hadoop : un système agréable qui offre bien plus que des capacités de stockage de données. Utilise son propre système de fichiers distribué Hadoop et a été testé sur des clusters de 2 000 nœuds.
  5. * Amazon SimpleDB : impossible de trouver une alternative open-source! C'est un système agréable mais coûteux pour d'énormes quantités de données. Et vous êtes accro à Amazon.

Existe-t-il d'autres meilleures solutions? Lequel est le meilleur à choisir? Lequel offre le moins de SOF (Singe Point of Failure)?

Était-ce utile?

La solution

MongoDB est une autre option très similaire à CouchDB, mais utilisant un langage de requête très similaire à SQL au lieu de map / réduire en JavaScript. Il prend également en charge les index, le profilage de requêtes, la réplication et le stockage de données binaires.

Il contient une énorme quantité de documentation qui pourrait être accablante au poing. Je suggérerais donc de commencer par Visite du développeur

Autres conseils

Pourquoi pas memcached ?

Le blog High Scalability traite de ce problème. s'il existe une solution open source pour ce que vous recherchez, elle sera sûrement là.

Les autres projets incluent:

Une autre bonne liste: Anti-SGBDR: liste des magasins de valeurs-clés distribués

Wikipedia indique que Yahoo contribue à Hadoop et l'utilise en production ( article lié à wikipedia ). Je dirais donc que cela compte pour le commerce, même si je ne suis pas sûr que cela compte comme une base de données de valeurs K / V.

Le système Friendfeed d’utilisation de MySQL en tant que schéma simple ne figure pas sur votre liste. clé / valeur sans magasin .

Il m'est difficile de comprendre vos priorités. CouchDB est simple, tolérant aux pannes et distribué, mais vous l'excluez d'une manière ou d'une autre car il ne contient pas de XML. Les connecteurs XML et Java sont-ils une exigence non spécifiée?

(Quoi qu'il en soit, CouchDB devrait en fait être exclu car il est jeune, son API n'est pas stable et ce n'est pas un magasin de valeurs-clés.)

J'utilise l'Application Google Base de Google, c'est XML, gratuit, documenté et basé sur le cloud. et possède des connecteurs pour de nombreuses langues. Je pense que cela comblera votre facture si vous souhaitez également un hébergement gratuit.

Maintenant, si vous souhaitez héberger vos propres serveurs, le cabinet Tokyo est votre solution, sa clé = > basée sur la valeur, utilise des fichiers plats et est la base de données la plus rapide du moment (très simple comparé à Oracle, mais incroyablement bonne pour stocker et accéder aux données, environ 1 million d'enregistrements par seconde, avec environ 10 octets de temps système (selon le moteur de stockage)). En ce qui concerne les entreprises, TokyoCabinet est le cœur d’un service appelé Mixi, l’équivalent de Facebook + MyPage au Japon, avec plusieurs millions d’utilisateurs lourds. C’est donc très éprouvé au combat.

Si vous voulez quelque chose comme Bigtable, vous ne pouvez pas dépasser HBase ou Hypertable - ils sont tous deux des clones Bigtable à source ouverte. Une chose à considérer, cependant, est si vos exigences sont vraiment «assez grandes» pour Bigtable. Il peut s’adapter à des milliers de serveurs de tablettes et, à ce titre, dispose d’un peu d’infrastructure pour permettre cela (par exemple, gérer l’attente de pannes de nœuds régulières).

Si vous ne prévoyez pas au moins atteindre des dizaines de serveurs de tablettes, envisagez l'une des solutions de rechange proposées: vous ne pouvez pas battre BerkelyDb pour plus de simplicité, ni MySQL pour l'ubiquité. Si tout ce dont vous avez besoin est un magasin de données clé / valeur, vous pouvez mettre un simple wrapper 'dict' autour de votre interface de base de données et changer votre backend si vous en dépassez un.

Vous voudrez peut-être consulter hypertable , qui est calqué sur le bigtable de Google.

Utiliser la CouchDB

  • Qu'est-ce qui ne va pas avec JSON?
  • JSON en XML est trivial

Vous voudrez peut-être jeter un coup d'œil à ceci (en utilisant MySQL comme magasin de valeurs-clés):

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

Cloudera est une société qui commercialise Apache Hadoop, avec une certaine valeur ajoutée, comme la productisation, configuration, formation & amp; services de soutien.

Au lieu de chercher quelque chose inspiré par la bigtable de Google - Pourquoi ne pas simplement utiliser bigtable directement? Vous pouvez écrire un frontal sur Google App-Engine.

Bonne compilation d'outils de stockage pour votre question:

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

Tokyo Cabinet a également fait l'objet d'une certaine attention, car il prend en charge les schémas de table, les paires clé-valeur et les tables de hachage. Il utilise Lua comme plate-forme de script intégrée et utilise HTTP comme protocole de communication. Voici un grande démonstration .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top