Ich verwende derzeit MySQL und Sphinx, um eine ziemlich einfache Datenbank mit fast 350.000.000 Datensätzen zu verwalten. Es wird erwartet, dass es in weniger als 200 Tagen eine Milliarde Datensätze erreicht (zwischen 2000 und 5000 Datensätzen pro Minute). MySQL ist furchtbar langsam und Sphinx verbessert die Geschwindigkeit um einiges, aber die Delta-Indizierung ist mühsam und ich bin mir nicht sicher, ob RT-Indizes eine Option sind.
Die Daten bestehen aus mehreren Integer-Werten und einem Float-Wert. Wir durchsuchen die Datenbank basierend auf ganzzahligen Übereinstimmungen und ganzzahligen Bereichen (z. B. Übereinstimmung mit vielleicht 4 ganzzahligen Spalten genau, und wir geben einer anderen ganzzahligen Spalte einen Bereich zwischen x
und x+20000000
).
Im Idealfall wäre die beste Software kostenlos (sowohl in der Freiheit als auch im Freibier), einfach zu konfigurieren und Suchvorgänge schnell zurückzugeben (<0,5 Sekunden). Es sollte auch Bibliotheken für NodeJS oder jede andere Skriptsprache verfügbar haben (nicht wirklich erforderlich).
Zwei Vorschläge: 1) Oracle Database 11gR2 , 2) MongoDB .
1) Oracle-Datenbank 11gR2:
Das fortschrittlichste und leistungsstärkste DBMS für transaktionsintensive Lösungen. Kann kostenlos heruntergeladen und verwendet werden (der Support ist kommerziell).
Ich habe es auf einem gewöhnlichen Laptop mit einem Datensatz von ungefähr 90 Millionen Datensätzen getestet. Suchen basierend auf dem Id-Feld (das Integer war) wurden innerhalb von 0,1 Sekunden zurückgegeben.
2) MongoDB:
Das beliebteste NoSQL-Based
DBMS mit hervorragender Integrationsfähigkeit in Node.Js
. Tatsächlich ist es ein Document-Based
DBMS, das für die Big Data
.
Wo lang geht es?
1) Wenn Sie das Gefühl haben möchten, mit einem RDBMS zu arbeiten (genau wie MySQL) und wenn Ihre Suche auf ganzzahligen Werten basiert (Sie sollten mit Bedacht Indizes für diese Spalten erstellen).
2) Wenn die Integration mit Node.Js für Sie wichtig ist und Ihre Daten unstrukturiert wachsen.
Postgres ist die ideale Lösung, wenn Sie eine Datenbank in Unternehmensqualität benötigen, die sowohl „Freiheit“ (Open Source) als auch „Freibier“ (kostenlos) bietet.
Aber keine Wunderwaffe, keine Möglichkeit, die Notwendigkeit zu umgehen:
sevzas
Basil Bourque