Ich arbeite an einem kleinen Projekt mit einem großen, sich nicht oft ändernden Datensatz von Menschen. Jeder Datensatz wird mit dem Namen einer Person und einer Liste früherer Unternehmen gespeichert, für die sie gearbeitet haben (nummerierte ID).Welche Datenbank (en) wird verwendet, wenn Millionen von Datensätzen gesucht und Verbindungen hergestellt werden?
Ich schreibe eine einseitige Webanwendung, mit der Sie die Verbindungen von Personen und Unternehmen suchen und visuell anzeigen können. Wenn ich "John Smith" eintrage, zeigt es mir die Firmen, für die er gearbeitet hat, die Leute, die in dieser Firma arbeiten, und die Firmen, für die sie gearbeitet haben, und so weiter (wie eine Netzwerkgrafik).
Ich benutze derzeit MongoDB, um all diese Leute zu speichern ... aber ich habe das Gefühl, dass dies keine optimale Lösung ist. Ich sehe, dass es viele verschiedene Datenspeicher wie Cassandra (Wide-Column), Couchbase (ähnlich wie Mongo?), ElasticSearch (Suche), Neo4J (Grafik) gibt, die optimaler sein und eine bessere Leistung bieten kann.
Es gibt eine riesige Auswahl an Optionen, aber ich bin mir nicht sicher, wie ich die optimale Lösung aussuchen soll.
Ist es in Ordnung, mehr als eine Datenbank (z. B. MongoDB und Neo4J) zu verwenden, oder ist das in der Praxis schlecht, da es schwierig ist, beide synchron zu halten?
Wie gehe ich vor, um die optimale Technologie auszuwählen, um sicherzustellen, dass meine Anwendung gut funktioniert und meine Daten leicht abgefragt werden kann?