frage zu sehr grossen datenbanken
-
hallo,
mich beschäftigt seint einiger zeit eine frage, undzwar die, auf welche weise sehr grosse datenbanken im terrabyte-bereich mit binären daten wie z.b. videodateien oder images umgehen.
ich war bisher immer der meinung, das solche datenbanken die binären daten als blobs in ihren tabellen ablegen. ein kollege meinte, die binären daten würden eher als files in einem separaten filesystem liegen und über ihre URL mit der entsprechenden db-tabelle verknüpft sein. kennt sich jemand damit aus und kann mir sagen, was dort für techniken angewandt werden zum speichern/auslesen der daten? werden derart grosse db´s überhaupt noch auf filesystemem aufgesetzt oder nur noch auf raw partitions? und macht das überhaupt noch eine server-instanz oder ist das dann automatisch ein db-cluster?
???
-
beides wird gemacht, wobei die variante wo die files ganz normal als files wo rumliegen wohl die üblichere ist.
und so grosse datenbanken haben oft auch garkeine BLOBs - die "ganz grossen" DBs sind oft irgendwelche cubes für diverse auswertungen. damit die schlipsträger was zum spielen haben.
datenbanken welche files "beinhalten", und zusammen mit den files in den mehrstelligen terabyte bereich gehen, sind oft kinderkacke wenn man nur die eigentlichen tables (ohne files) betrachtet. das ist auch der grund warum die übliche variante die ist, eben keine BLOBs zu verwenden, sondern normale files: die datenbank bleibt relativ "handlich". was grosse vorteile bei backup, speicherverbrauch am DB server etc. hat. der nachteil ist klar: die eigentlichen dateien sind nicht teil der DB, und daher auch nicht in transaktionen eingebunden.
----
mittlerweile gibt es hybrid-lösungen (SQL Server 2008 kann sowas), wo die files als files wo rumliegen, aber angeblich trotzdem zu 100% in transaktionen eingebungen sind. und über die DB als BLOBs angesprochen werden können. muss aber dazusagen dass das hörensagen" ist, und ich selbst SQL server 2008 noch nie ausprobiert habe.