Frage

Ich untersuche ein neues Projekt, das eine Social-Networking-Stil-Website sein. Ich lese auf RavenDB und Ich mag das Aussehen von vielen ihrer Funktionen. Ich habe gelesen, Sie nicht auf nosql allzu viel, aber ich frage mich, ob es eine Nische ist es am besten mit und alter Schule SQL paßt immer noch die beste Wahl für andere Sachen.

Ich denke, dass die Berechtigungen in Plug wären ideal für einen sozialen Netz Stil Ort - aber wird es wirklich in einer Umgebung durchführen, wo die Datenbank wird gehämmert bekommen werden - oder ist es für ein Reporting-Stil-System optimiert, wo es möglich zu halten in der Datenbank und Bericht über diese Strukturen neue Datenstrukturen zu werfen.

Ich bin gespannt, das richtige Werkzeug für den Job zu verwenden. - Ich MVC3, Windsor + entweder Nhibernate + SQL Server oder RavenDB würde mit

Should I-Stick mit der alten Schule SQL- oder geht mit dem neuen Kind auf dem Block: RavenDB

War es hilfreich?

Lösung

Diese Frage kann sehr nahe kommt subjektiv (obwohl es wirklich nicht), Sie sprechen NoSQL, als ob es nur eine Sache, und das ist nicht der Fall.

Sie haben

  • Graph-Datenbanken (Neo4j etc),
  • Karte / reduzieren Stil Dokumentendatenbanken (Couch, Raven),
  • Dokumentendatenbanken, die wie gewöhnliche Datenbanken (Mongo) zu fühlen, versuchen,
  • Schlüssel / Wert speichert (Cassandra usw.)
  • moar geht hier.

Jeder von ihnen versucht, ein anderes Problem durch verschiedene Mittel zu lösen, und ob Sie einen von ihnen über einen traditionellen relationalen Speicher verwenden würden, ist

  • Eine Frage der Eignung
  • Eine Frage des persönlichen Geschmacks

Am Ende des Tages, für die primären Datenspeicher für ein einzelnes System, eine Dokumentendatenbank oder relationale Speicher sind wahrscheinlich das, was Sie wollen, obwohl für verschiedene Teile des Systems können Sie gut am Ende einer graph-Datenbank unter Verwendung von (für die Berechnung Nachbarn usw.) oder ein Schlüssel / Wert-Speicher (wie Facebook tut / tat für Nachrichten im Posteingang).

Der Hauptvorteil eines Dokuments speichern als primäre Speicher über dem eines relationalen einem der Wahl ist, dass man sich keine Sorgen machen bekommen haben zu versuchen, Ihre Objekte in eine Sammlung von Tabellen abzubilden, und es gibt weniger Konfigurationsaufwand beteiligt dabei.

Der andere Nachteil / Kopf wäre, dass Sie etwas Neues und machen Fehler auf dem Weg zu lernen.

So ist meine Antwort, wenn ich direkt sein werde?

  • RavenDB wäre geeignet
  • SQL wäre geeignet

Welche bevorzugen Sie verwenden? In diesen Tagen würde ich wahrscheinlich gehen nur für Raven, wohl wissend, ich Daten in einer relationalen Speicher-Dump kann für Zwecke der Berichterstattung und wahrscheinlich ebenfalls tun für andere Teile meines Systems, und immer Freitextsuche und fastish-writes / schnell liest, ohne dabei durch die Anstrengungen der die getrennten Lese- / Schreib speichert ein Gesamtsieg.

Aber das ist mir, und ich voreingenommen bin.

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