Hello,
Ähm, du willst also praktisch die Funktion flat_rec_update() nutzen, um die Datensätze zu archivieren? Das finde ich nicht so gut. IMHO sollte flat_rec_update() nur dazu da sein, Datensätze innerhalb einer Datei aktuell.dat zu erneuern.
Ja, genau. Die Funktion ist eine Basis-Funktion, sozusagen unser BIOS.
Mittels flat_rec_insert() kann man einen oder mehrere Datensätze in aktuell.dat schreiben. Ich dachte eigentlich auch nicht daran, dies für die Archivierung zu nehmen.
Mittels flat_rec_insert() kann man einen oder mehrer Datensätez in einm beliebigen File (mit passendem Format) NEU anlegen, also mit einer neuen ID versehen.
Mit flat_rec_update() kann mann Datansätze in einem beliebigen File (passender Struktur) überarbeiten, oder auch unter Beibehaltung ihrer ID dem File hinzufügen, wenn sie dort noch nicht vorhanden sind.
Ich dachte, die Funktion flat_rec_copy() für die Archivierung vorzusehen. Diese soll aufgerufen werden flat_rec_copy
flat_rec_copy() ist eigentlich bei den Basisfunktionen falsch einsortiert, da es ein Wrapper ist. Mit Hilfe von rec_copy() wird ein Datensatz aus einer Datei geholt, im Fiormular bereit gestellt und dann dann nach Bearbeitung mit einer neuen ID wieder abgespeichert. Da zu aber später mehr.
Das macht man mit einer Funktion do_archiv(<ganz viele Parameter>) oder wie die auch immer heißen wird. Die holt die Datensätze mit flat_rec_select() aud einem File, filtert sie mittels rec_filter() oder rec_search() (osder wie die heißen werden) und speichert sie mittels flat_rec_update() in der Zieldatei ab.
Achtung: Die Datensätze kriegen in einer Archivsdatei wieder eine neue ID! Sie kriegen dort eben die dortige nächste höhere ID, egal, wie die alte war.
Das bekommen sie garantiert nicht, da es sich immer noch um dieselben Daten handelt. Unser Nummernkreis hat eine Range von "integer minus 1 Bit",
<cite>
Die Größe eines Integer-Wertes ist plattformabhängig, ein Maximalwert von ungefähr zwei Milliarden ist jedoch üblich (vorzeichenbehafteter 32-Bit-Wert). PHP unterstützt keine vorzeichenlosen Integer-Werte.
http://de3.php.net/manual/de/language.types.integer.php
</cite>
Wieviele Einträge willst Du täglich machen, um zwei Milliarden Datensätze à ca. 500Bytes oder mehr also 1 Terabyte Daten einzutippen. Wenn Du die Hälfte davon erreicht hast, dann kannst Du immer noch das System verändern. dann bin aber schon tot.
Hinweis:
Wir haben eine Datei aktuell.dat, welche immer höhere ID's vergibt. Wenn die alten Datensätze archiviert werden, so sind die ersten ID's unvergeben, werden aber nicht wieder neu vergeben.
Die IDs SIND vergeben. Und die bleiben auch vergeben. Es besteht keinerlei Anlass für die nächsten 4085 Jahre, das zu ändern.
pro Minute => pro Sunde => am Tag => im Jahr => max erreicht
1 60 1.440 525.600 4085,77 Jahre
60 3600 86.400 31.536.000 68,00 Jahre
360 21.600 518.400 189.216.000 11,34 Jahre
Zweifellos werden so die ID's mit der Zeit immer höher! Vielleicht ist man irgendwann so dann in der Datei aktuell.dat bei der Zahl 120000 oder so ;-)
Und wen stört das?
Gibt es da vielleicht eine PHP Funktion, die zuerst die Datensätze in $_file['data'] zählt und anschließend die Datensätze wieder zusammenrückt, also wenn vorher vielleicht 20 das niedrigste war, danach 22, so werden die 1 und 2? Anschließen wird die lastid gleich den Anzahl der Datensätzen gesetzt.
Da weigere ich mich strikt, sowas zu machen. Ich habe allerdings noch ein paar alte 20MB-Festplatten. Wenn wir die wieder benutzen wollen, mache ich mir Gedanken ;-)
===========================================================================
Aber hier würde mich mal die Meinung der anderen
Datenkünstler interessieren.
Ein Datensatz, der von aktuell.dat -> archiv.dat geschoben wird, wird in keinster Weise geändert. Ein Datensatz kann _nicht_ von einer Archivs Datei wieder nach aktuell.dat gelangen!
Doch. Und zwar für den Fall, dass aktuell verloren geht, kann er von Datensicherung wieder zurück nach aktuell gelangen. Außerdem scheiben wir ja die Tools nicht nur für Dein Programm, sondern als Werkzeugkasten für News, Mail-Verteiler, News, Gästebücher, kleine Shops usw.
Sonst würd sich die Mühr nicht lohnen
Datenrücksicherung? Wie stellst du dir das vor, was soll da passieren?
Bei der Datensicherung werden Daten gesichert, solange sie noch da sind. ;-P
Also ich muss ehrlich sagen, dass wird zu kompliziert, wer braucht das?
Was ist an Datensicherung kompliziert? Ein Kopfdruck und sei startet.
So, nun haben wir wirder genug Diskussionsstoff. Vielleicht interessiert es ja doch noch jemand anderes, auch wenn der Thread schon ganz unter steht.
Liebe Grüße aus http://www.braunschweig.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau