# Datenbank Grundfrage



## Reggie (24. Okt 2010)

Tach zusammen!

Ich habe eine kurze Frage an Leute die schon Erfahrung mit grossen Datenbanken sammeln konnten.

Wenn man ein Programm aufbaut das mehrere Mandanden beinhalted und mit einem grossen Datenvolumen rechnet. Ist es dann besser das alles in einem Table abzuhandeln oder mehrere Tables in der Form "Adress233" für verschiedene mandanten zu erstellen?

Vielen Dank im Voraus!


----------



## Marcinek (24. Okt 2010)

OpenCRM supportet beide Ansaätze und man kann sich das auswählen.

In meinem gegenwärtigen Produkt vereinen wir mehrere Mandaten in einer Datenbank...

I.d.R. können Datenbanken Terrabyte größen Verwalten, man muss nur zusehen, dass man entsprechende performante selects macht und nicht überall mit potenzmengen arbeitet.


----------



## Gast2 (25. Okt 2010)

Und die Indexe schlau setzen...

Für jeden Mandanten eine eigene Datenbank oder Schema in einer Datenbank zu haben ist eher unüblich. Unsere DBs sind etliche Terrabyte groß und haben wenn dies DBAs, Systemoperating (NAS, SAN, Netzwerkkollegen etc) und die Programmierer sich auskennen in der Regel keine Perfomace Probleme durch große Datenbanken. Das kann aber schnell mal kommen - wenn du z.B. bei einer MSSQL vergisst die Backup und Wartungspläne ordentlich zu setzen läuft dir schnell mal das Redolog voll... Dann wird es ekelhaft. Oracle hat da andere Angewohnheiten - aber man kann schon sagen das eine sehr große Datenbank eineiges an Aufmerksamkeit erfordert. Aber das ersparst du dir nicht mit auftrennen der Datenbestände auf mehrere Datenbanken/Schemas solange die immer noch auf dem selben Host laufen.


----------



## Reggie (25. Okt 2010)

Ok, dass heisst vom Datenbankdesign her Primaryindex auf recnum und dann die Indexe immer auf über die Mandantennummer laufen lassen aber letztendlich am besten alles in einem Table abhandeln.

Müsste wohl die beste Methode sein oder? Hätte auch ein Problem mit hibernate andersrum.

Vielen Dank für die Antworten.


----------

