2016-07-28 8 views
0

So stellen Sie sich die Situation vor, wenn wir solche Daten haben: ein Teil davon ist besser in RDBMS zu speichern, und ein anderer in einigen von NoSQL (Mongo, f.e.). Ist es richtig, 2 separate DB zu verwenden? Oder sollte ich einen Kompromiss für die Datenstruktur finden, um nur einen zu verwenden?Ist es gut, 2 verschiedene db

Ich denke, wenn wir 2 DB verwenden, brauchen wir viel mehr Ressourcen (und tragen mehr über Fehlertoleranz), aber wir können eine bessere Struktur haben. Oder meine Art zu denken ist völlig falsch? Ich habe nie von dieser Art von Übung gehört, also möchte ich erfahrenere Leute fragen.

Btw, tut mir leid, wenn mein Englisch schlecht ist.

+0

Vielleicht könnten Sie PostgreSQL verwenden, das in den letzten Versionen eine gute Unterstützung für JSON-Daten bietet. – Renzo

+0

Die gleiche Antwort, es kommt darauf an. Vor allem sollten Sie Ihre Frage nicht auf technische Fähigkeiten beschränken. Wenn Sie 1 oder 2 oder n Datenbanken verwenden, liegt das daran, dass Sie Kunden-/Benutzeranforderungen haben. Abhängig von den Diensten/Apps, die Sie erstellen möchten, sollten Sie mit der entsprechenden Architektur antworten. Sie sollten sich der Microservices-Architektur bewusst sein. In einigen Fällen ist es viel nützlicher, getrennte Bedenken zu haben, als eine einzige Codebasis zu haben. Also, es ist keine echte Antwort, aber es hängt von Ihren Bedürfnissen ab. Beispiel: Amazon-Bestellungen können in einem RDBMS und Amazon-Artikeln in NoSQL gespeichert werden. – Odonno

+0

"Btw, tut mir leid, wenn mein Englisch schlecht ist." - es ist nicht. Keine Notwendigkeit, sich vorher zu entschuldigen, wenn etwas nicht klar genug ist, werden wir fragen. – Philipp

Antwort

1

Verwenden Sie verschiedene DBMS für verschiedene Arten von Daten und Zwecken in der gleichen Anwendung ist definitiv legitim. Es kommt zu einigen Kosten, wie Sie erwähnt haben, aber wenn der Nutzen die Kosten überwiegt, würde ich dafür gehen.

Ein nicht so ungewöhnlicher Usecase wäre es, einen rdbms als persistenten Datenspeicher zu haben und Lucene als Volltext-Suchmaschine hinzuzufügen. Sie können also die rdbms für Ihre säuregerechten Operationen verwenden, um Einschränkungen zu erzwingen.

Im nächsten Moment können Sie mit Lucene nach einigen Wörtern suchen, den entsprechenden Bezeichner erhalten und dann die rdbms nach weiteren Informationen fragen, die zum Bezeichner gehören.

Wenn Sie die 'exotischen' NoSQL-Datenbanken (Graph-Datenbanken, spaltenbasierte Datenbanken) überprüfen, werden Sie wahrscheinlich mehr solche Anwendungsfälle finden, in denen 2 dbms sich gegenseitig ergänzen.