Ilja: Effizienz-Vergleich MySQL-Eintrag vs. Datei-Eintrag

Beitrag lesen

yo,

Nein, genau eben nicht. Christian redet die ganze Zeit von sehr genau definierten Daten. Da kann man sehr wohl Zugriffsmethoden wählen die in jedem Fall die besten sind.

falsch, bei gleicher detanstruktur kann ein und derselbe algorithmus gut oder schlecht sein, je nachdem wieviele datensätze ich besitze und dann auch noch in abhängigkeit davon, welche daten drinne stehen. wenn das nicht klar ist, warum das so ist, lege ich es gerne da.

Daten beinhaltet nicht nur Datenstruktur sondern auch Datenmenge und ein Haufen anderer Sachen. Wenn ich Datenstruktur meine, dann schreibe ich Datenstruktur.

und was ist dann an den daten zitat "genau definierten Daten" ? die dateninhalte und anzahl der daten ist doch flexibel, ändert sich ständig. wie soll ich darauf rücksicht nehmen, wenn ich das programm schreibe, wo ich doch noch gar nicht weiss, welche daten reinkomen werden ?

Es gibt Daten die verlangen nur nach einer Sortierung.

und was machst du, wenn mein programm nun zwei sortierungen verlangt, wenn das eine vorgabe ist ?

Nein, eben genau nicht, das ist genau die Voraussetzung. Nicht alle Daten wollen nach unterschiedlichen Kriterien gefiltert werden. Die Anwendung der Daten schreibt vor ob überhaupt und wie gefiltert werden kann.

das ist doch schlecht, wenn ich als benutzer daran gebunden bin, mich nach dem programm zu richten, obwohl ich gerne was anderes hätte.

Doch, es gibt Anwendungen, da hat man sehr genaue Informationen über die Daten, inklusive Mengen, Arten, Beziehungen, genaue Datenstrukturen... (Falls dir noch was einfällt was bei Daten variabel sein kann, auch das kann bekannt sein)

wir reden hier aber von OLTP datenbanken. solche statischen datenbank kommen recht selten vor, bzw. abei handelt es sich in allre regel um abgeschlossene geschäftsjahre, wo data mining betrieben wird. dies funktioniert aber nun ganz anders. dort werden die daten wiederum nicht datensatz nach datensatz gespeichert. du verstrickst dich da immer weiter in spezialfällen, die mit der praxis gar nichts mehr gemeinsam haben.

Nein, die habe ich nicht zwangsläufig. Die Daten und Anwendungen schreiben mir das evtl vor, evtl aber auch nicht.
Warum schreibst du mir viele Benutzer vor wenn meine Anwendung die per Definition nicht haben kann?

wiedr speziallfall. di regel ist, mehrere benutzer/programme arbeiten an den daten gleichzeitig.

Ehm, was glaubst du was ein Checkpoint ist? Achja, der Abschluss der Transaktion.

ein checkpoint ist kein abschluss einer transaktion, sie werden auch gesetzt wenn keine transaktionen durchgeführt werden. des weiteren sind transaktionen auch ohne einen checkpoint abgeschlossen, da sie sichin den redo dateien befinden. fällt ein dbms aus, bevor ein checkpoint gesetzt wurde aber schon bei abgeschlossener transaktion, ist das dbms durchaus in der lage, diese transaktion auszuführen. ein checkpoint ist also kein abschluss einer transaktion. ein checkpoint schreibt daten vom cache in die datendateien.

Und wo liegen die Änderung die innerhalb einer Transkation geschrieben werden? Ja, auf der HD, weil nur dann kann man Rollforwards und Rollbacks machen wenn ein kleineres Malheur passiert.

nein, nicht alle änderungen der daten liegen auch in den datendateien auf der festplatte. ein teil befindet sich in den redo dateien, die jeweils die anweisungen enthalten, aber keine daten an sich.

Weist du was das Problem ist? Du schreibst allen Anwendungen vor, die Fähigkeiten eines DBMS zu benötigen. Das ist aber nicht so. Ob ein volles DBMS benötigt wird, sagen nur die Daten und die Anwendung aus. Wenn nur minimalste Teile eines DBMS benötigt werden weil die Anwendung einfach nicht mehr braucht und auch nicht mehr brauchen wird, dann ist es manchmal auch sinnvoller, nur diese kleinsten Teile zu schreiben die man braucht.

ok, sagen wir nur ein benutzer greift auf die daten zu, die daten stehen alle schon vor der programmierung fest, ändern sich also nicht und es darf maximal über eine sortierung gesucht werden. desweiteren weiss man, dass sich die strukturen und dateninhalte nie ändern werden und auch in zukunft die daten von nur einem programm und nur einer person zur gleichen zeit genutzt werden. dann gebe ich dir recht, dann braucht man kein dbms. und nun überlge mal, ob das sinn macht.

Ilja