2016-03-28 15 views
1

Ich baue eine neue Anwendung, wo ich eine hohe Menge an Geo-Standortdaten erwarte, so etwas wie ein sich bewegendes Objekt, das alle 5 Sekunden Geo-Koordinaten sendet. Diese Daten müssen in einer Datenbank gespeichert werden, damit sie jederzeit für die Verfolgung des sich bewegenden Objekts auf einer Karte verwendet werden können. Also erwarte ich ungefähr 250 Koordinaten pro beweglichem Objekt pro Strecke. Und jedes Objekt kann ungefähr 50 Routen pro Tag ausführen. und ich habe 900 solcher Objekte zu verfolgen. SO, das bringt etwa 11,5 Millionen Geo-Koordinaten zur Speicherung pro Tag. Ich muss mindestens eine Woche Daten in meiner Datenbank speichern.High-Volume-Datenspeicherung und -verarbeitung

Diese Daten werden hauptsächlich für einfache Abfragen verwendet, z. B. um alle Geokoordinaten für ein bestimmtes Objekt und eine bestimmte Route zu finden. Daher ist die Abfrage nicht sehr kompliziert und diese Daten werden für keine Analysezwecke verwendet.

SO, meine Frage ist, sollte ich einfach mit normalen Oracle-Datenbank wie 12C über zwei VMs verteilt gehen oder sollte ich über einige Big-Data-Technologien wie NO SQL oder Hadoop denken?

Eine der wichtigsten Voraussetzungen ist eine hohe Leistung. Jede Abfrage muss 1 Sekunde lang antworten.

+0

Also machen Sie Tabelle einfügen/Updates alle 5 Sekunden für 900 Objekte und wenn diese Tabellen abgefragt werden dann müssen Ergebnisse in 1 Sekunde zurückgeben? – Jared

+0

Nein, die Daten werden alle 5 Sekunden gesammelt, aber alle 3 Minuten in die Datenbank eingefügt. Die Daten werden von einer Objekt-ID abgefragt, die die Route ausführt. – deejay

Antwort

0

Da Sie die Datenmenge (11,5 Millionen) kennen, können Sie einfach all Ihre Szenarien in Oracle DB simulieren und schon lange testen.

Meine Vorschläge sind, dass Sie für Tag Ebene Partitionen gehen müssen & 2 Unterteilungen wie Objekte & Router. Ihr gesamtes Geschäfts-SQL muss immer die richtigen Partitionen treffen.

und auch müssen Sie möglicherweise ältere Tage Daten löschen. oder Eine Art von Aggregation, die Sie mit den vergangenen Tagen erstellt haben, und das Löschen Ihrer Rohdaten würde helfen. seine gut machbar 12C.

Verwandte Themen