Hallo zusammen,
ich mache mir gerade Gedanken über das passende
DBMS für ein Projekt.
Ausgangssituation:
- Client/Outlets:
Es gibt N Clients/Outlets örtlich getrennt in ganz Deutschland verteilt. (momentan ist N = 80-90)
Im einem "Outlet" gibt es zu 90% nur einen PC(= lokale
DB) die anderen 10% sind mit 2 oder 3 PCs vertreten.
In einem "Outlet" hat die eigentliche
DB eine Größe von ca. 20-50 MB(soweit alles easy),
hinzukommen aber täglich zwischen 2 und 10 MB Bewegungsdaten, aus einer externen Datenquelle.
Diese Bewegungsdaten wird zu 95% nur für spätere Auswertungen/Statistiken benötigt.
Bei jedem "Outlet" wird mit hoher Wahrscheinlichkeit eine Firebird 2.5.x zum Einsatz kommen
- Server:
Hier sollten die Daten von allen "Outlets" in einer Datenbank zusammen laufen.
Wenn wir zum einfachen rechnen mal 100 "Outlets" annehmen wären wir das bei der reinen Programm-
DB,
bei einer Größe von ca. 5GB (100 * 50 MB). Diese Datenmenge sollte jede der gängigen Datenbanken
ohne Probleme abbilden können.
Bei den Bewegungsdaten sieht es aber schon wieder ganz anders:
365 Tage * 10 MB * ca. 100 Outlets = ca. 365 GB
Wunsch ist es die Daten für mind. 2 Jahre rückwirkend zu halten;
wo wir dann schon 730 GB wären.
Diese riesen Datenflut verteilt sich momentan auf nur 3 Tabellen,
Größenverhältnis ist hierbei 60%, 25% u. 15%
Das ganze Szenario wirft für mich folgende Fragen auf:
- Welche
DB kann das auf einem Server überhaupt sauber verwalten ?
- Welche
DB-Techniken würdet Ihr verwenden/empfehlen um Auswertungen
auf diesen Datenmengen zeitnah durchführen zu können ?
- Table Partitioning ?
- ?? was noch ??
Datenbanken die ich bis jetzt im Auge halte:
- Firebird, arbeite ich gerne & gut mit, allerdings verfügt Firebird nicht über "Table Partitioning" und fällt somit leider wohl durchs Raster. Oder hat jemand der Firebird Experten hier im Board eine Idee wie Firebird die oben genannten Datenmenge stemmen kann ?
-
MySQL, habe ich auch einiges mit gemacht; Allerdings gefällt mir das unklare Lizenzmodell nicht wirklich.
-
MsSQL, ist mir auch nicht unbekannt; Allerdings die letzten 4 Jahre in keinem Projekt verwendet. Somit bin ich was Version & Geschwindigkeit & Stabilität nicht ganz auf dem Laufenden
- PostgreSQL: Ehrlich gesagt noch in keinem realen Projekt verwendet nur ein wenig damit rum gespielt.
Aber von dem was man so hört auf jeden Falle eine mögliche Alternative.
So, jetzt seid Ihr dran;
Freue & bedanke mich für jedes Feedback,
Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.