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

Beitrag lesen

yo,

Stimmt, du schreibst nicht vor, du sagst nur, sie wären in jedem Fall suboptimal.

ganz genau, das ist mein meinung. und warum behaupte ich so etwas, obwohl auch ich die zukunft nicht kennen kann ? eben weil ich sie nicht kenne und keiner das tut. dbms ist ein mittel, daten mit einer größeren unabhängig zu halten, womit man besser für die ungewisse zukunft gewapment ist. und dieses argument ist für heutige betriebe, die sich ständig verändern, lebensnotwendig.

Ja, in vielen, aber nicht in allen, inklusive in dem Fall nicht (solange er nicht eine spezielle Nutzung der Daten angibt).

schau, du redest von speziellen fällen, die alle eintreten müssen, damit eine direkte datei-verwaltung sinn macht. wenn er aber keine speziellen angaben macht, warum konstruierst du dann welche, wo sind seine angaben, dass es sich um genau diese speziallfälle handelt ?

vielleicht solltest du mal anders an die sache herangehen. wir haben nun beide gesehen, dass es viele wenns und abers gibt, eine direkte datei-verwaltung zu implementieren, dass ich dadurch sehr eingeschränkt bin, wenn nicht sofort, dann auf die gefahr hin auf eine ungewisse zukunft. wenn es schon auf der einen seite so viele möglichen gefahren gibt, warum sollte ich mich dann nicht für ein dbms entscheiden, was spricht dagegen ? ich sehe nur negative seiten der direkten datei-verwaltung, zum beispiel dass ich mich von mitarbeitern abhängig mache, die das programmiren müssen. auf der anderen seite bin ich mit dbms immer auf der guten seite, ausserdem kennen viele diese programme, ich bin somit auch von den angestellten unabhägiger. was also spricht gegen ein dbms ?

Falls das abzusehen ist, stimme ich dir bedingt zu.

das reicht aber nicht, ich möchte auch das unvorhersehbare mit einbeziehen. und das geht nur über ein dbms. unvorhrsehbar ist laut definitiv eben nicht abzusehen.

Das ist schlicht und einfach falsch. Es kann schneller sein, ist es manchmal auch, aber genauso oft ist es langsamer. Es wird in jedem Fall langsamer sein als eine perfekt auf die Anwendungen und Daten zugeschnittene Lösung. Die Frage ist nur, ob sich der Aufwand dafür lohnt oder nicht. Meistens tut er es nicht-

also wenn es schneller sein kann, da kann es ja nur zum teil falsch sein. und wenn ich davon ausgehe, dass sich meine datenstrukturen auch mal ändern, dan gibt es nicht die eine perfekte lösung. und selbst wenn ich einen timesnap mache, dann muss gelten, dass:

  1. die datenstruktur gleich bleibt.
  2. die anzahl der datensätze gleicht bleibt
  3. der inhalt der daten gleich bleibt
  4. die Anforderung der daten immmer gleich ist

um eine optimale lösung zu erstellen. und diese vier bedingungen treten so selten ein, dass jemand schon expliziet darauf hinweisen muss, dass genau diese bedingungen gelten. und dann würde ich mir diese aussage auch so unterschreiben lassen. und nun frage ich dich, hat hier irgend jemand diese bedingungen genannt ? ist es nicht besser davon auszugehen, dass diese bedingungen nicht gelten, wenn sie keiner erwähnt, anstelle sie zu unterstellen ?

Datenbanken sind sinnvoll, das bestreitet niemand, nur nicht für jede Anwendung und alle Anforderungen.

ja, nur wenn diese 4 punkte dort oben gegeben sind. nur ist das hier nicht der fall.

Nein, ein Commit-Befehl ist eine mögliche Implementierung eines Checkpoints. Ausserdem gibt es erheblich mehr Datenbanken als Oracle und MSSQL.

haarspalterei, dann zeige mir ein dbms, dass checkpoints als commits einsetzt. nun sind oracle und mssql ja nicht gerade kleine rand dbms. und das hat auch wenig mit der ursprünglichen diskussion zu tun.

Gerade Oracle tut das nicht in jedem Fall. (Ja, ich habe genug Oracle Kurse gehabt). Die Logdateien werden aber auch auf HDs geschrieben, müssen sie ja auch zumindest ab dem Zeitpunkt, wo eine Transaktion abgeschlossen ist. Siehe dazu Definition einer Transaktion.

erstens geht das auf kosten der sicherheit, wenn keine logdateien geschrieben werden. man nimmt das risiko unter umständen bewußt in kauf, zum beispiel weil ein datenimport bevorsteht und man danach sowieso ein backup fährt. und ja, logdaten werden mit einem commit in die logdatien festgeschrieben. dies ist ein notweniger prozess, um daten in die datendateien festschreiben zu können. man kann das beides nicht vergleichen, weil das eine eine vorarbeit ist, die man leisten muss, um die datenintegrität sicherzustellen. es geht meiner meinung nach nicht ohne.

Ilja