AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Mini-Umfrage: Wer von euch benutzt Transactions auf Windows?
Thema durchsuchen
Ansicht
Themen-Optionen

Mini-Umfrage: Wer von euch benutzt Transactions auf Windows?

Ein Thema von Assarbad · begonnen am 6. Nov 2018 · letzter Beitrag vom 8. Nov 2018
Antwort Antwort
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#1

AW: Mini-Umfrage: Wer von euch benutzt Transactions auf Windows?

  Alt 7. Nov 2018, 21:36
"Transaktionen geben ja Garantien", das ist für mich der entscheidende Satz. In "Datenbanken" die ich meine -ACID konform- wird das tatsächlich eingehalten. Ein Operation funktioniert ganz oder gar nicht. Punkt.
Richtig. Aber du könntest nicht innerhalb einer Transaktion nach dem atomaren Löschen nochmal was mit der Datei machen (also zumindest nicht mit dem vorher existierenden Inhalt). Wenn aber ein anderer Prozeß dazwischengrätscht und per DeletFile eine Datei zum Löschen markiert, finde ich es sinnvoll, daß die Garantie der Transaktion aufrechterhalten wird, sobald die Transaktion abgeschlossen wird. Und für diese Garantie muß sich das OS dann eben leider über die Markierung zum Löschen von außerhalb der Transaktion hinwegsetzen (wenn das DeleteFile von außerhalb überhaupt glückt, wäre mal interessant das zu testen). Ist doch sinnvoll, oder hab ich hier komplett was verpeilt? Priorisierung gibt es in allen möglichen Operationen (denk mal an ACEs in ACLs), bei einem inhärent asynchronen Dateisystem ist dies die - zumindest für mich und scheinbar auch die Designer von NTFS - logischste Vorgehensweise.

Im oberen Teil Deines Zitats sieht die Darstellung des Löschvorgangs allerdings so aus, als sei dies gar nicht garantierbar, damit neigt sich für mich die Waage Richtung Designfehler.
Das verstehe ich gerade nicht. Dein zitiertes Beispiel geht ja davon aus, daß von außen während einer laufenden Transaktion eine Datei zum Löschen markiert wird. Aber innerhalb der Transaktion wird mir ja garantiert, daß bspw. ein Schreibvorgang ausgeführt wird oder gelesene Daten konsistent sind. Ich fände es also eher befremdlich wenn die Markierung von außen Vorrang genießen würde und bei Abschluß meiner Transaktion die Datei das zeitliche segnet, weil die Löschmarkierung jetzt plötzlich greift. Aber vielleicht verpeile ich ja etwas vollkommen?

Das Delete müsste ja nicht zurückkommen, bevor es seine Arbeit wirklich gemacht hat. Wäre es so, dann würden alle stöhnen, wie lahmar...ig das System ist.
Eben.

Ich würde gerne wissen, wozu diese Umfrage dient? Danke für eine kurze Info.
Vor allem dazu meine Neugier zu dem Thema zu stillen. Auf ner Q&A-Seite wie StackOverflow könnte man so eine Frage nicht stellen. Daher ist sie auch unter K&T und nicht bei Win32 untergebracht. Bitte, gern
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Mini-Umfrage: Wer von euch benutzt Transactions auf Windows?

  Alt 8. Nov 2018, 08:25
..
Im oberen Teil Deines Zitats sieht die Darstellung des Löschvorgangs allerdings so aus, als sei dies gar nicht garantierbar, damit neigt sich für mich die Waage Richtung Designfehler.
Das verstehe ich gerade nicht. Dein zitiertes Beispiel geht ja davon aus, daß von außen während einer laufenden Transaktion eine Datei zum Löschen markiert wird. ..
Das Problem ist wahrscheinlich eher, dass ich nicht verstehe. Schon das "Wording" in dem Thread.
Löschen = eigentlich nur markieren (aber nicht physikalisch gelöscht, ok, irgendwie kennt man das seit der Sache mit dem Fragezeichen im Dateinamen - FAT Dateisystem)
Nur als "gelöscht" markiert = Wird aber dann wenigstens so behandelt und dargestellt (dem Anwender) und zwar synchron?
Oder eher nicht? > Wahrscheinlich, denn das angezeigte Dateien nicht mehr auffindbar sind usw. kennt man ja. (Eigentlich falsch, denn das kennt man auch aus DB, wo man eine OP mit veralteten Daten startet)
An der Stelle würde ich aus Datenbanksicht am ehesten von expliziten oder impliziten Locks sprechen, die vielleicht genutzt werden (könnten, aber wohl nicht unbedingt werden).

