Stellen Sie sich vor, Sie benötigen 3 große Tabellen (strukturierte Daten) mit jeweils 30 Milliarden Zeilen (Gesamtgröße von 4 TB), von denen Ihre vielen gleichzeitigen Benutzer (die parallele Betriebssystem-Threads auf Remote-LAN-Computern sind) einen Teil lesen müssen die Daten durch ihre SELELCT WHERE GROUPBY-Abfragen und hochgradig gleichzeitige Abfragen, z. B. 10.000 gleichzeitige Lesevorgänge, und Benutzer müssen auch hochgradig gleichzeitige Daten in diese Tabellen einfügen (keine Aktualisierung), wie bei 2000 gleichzeitigen Schreibvorgängen (im gesamten LAN-Netzwerk des Rechenzentrums). . Die Benutzer möchten so schnell wie möglich aus diesem Speicher lesen und einfügen, wobei jedes Lesen und Schreiben im Bereich von ms bis 1 Sekunde erfolgt.
Welche Technologien empfehlen Sie, um diese Anforderungen zu erfüllen? Gibt es einen Datenspeicher oder einen Schlüsselwertspeicher, der dies ermöglicht? Cloud ist keine Option.
Einige Erläuterungen:
Die Benutzer müssen die Daten NICHT sofort sehen und eine eventuelle Konsistenz ist akzeptabel. Der Zugriff auf die Daten erfolgt über jeden Treiber, den der Speicher bereitstellen kann, und Benutzer sind wiederum nur Threads, die auf Remotecomputern des Rechenzentrums ausgeführt werden. Die Abfragen sind meistens wie SELECT WHERE GROUPBY.
Die Daten sind tabellarisch und jede Zeile ist ungefähr 60 Bytes groß.
Keine Cloud-Option, bei der ich DynamoDB oder ähnliche Lösungen nicht verwenden kann. Ich muss es intern im Rechenzentrum hosten können.
Alle Daten der Tabellen können jederzeit gelesen werden, und das Verwendungsmuster ist nicht vorhersehbar. Es gibt keine Join- oder Super-Long-Abfrage. Kein DR erforderlich, aber ein angemessener HA ist erforderlich, muss aber nicht ausgefallen sein. Jeder Leser erhält eine Reihe von Zeilen basierend auf der where-Klausel und den Zeilen, die nicht wirklich zusammenhängen. Wir können wahrscheinlich eine feste Länge für jede Reihe haben, aber ich hoffe, dass die Speicherschicht sich darum kümmern wird.
Meine größte Sorge sind auch all die gleichzeitigen Schreibvorgänge, die bei gleichzeitigen Lesevorgängen stattfinden.
Ihre Einsichten in diese wird sehr geschätzt.
Außerdem habe ich drei dieser Tabellen mit jeweils 30 Milliarden Zeilen, die unterschiedliche Objekttypen enthalten