Frage

Ich habe große Datenbank (ein bisschen wordnet) und möchte wissen, ob es einfacher ist, Cassandra zu verwenden, anstatt MySQL | PostrgreSQL

Mein ganzes Leben war ich mit MySQL und PostrgreSQL und ich konnte in Bezug auf die relationale Algebra leicht denken, aber vor einigen Wochen ich Cassandra gelernt, und dass es in Facebook und Twitter verwendet wird.

Ist es bequemer?

Was DBMS sind in der Regel heutzutage zu speichern soziales Netzes der Daten, Beziehungen zwischen Objekten verwendet, wordnet?

War es hilfreich?

Lösung

Es gibt viele verschiedene Varianten von „NoSQL“ Datenbanken. Wenn Ihre Anwendung wirklich wie Wordnet sollten Sie vielleicht in einer Graph-Datenbank aussehen wie Neo4j .

Andere Tipps

Es gibt nichts, wie eine Silber Kugel Lösung ist, ist alles, was gebaut spezifisches Problem zu lösen, und hat seine eigenen Vor- und Nachteile. Es liegt an Ihnen zu entscheiden - welche Problemstellung Sie haben und was ist beste Lösung, die Ihr Problem passt. Ob Sie Cassandra (NoSQL) oder MySQL (RDBMS) verwenden, ist es alles von Ihrer Systemanforderung angetrieben. Im Folgenden sind die Eingaben, die Sie daran bessere Entscheidung, während die Entscheidung über Datenbank helfen.

Warum Verwenden NoSQL

Im Fall der RDBMS-Datenbank, die Wahl zu machen ist ganz einfach, weil fast alle Datenbanken wie MySQL, Oracle, MS SQL, PostgreSQL in dieser Kategorie bietet fast gleiche Art von Lösungen für die ACID-Eigenschaft orientiert. Wenn es um die NoSQL kommt, Entscheidung schwierig wird, weil jede NoSQL-Datenbank bietet verschiedene Lösung und Sie müssen verstehen, die man am besten für Ihre Anwendung / Systemanforderungen geeignet ist. Zum Beispiel MongoDB fits für Fälle, in denen Ihr System verlangt Schema lose Dokumentenspeicher. HBase könnte für Suchmaschinen passen, Protokolldaten zu analysieren, an jedem Ort, wo riesige Scannen zweidimensionale Mitmach weniger Tabellen eine Anforderung ist. Redis wird gebaut suchen In-Memory zur Verfügung zu stellen für Sorten von Datenstrukturen wie Baum, Schlange, Linkliste usw. und kann zur Herstellung von Echtzeit-Leaderboard, Pub-Sub Art von System gut geeignet sein. Ebenso gibt es andere Datenbank in dieser Kategorie (einschließlich Cassandra), die für verschiedene Probleme paßt. Nun bewegen zu ursprüngliche Frage lässt, und beantworten Sie sie eins nach dem anderen.

Wenn Cassandra verwenden

Als Teil der NoSQL-Familie, Cassandra bietet Lösung für Problem, wo Ihre Anforderung sehr schwer Schreibsystem haben, und Sie wollen sehr reaktions Reporting-System auf der Oberseite, dass gespeicherte Daten haben. Betrachten Anwendungsfall von Web Analytics, wo Protokolldaten für jede Anforderung gespeichert werden und Sie mögen gebaut analytische Plattform um es Hits von Stunde zu zählen, die von Browser, durch IP, usw. in Echtzeit Weise. Sie können verweisen Beitrag zum Blog (

Ich würde vorschlagen, um Ihre Anfrage zu analysieren.

  1. Wenn Sie mit mehreren Clustern gehen, Maschinen nehmen NoSQL
  2. Wenn Ihr Datenmodell ist kompliziert - erfordern effiziente Strukturen nehmen NoSQL (keine Grenzen gesetzt mit Typ von Spalten)
  3. Wenn Sie passen in ein paar Maschinen ohne Schuppen, und Sie brauchen nicht super Leistung für Multi-Anforderung (wie zum Beispiel in sozialen Netzwerken - wo viele Benutzer HTTP-Anfrage senden), und Sie nicht denken, Sie Verkäuflichkeit einbeziehen nehmen RDBMS (Postgres einige gute Funktionen und Strukturen, die Sie, wie Array Spaltentyp verwenden).

Cassandra sollte mit großen Skalen von Daten, Mehrzweck besser funktionieren. Neo4j -. wäre besser für spezielle Strukturen, Grafiken

Cassandra und andere NoSQL Geschäfte werden für soziale basierte Websites wegen ihrer Notwendigkeit massiver Schreib basierte Operationen. Nicht, dass MySQL und Postgres nicht erreichen können, dies aber NoSQL erfordert viel weniger Zeit und Geld, allgemein gesprochen.

Sounds wie Sie können bei Neo4j aussehen wollen aber nur in Bezug auf Ihre Objektmodell Bedürfnisse.

Alle verschiedenen Produkte und sie alle haben ihre Vor-und Conn. Welche Art von Problem zu tun haben, Sie zu lösen?

Huge, wie in TB?

scroll top