Frage

Wir setzen eine Online-Plattform zu bauen (API, Server, Daten, Wahoo!). Für Zusammenhang vorstellen, dass wir so etwas wie Twitter aufbauen müssen, aber mit den Kommentaren (Tweets) organisierte ein Live-Event um. Informationen über das Live-Event selbst muss so schnell und konsequent wie möglich an Kunden geliefert werden, während Kommentare über das Ereignis wahrscheinlich etwas länger geliefert werden warten können. Wir werden Leselastig nach der Live-Veranstaltung beendet sein.

Die Skalierbarkeit ist sehr wichtig. Wir wollen mieten VPS Scheiben beginnen, und das Ausmaß von dort. Ich bin ein großer Fan von der Wolke, und möchte es so lange wie möglich bleiben. Wir werden wahrscheinlich mit Ruby sein.

Ich bin davon überzeugt, dass ich ein Dokument speichern anstelle eines RDBMS ausprobieren möchten. Ich mag die Idee von Schema-weniger Speicher und den Versprechungen von einfacher Skalierbarkeit, indem Sie auf Schlüsselwert konzentriert.

Das Problem ist, ich weiß nicht, welche Technologie am besten geeignet für unsere Plattform. Ich habe auf der Couch, Mongo, Tokyo Cabinet, Cassandra und einen RDBMS mit blobbed Dokumenten gesucht. Jede Hilfe das richtige Werkzeug für diesen speziellen Job Kommissionierung?

War es hilfreich?

Lösung

Zur Kasse des NO SQL Alternative Vergleich von BJ Clark .

  

Die Skalierbarkeit ist sehr wichtig.

Dann müssen Sie die Auszüge aus seinem Blog berücksichtigen:

  1. Tokyo Cabinet - nicht skaliert wird
  2. Redis - Does nicht maßstabs
  3. Projekt Voldemort - Skalen
  4. MongoDB - limted (sharding implementiert wurde)
  5. Cassandra - Skalen
  6. Amazon S3 - Skalen
  7. Couch - Does nicht maßstabs ( Clustering & Replikation)
  8. MySQL - nicht skaliert wird

Und betrachten Hyper . Dies ist auch ein ernstzunehmender Anwärter in No-SQL Alternativen. Es ist eine Open-Source-Implementierung von BigTable Konzept von Google. Ich glaube, es skaliert gut, weil es weitgehend von der chinesischen Suchmaschine Baidu und Entertainment-Portal Rediff verwendet wird.

Sie sagten:

  

Informationen über die Live-Event   selbst muss an Kunden geliefert werden, wie   schnell und konsequent wie möglich,   während Kommentare über das Ereignis   wahrscheinlich noch ein bisschen warten, länger zu sein   geliefert. Wir werden Lese schwer sein nach   die Live-Veranstaltung beendet.

Das ist so etwas wie Twitter Ansatz. Ihre Programmiersprache Auswahl ist auch sehr wichtig, weil Twitter zunächst mit Rubin für Back-End-Nachrichtenübermittlung ging aber bewegt Scala Sprache.

Sie sind immer noch mit Rubin für ihr Front-End. Wenn Sie mit einem hochzuverlässigen, fehlertolerantes System gehen wollen, die gut für skalierbare Umgebungen geeignet ist, dann sollten Sie Scala oder Erlang .

Andere Tipps

Ramesh hat eine gute Zusammenfassung. Ich mochte hinzufügen, dass Cassandra ein reiches Datenmodell als Vanille-Dynamo-Klone (wie Voldemort oder Dynomite) hat: Zeilen mit dem Namen, sortierten Spalten und nicht nur Schlüssel / Wert. Cassandra wird von Twitter, Mahalo, Ooyala, SimpleGeo, WebEx und anderen verwendet ( http://n2.nabble.com/Cassandra-users-survey-td4040068.html ), zumindest einen Teil davon läuft Cassandra-Cluster auf EC2 oder Rackspace Cloud-Server.

Wenn Sie möchten, horizontale Skalierung (verteilen Sie Ihre Daten über mehr als einen Knoten) haben Sie die CAP-Theorem zu berücksichtigen.

http://www.julianbrowne.com/article/viewer/brewers -cap-Satz

Es ist nicht einfach Sachen, aber Sie haben zu wählen, gibt es immer eine Art von Handel ab.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top