Hallo,
ich stelle momentan folgende Überlegung an, wäre über Meinungen\Tipps und Ansätze dazu sehr dankbar:
Ich möchte für zyklische Daten, die aber nur eine gewisse Vorhaltungsdauer haben eine Art Ringspeicher in der Datenbank(Ziel SQL Server >=2005) realisieren.
Also konkret handelt es sich um sehr viele Messwerte, welche in die Datenbank sollen, welche aber nur so und so viele Monate gespeichert werden sollen. Wie viele das sein werden, weiß ich bevor die Messung beginnt. Kann also die max. Größe berechnen.
Mein Ideen dazu:
Wenn ich nun die Daten immer wieder in die Datenbank schreibe und nur mittels einer stored procedure die Daten lösche die zu alt sind, verursache ich dann nicht eine enorme Fragmentierung der Datenbank?
Gibt es eine Möglichkeit die Daten immer wieder an die gleiche Stelle zu schreiben? Wenn ich zum Beispiel vorher die Gesamtdatensätze anlege mit einer ID und dann über Programmlogik immer nur ein Update an entsprechenden ID-Position mache, habe ich dann keine Fragmentierung?
Oder ist die Fragmentierung einfach zu Vernachlässigen und ich sollte einfach die alten Daten immer löschen? Oder in bestimmten Zeitabständne eine Defragmentierung durchführen? Wenn ja wie mache ich das in der Datenbank.
Des weiteren wäre es vermutlich sinnvoll die Datenbankdateien vorher schon mit Ihrer max. größe anzulegen oder?
Vielen Dank
Chris
ich stelle momentan folgende Überlegung an, wäre über Meinungen\Tipps und Ansätze dazu sehr dankbar:
Ich möchte für zyklische Daten, die aber nur eine gewisse Vorhaltungsdauer haben eine Art Ringspeicher in der Datenbank(Ziel SQL Server >=2005) realisieren.
Also konkret handelt es sich um sehr viele Messwerte, welche in die Datenbank sollen, welche aber nur so und so viele Monate gespeichert werden sollen. Wie viele das sein werden, weiß ich bevor die Messung beginnt. Kann also die max. Größe berechnen.
Mein Ideen dazu:
Wenn ich nun die Daten immer wieder in die Datenbank schreibe und nur mittels einer stored procedure die Daten lösche die zu alt sind, verursache ich dann nicht eine enorme Fragmentierung der Datenbank?
Gibt es eine Möglichkeit die Daten immer wieder an die gleiche Stelle zu schreiben? Wenn ich zum Beispiel vorher die Gesamtdatensätze anlege mit einer ID und dann über Programmlogik immer nur ein Update an entsprechenden ID-Position mache, habe ich dann keine Fragmentierung?
Oder ist die Fragmentierung einfach zu Vernachlässigen und ich sollte einfach die alten Daten immer löschen? Oder in bestimmten Zeitabständne eine Defragmentierung durchführen? Wenn ja wie mache ich das in der Datenbank.
Des weiteren wäre es vermutlich sinnvoll die Datenbankdateien vorher schon mit Ihrer max. größe anzulegen oder?
Vielen Dank
Chris
Comment