Question

Je l'évaluation d'une plate-forme de stockage pour un projet à venir et continuer à revenir à Cassandra. Pour ce projet, perdre tout 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 grand qu'il est devenu un problème de stocker et de requête.

Cassandra suffisamment robuste pour utiliser comme magasin de données primaires? Ou devrait-il être utilisé que pour refléter les données existantes pour accélérer l'accès?

Était-ce utile?

La solution

Pour la petite histoire: oui, Twitter, Digg, Ooyala, SimpleGeo, Mahalo, et d'autres utilisent ou de passer à Cassandra pour un magasin de données primaire ( http://n2.nabble.com/Cassandra-users-survey-td4040068.html ).

Techniquement

: oui; En plus de la réplication d'appui (y compris à de multiples centres de données), chaque noeud Cassandra a un fsync'd allouent journal pour vous assurer que les écritures sont durables; à partir de là les écritures sont transformées en SSTables qui sont immuables jusqu'à ce que le compactage (qui combine plusieurs SSTables à GC anciennes versions). Snapshotting est supportée à tout moment, y compris automatique instantané, avant compactage.

Autres conseils

Que ce soit pour utiliser Cassandra pour votre application ou ne dépend pas uniquement sur vos charges de travail de données. Cassandra est optimisée pour les charges de travail d'écriture à forte intensité, il est donc adapté pour des applications où une grande quantité de données doit être inséré (tels que les informations de journalisation de l'infrastructure à Facebook).

Par contre, si vous avez besoin rapide et la vitesse récupérations d'insertion n'est pas un problème, alors peut-être vous devriez jeter un oeil à dire HBase (optimisé des charges de travail en lecture intensive).

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