Der Designfehler ist vielleicht schon, dass man die transaktionsbasierte Datei OP wahlweise anwenden kann. Das ist in einer DB nicht möglich. Alles sind Transaktionen (man kann - aus was für Gründen auch immer- lediglich sagen, das man mit einem anderen Isolationlevel auf die Daten schauen möchte- was an der Transaktion nichs ändert, sondern m.E. eher zu einer Art Illuminatenwissen führt).

Ich habe also ein System, in dem erstmal egal ist, wer, was, wann ändert, löscht, erzeugt. Das funktioniert, wenn es von einem Menschen halbwegs sinnvoll bedient wird und darunter die Abläufe schnell genug sind, dem Bedienfortschritt zu folgen (und die Dateien klein genug und der freie Platz groß genug). Es erinnert mich etwas an das Reißverschlusssystem im Straßenverkehr, dass ich neulich im Urlaub auch beim Linksabbiegen erleben durfte.
Darauf setze ich ein Transaktions-System. Das kann offenbar seine Garantien nur erfüllen, in dem es andere ("normale") Prozesse im Zweifel schlicht auflaufen lässt.
Hier irgendwo sehe ich ein Designproblem.
Auch wenn es interessant ist, die Diskussion ist eigentlich müßig, spätestens angesichts des nahen Todes des Systems.

Interessant dagegen scheint mir immer wieder der Umgang mit diesen Dingen. Was war an der Funktion nun das Problem? Niemand brauchte sie? Niemand glaubte, sie zu brauchen? Niemand, der sie gebrauchte, hatte damit den gewünschten Erfolg? Niemand, der sie hätte gebrauchen können, hat der Funktion die nötige Standing zugetraut (Die zumindest haben Recht behalten). Damit bin ich über 7 Ecken an meinem Windows Dauerkritikpunkt angelangt. Der gleichzeitig mein Pluspunkt bei Delphi ist, hier sehe ich mehrheitlich Kontinuität.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#3

AW: Mini-Umfrage: Wer von euch benutzt Transactions auf Windows?

  Alt 8. Nov 2018, 08:51
Nur als "gelöscht" markiert = Wird aber dann wenigstens so behandelt und dargestellt (dem Anwender) und zwar synchron?
Asynchron (zumindest bei NTFS).

Ich habe also ein System, in dem erstmal egal ist, wer, was, wann ändert, löscht, erzeugt. Das funktioniert, wenn es von einem Menschen halbwegs sinnvoll bedient wird und darunter die Abläufe schnell genug sind, dem Bedienfortschritt zu folgen (und die Dateien klein genug und der freie Platz groß genug). Es erinnert mich etwas an das Reißverschlusssystem im Straßenverkehr, dass ich neulich im Urlaub auch beim Linksabbiegen erleben durfte.
Darauf setze ich ein Transaktions-System. Das kann offenbar seine Garantien nur erfüllen, in dem es andere ("normale") Prozesse im Zweifel schlicht auflaufen lässt.
Hier irgendwo sehe ich ein Designproblem.
Okay, ich nicht. Weil ich einsehen kann, warum im Sinne der Vorhersehbarkeit eine der Operationen Vortritt bekommt. Aber es gibt definitiv ein Dokumentationsproblem bei DeleteFile: Deletes an existing file ist eben mal ne fette Lüge, auch wenn das bei hinreichender Geschwindigkeit des Systems üblicherweise danach aussieht.

Auch wenn es interessant ist, die Diskussion ist eigentlich müßig, spätestens angesichts des nahen Todes des Systems.
Stimmt

Interessant dagegen scheint mir immer wieder der Umgang mit diesen Dingen. Was war an der Funktion nun das Problem? Niemand brauchte sie? Niemand glaubte, sie zu brauchen? Niemand, der sie gebrauchte, hatte damit den gewünschten Erfolg? Niemand, der sie hätte gebrauchen können, hat der Funktion die nötige Standing zugetraut (Die zumindest haben Recht behalten). Damit bin ich über 7 Ecken an meinem Windows Dauerkritikpunkt angelangt. Der gleichzeitig mein Pluspunkt bei Delphi ist, hier sehe ich mehrheitlich Kontinuität.
Als bekennender Ex-Delphianer lasse ich mich auf die Diskussion lieber nicht ein, sonst muß die Feuerwehr anrücken

@Namenloser: Danke für den interessanten Link! Könnte durchaus auch eine Rolle spielen, die Komplexität wieder herunterzuschrauben, stimmt.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz