Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Größe einer SQL Datenbank (im Voraus) errechnen (https://www.delphipraxis.net/16739-groesse-einer-sql-datenbank-im-voraus-errechnen.html)

Plague 22. Feb 2004 17:53


Größe einer SQL Datenbank (im Voraus) errechnen
 
Hallo,

ich möchte in den nächsten Tagen eine SQL Datenbank in Betrieb nehmen. Da der Speicherplatz dafür nur begrenzt ist, möchte ich schon vorher wissen, wie viele Einträge ich vornehmen kann. Pro Eintrag werden so ca. 8-9 Datensätze erfolgen. Gibt es da einen Schlüssel nach dem ich das berechnen kann?

MfG
Thomas

Hansa 22. Feb 2004 18:00

Re: Größe einer SQL Datenbank (im Voraus) errechnen
 
Nein, gibt es nicht. Die Daten an sich beeinflussen nur den minimalen Platz. Mit Triggern, Indices, Foreign Keys usw. sieht das ganze total anders aus. Mache mal mit einer Testdatenbank ein SQL-Backup und vergleiche das mit der ursprünglichen Größe. Insbesondere wächst die Datenbank nicht proportional zum Datenaufkommen.

Vielleicht gibt es ein Tool dafür. Glaube aber nicht.

Robert_G 22. Feb 2004 18:13

Re: Größe einer SQL Datenbank (im Voraus) errechnen
 
Ich konnte in Oracle noch keine direkte Beziehung zwische Anzahl der Datensätze & Tablespacegröße feststellen.
Was mir aufgefallen ist, dass die RowID (dient in Oracle zum lokalisieren eines Datensatzes auf Tablespace & Plattensektor) sich oft ändert. Ich denke, dass die DB alle Datensätze regelmäßig so hinschiebt, dass möglichst wenig Platz verbraucht wird und die Fragmentierung auf ein Minimum reduziert wird.

Vorhersagen lassen sich da nicht wirklich machen.
Indizes, Keys,... brauchen zusätzlichen Speicher, wenn du jetzt noch den Analyzer drüberjagst wird der benötigte Platz vervielfältigt, aber die Geschwindigkeit steigt um ein Vielfaches, und, und, und, ...
Du darfst auch nicht vergessen das die Rollbacksegmente mit der Anzahl der gleichzeitigen Anmeldungen wachsen sollten und deshalb auch sehr groß werden können.

Hansa 22. Feb 2004 20:35

Re: Größe einer SQL Datenbank (im Voraus) errechnen
 
Dann kommt dann noch PageSize und solche Sachen ins Spiel. Und die Geschwindigkeit ist auch nicht zu vergessen. Wird viel kompromiert dauert es lange und umgekehrt. Schau Dir mal an, wie groß eine leere Datenbank bereits ist. Das liegt ganz einfach daran, daß die Definition der Datenbank auch ohne Daten gespeichert ist.

[EDIT]Bei Interbase kommt dann noch die MGA ins Spiel, so daß die Daten in unterschiedlichen Version mehrfach vorliegen können. Daß alles vernünftig zu schätzen, dürfte fast unmöglich sein und sollte bei heutigen Festplatten auch kein Problem darstellen.

Lemmy 23. Feb 2004 07:07

Re: Größe einer SQL Datenbank (im Voraus) errechnen
 
Hi,

wenn man eine SQL-DB in Betrieb nehem will, sollte man diese vorher testen, ob sie mit den Client-Programmen auch zusammenarbeitet. Zu diesem Test gehört dazu, die Datenbank auch mal mit einer großen Menge an Datensätzen zu füllen, denn mit wenigen Datensätzen ist jede Datenbank schnell. Damit solltest Du auch zumindest die Größenordnung abschätzen können, welchen Platz die DB letztendlich belegt.

Grüße
Lemmy


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz