10 votes

Est-ce que Cassandra convient pour être utilisé comme magasin de données principal?

Je suis en train d'évaluer une plateforme de stockage pour un projet à venir et je reviens toujours à Cassandra. Pour ce projet, perdre n'importe quelle quantité de données est inacceptable. Jusqu'à présent, nous avons utilisé une base de données relationnelle (Microsoft SQL Server), mais les données sont si variées et volumineuses qu'il est devenu difficile de les stocker et de les interroger.

Est-ce que Cassandra est suffisamment robuste pour être utilisé comme principal magasin de données? Ou devrait-il seulement être utilisé pour refléter les données existantes afin d'accélérer l'accès?

9voto

jbellis Points 16235

De manière anecdotique : oui, Twitter, Digg, Ooyala, SimpleGeo, Mahalo et d'autres utilisent ou migrent vers Cassandra pour un stockage de données principal (http://n2.nabble.com/Cassandra-users-survey-td4040068.html).

Techniquement : oui ; en plus de prendre en charge la réplication (y compris vers plusieurs centres de données), chaque nœud Cassandra possède un journal de validation fsync'd pour garantir la durabilité des écritures ; à partir de là, les écritures sont transformées en SSTables qui sont immuables jusqu'à la compaction (qui combine plusieurs SSTables pour nettoyer les anciennes versions). La prise instantanée est prise en charge à tout moment, y compris une prise instantanée automatique avant la compaction.

4voto

Irfan Points 371

Que vous utilisiez Cassandra pour votre application ou non dépend uniquement de vos charges de travail. Cassandra est optimisé pour les charges de travail intensives en écriture, il est donc adapté aux applications où une grande quantité de données doit être insérée (comme les informations de journalisation de l'infrastructure chez Facebook).

Cependant, si vous avez besoin de récupérations rapides et que la vitesse d'insertion n'est pas un problème, alors peut-être devriez-vous jeter un œil à HBase (qui est optimisé pour les charges de travail intensives en lecture).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X