2009-03-01 11 views
6

J'essaie de décider si utiliser voldemort ou couchdb pour un projet de soins de santé à venir. Je veux un système de stockage qui a une haute disponibilité, une tolérance aux pannes et qui peut évoluer en fonction de l'énorme quantité de données qui y sont jetées.voldemort vs couchdb

Quels sont les avantages/inconvénients de chacun?

Merci

+0

J'ai souvent lu que le cache fait par InterSystems est fortement utilisé dans les soins de santé au monde ». Ne peuvent-ils pas fournir une solution? – tuinstoel

Répondre

1

Est-memcachedb une option? J'ai entendu dire que c'est ainsi que Digg a géré les problèmes d'HA.

+0

sûr, quel serait l'avantage de memcacheDB sur l'autre 2 – py213py

+0

Quoi de questions HA? – Sam152

+0

lol. comment est tolérant à la faute memcached? –

5

Project Voldemort ressemble bien, mais je n'ai pas examiné profondément jusqu'à présent.

Dans son état actuel CouchDB pourrait ne pas être la bonne chose pour "des quantités massives de données". La distribution des données entre les nœuds et les requêtes de routage en conséquence est sur la feuille de route, mais pas encore implémentée. Les plus grandes installations de production connues de CouchDB utilisent des "tables" ("bases de données" en langage parlé) d'environ 200G.

HA n'est pas supporté nativement par CouchDB mais peut se construire facilement: tous les nœuds CouchDB répliquent les nœuds de base de données entre eux dans une configuration multi-maître. Nous mettons deux Varnish proxies devant les machines CouchDB et les boîtes de vernis sont rendues redondantes avec CARP. La conception de CouchDB «construire à partir du Web» rend ces choses très faciles.

Le problème le plus urgent dans our setup est le fait qu'il existe toujours des problèmes avec la réplication des pièces jointes volumineuses (multi-MB) aux documents CouchDB.

Je vous suggère également de vérifier la route RDBMS traditionnelle. There are huge issues avec talent disponible en dehors de l'approche SGBDR et il y a très capables offres disponibles à partir d'Oracle & Co.

4

Ne sachant pas assez de votre question, je voudrais quand même dire projet Voldemort ou des tables de hachage distribuées (de DSSS) comme CouchDB en général sont une solution à votre problème de HA. Ces DHT sont très bien pour la haute disponibilité, mais plus difficiles à écrire du code que les bases de données relationnelles traditionnelles (RDBMS) en ce qui concerne la cohérence. Ils sont assez bons pour stocker des informations de type de document, ce qui peut s'intégrer parfaitement avec votre projet de soins de santé mais rendre le développement plus difficile pour les données.

  • La plus grande limitation de la plupart des magasins est qu'ils sont pas transactionnellement sécurité (Voir scalaris pour un magasin transactionnellement sûr) et vous devez assurer la cohérence des données par vous-même - plus utiliser la cohérence de lecture de temps en fusionnant contradictoires Les données). Les SGBDR sont beaucoup plus faciles à utiliser pour la cohérence des données (ACID)
  • La jointure des données est également beaucoup plus difficile. Dans les RDBM, vous pouvez facilement interroger des données sur plusieurs tables, vous devez écrire du code dans CouchDB pour agréger les données. Pour les autres magasins Hadoop peut être un bon choix pour agréger des informations.

En savoir plus sur BASE et le théorème de CAP sur la cohérence par rapport à la disponibilité.

Voir

Questions connexes