Ist bigint groß genug für eine Ereignisprotokolltabelle?

7

Jetzt weiß ich, dass Bigint 2 ^ 64 ist; das heißt, mehr Atome als im bekannten Universum. Ich sollte mir keine Sorgen machen, denn mein bloßes menschliches Gehirn kann die Ungeheuerlichkeit dieser Zahl einfach nicht umgehen.

Nehmen wir jedoch an, dass ich jede Änderung in jeder Kategorie, Produkt und Reihenfolge in meinem System vom Start bis zum Ende der Zeit aufzeichne. Sollte ich über die Leistung von Tabellenschreibvorgängen besorgt sein, bevor ich mir Sorgen darüber mache, dass die Primärschlüsselwerte nicht mehr ausreichen? Sollte ich Ereignisse unterschiedlicher Prioritäten in verschiedenen Ereignistabellen aufzeichnen? Werden mir auf einer Festplatte die Atome ausgehen, bevor mir die Bigints ausgehen? Wie groß sollte ich eine Event-Log-Tabelle bekommen lassen, bevor ich mit dem Archivieren / Löschen beginne?

    
tags2k 10.11.2008, 10:58
quelle

5 Antworten

13

Selbst wenn jeder Ihrer Einträge nur 1 Byte hätte, würden 2 ^ 64 Einträge etwa 18000000 TB auf Ihrer Festplatte belegen, also sollten Sie sich darüber keine Gedanken machen.

    
schnaader 10.11.2008, 11:05
quelle
5

Wenn Ihre Anwendung einmal pro Millionstelsekunde einen Datensatz zur Tabelle hinzugefügt hat, würde sie über fünfhunderttausend Jahre laufen, bevor ihr keine Schlüssel mehr zur Verfügung standen.

    
packynix 11.01.2011 18:08
quelle
2

"Wie groß sollte ich eine Event-Log-Tabelle bekommen lassen, bevor ich mit der Archivierung / Löschung beginne?"

Löschen Sie niemals die Ereignisprotokolle - die Informationen haben einen signifikanten Wert.

Wenn jedoch ein Manager darauf besteht, dass ein Archiv erforderlich ist, können Sie die Speicherkosten im Vergleich zu den Kosten Ihrer Zeit angeben, um (a) darüber nachzudenken, (b) eine zweite und dritte Meinung einzuholen und dann (c ) schreibe eine Prozedur zum Archivieren von Protokollsätzen.

Die Lagerkosten sinken. Ihre Zeit ist besser auf etwas anderes als das Löschen von Protokolldatensätzen.

Unterm Strich: Sie haben die Erlaubnis, mit den Händen aufzuhören. Es ist alles gut. Du machst keinen grundlegenden Fehler.

    
S.Lott 10.11.2008 11:57
quelle
0

Es ist sehr unwahrscheinlich, dass Ihnen jemals Primärschlüsselwerte ausgehen. Möglicherweise müssen Sie jedoch berücksichtigen, wie Sie auf die Protokolltabelle zugreifen möchten, um Daten abzurufen. Verwenden Sie dies, um zu informieren, wann Sie die Daten archivieren oder bereinigen sollten. Wenn die Protokolldaten häufig gelesen werden, denken Sie darüber nach, Indizes hinzuzufügen, um die Leseleistung zu verbessern, bedenken Sie jedoch, dass Indizes für jeden hinzugefügten Datensatz gepflegt werden müssen.

    
Richard Dorman 10.11.2008 11:06
quelle
0

Die Art und Weise, wie wir damit umgehen, besteht in der Bereitstellung einer Protokollarchivierungsfunktion, die die Protokolltabelle nach Jahren in separate Datenbanken aufteilt, sodass wir die Identität in unserer LogEvent-Tabelle zurücksetzen können.

Wir haben auch verschiedene Protokolltabellen, obwohl nur zwei Haupttabellen.

    
David Wengier 10.11.2008 11:05
quelle

Tags und Links