Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Datenbankhandling über eine Cloud? (https://www.delphipraxis.net/198474-datenbankhandling-ueber-eine-cloud.html)

sko1 6. Nov 2018 09:03

Datenbankhandling über eine Cloud?
 
Hallo,

ich möchte Datenbanken über eine Cloud "verteilen" und synchronisieren.

Irgendwie fehlt mir jedoch die Vorstellung, was passiert wenn das Cloudsystem (ggf. langsamer Upload) dabei ist, die Datenbank von lokal zum Cloudspeicher zu kopieren und gleichzeitig während des Kopierens wieder Datensätze geändert werden?

Kann mir da jemand mit einem Denkansatz weiterhelfen?

Ciao
Stefan

haentschman 6. Nov 2018 09:32

AW: Datenbankhandling über eine Cloud?
 
Moin...8-)

Was ist für dich eine Datenbank, welches DBMS?

jobo 6. Nov 2018 09:43

AW: Datenbankhandling über eine Cloud?
 
Das klingt für mich etas schief.
Entweder,
Du hast eine DB in der Cloud, as a service, vielleich auch direkt, Du hast Images, die Du beliebig anwerfen und vermieten kannst oder ähnliches
oder
Du hast eine DB im Netz(Cloud), deren Daten Du mit diveresen Clients replizieren, synchronisieren willst.

Vielleicht kannst Du mal erläutern, was es genau sein soll.

TigerLilly 7. Nov 2018 06:53

AW: Datenbankhandling über eine Cloud?
 
"Cloud" ist ein recht wolkiger Begriff. Es gibt dateibasierte Konzepte (Dropbox, GoogleDrive etc), da hast du deine Dateien lokal + ein eigener Dienst synchronisiert sie auf und von einem Server.
Oder du hast einen echten Server irgendwo im Netz (so wie Azure oder die Amazon Cloud), dort laufen Programme und Dienste.

"Datenbankhandling über eine Cloud" kann heißen, dass du deine Datenbank in die Dropbox legst. Dann wird die ganze Datei bzw Datenbank filebasiert synchronisiert. Wie du richtig sagst funktioniert das bei gleichzeitigen Zugriffen nicht, denn physisch gibt es die DB ja mehrfach.

Liegt die DB aber zB in Azure, dann gibt es sie nur 1x + der DB-Server kümmert sich um die Synchronisation der Zugriffe.

Google mal nach Replication und verteilten Transaktionen. :thumb:

hoika 7. Nov 2018 07:20

AW: Datenbankhandling über eine Cloud?
 
Hallo,
Zitat:

Irgendwie fehlt mir jedoch die Vorstellung, was passiert wenn das Cloudsystem (ggf. langsamer Upload) dabei ist, die Datenbank von lokal zum Cloudspeicher zu kopieren und gleichzeitig während des Kopierens wieder Datensätze geändert werden
Das muss die Datenbank zusammen mit dem Cloudsystem handeln, z.B. über Datensatz-Sperren.
Das "Kopieren" ist ein ganz normales Datenbank-Update, so als wäre es lokal.

skoschke 8. Nov 2018 13:30

AW: Datenbankhandling über eine Cloud?
 
Vielleicht etwas genauer:

Auf dem Handy gibt es eine SQLite-Datenbank, die in OwnCloud "gespiegelt" wird.
(es könnte aber auch OneDrive oder sonstwas sein, was der Anwender später benutzt).

Auf der anderen Seite gibt es eine Windows-Anwendung, welche diese Datenbank wiederum "gespiegelt" aus der Cloud erhält.

Wenn die Windows-Anwendung nun darin Datensätze ändert, geht das über die Cloud-Synchronisation dann auch wieder zurück zum Handy...

Das sollte unproblematisch laufen, nur was passiert wenn auf der Windows-Seite und gleichzeitig auf der Handyseite etwas an der DB geändert wird?

Ciao
Stefan

TigerLilly 8. Nov 2018 13:39

AW: Datenbankhandling über eine Cloud?
 
Am Beispiel DropBox:
https://www.dropbox.com/de/help/sync...onflicted-copy

Das Problem ist, dass DropBox bzw alle dateibasierten Cloudlösungen die DB-Schreibzugriffe nicht als solche behandeln, sondern als reine Dateiänderungen.

Du verstehst diesen Unterschied?

Entweder bekommst du wie bei DropBox eine zweite "Kollisions"-Datei oder es gilt der "Zweite gewinnt".

skoschke 8. Nov 2018 14:01

AW: Datenbankhandling über eine Cloud?
 
OK, danke, jetzt habe ich es verstanden, bringt mich aber nicht so richtig weiter :-(

Mir fällt kein Weg ein, das ohne diese Dateikonflikte zu lösen, oder hat jemand eine Idee dazu?

Ciao
Stefan

hoika 8. Nov 2018 14:02

AW: Datenbankhandling über eine Cloud?
 
Hallo,

Zitat:

nur was passiert wenn auf der Windows-Seite und gleichzeitig auf der Handyseite etwas an der DB geändert wird?
der letzte gewinnt.
Das musst Du dann selber programmieren (z.B. ein DB-Log mitführen und auswerten).

Dafür ist OwnCloud nicht gedacht.

TigerLilly 8. Nov 2018 14:08

AW: Datenbankhandling über eine Cloud?
 
@hoika: Das ist kein guter Tipp, weil du eine DATEI(!)Kollision mit konkurrierenden Schreibzugriffen auf eine DB vermischt.

@skoschke: Sei kreativ! 8-)
- Sorg dafür, dass nur einer in die DB schreiben kann.
- Nimm einen SQL-Server und mach alle(!) Schreibzugriffe Konkurrent + vergiss die DropBox.
- Bestimme einen Client als Master, der darf in die DB schreiben. Diese DB wird via DropBox synchronisert. Alle(!) anderen Clients erzeugen nur Änderungsprotokolle, die via DropBox zum Master gesynct werden, der sie dann in die DB überträgt. Aber Achtung: Das ist nicht trivial.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz