Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenbank in OneDrive (https://www.delphipraxis.net/213108-datenbank-onedrive.html)

TigerLilly 26. Mai 2023 09:19

Datenbank: MSSQL • Version: 2019 • Zugriff über: ADO

Datenbank in OneDrive
 
Ich versuch das grad wem auszureden :- ) , aber hat das von Euch schon mal wer getestet?

MSSQL Server und die DB liegt auf OneDrive.
Ablauf:
- MSSQL Server Dienst starten, mit der Client Software arbeiten, MSSQL Dienst beeenden
- OneDrive snyct die DB zum anderen Rechner
- der startet seinen MSSQL Dienst und die Softwtare etc.

Danke für Info!

IBExpert 26. Mai 2023 09:35

AW: Datenbank in OneDrive
 
aus meiner sicht (wie auch aus deiner) ein doofe idee, wird dann noch blöder, wenn
die datenbank dann auch noch größer wird.

Die meisten Cloudsysteme syncen ja im Hintergrund loakle dateien, so das der eine zwar
meint, das seine db lokal ja schon abgeschlossen geschrieben wurde, das ist aber nur
die lokale kopie und wenn du dann vom clouddrive auf dem anderen Rechner sofort
loslegst weil du nicht bis zum sync vorgang ende warten kannst oder willst, hast
du halt dort noch den Zugriff auf den alten Datenbankinhalt und sobald
dann von da änderungen kommen sind ggf nach der nächsten sync die Änderungen vom ersten
weg.

Das ist ja der Grund warum man auf lokalen oder Netzwerkdateisystemen die Dateien
auch sperren kann.

TigerLilly 26. Mai 2023 09:44

AW: Datenbank in OneDrive
 
Ja, das Syncen (DB ist ca. 1 GB) kann schon dauern. Die müssten sich irgendwie absprechen und sich auf - keine Ahnung - 1h Zeitversatz (ab Aufdrehen Rechner) einigen.

Aber mich würde interessieren, ob das schon wer konkret ausprobiert hat. (Egal ob blöde Idee oder nicht).

Die Frage gab es nämlich schon öfter. PC im Office und man möchte die Daten aber mithaben, wenn man mit dem Laptop unterwegs ist. Da wär ein automatischer Snyc schon praktisch.

haentschman 26. Mai 2023 10:02

AW: Datenbank in OneDrive
 
Zitat:

PC im Office und man möchte die Daten aber mithaben, wenn man mit dem Laptop unterwegs ist. Da wär ein automatischer Snyc schon praktisch.
Stichwort MSSQL Replikation über VPN:
https://learn.microsoft.com/de-de/sq...l-server-ver16
Mergereplikation (hin und her):
https://learn.microsoft.com/de-de/sq...l-server-ver16
So ähnlich machen es die Außendienst Mitarbeiter...

...alles Andere sind Krücken. Deshalb hat sich noch keiner dran gewagt. :?

TigerLilly 26. Mai 2023 10:36

AW: Datenbank in OneDrive
 
Ja, da hast du natürlich recht. Aber wir reden da von Ein-Personen Firmen, da gibt es kein VPN und alles ist hemdsärmelig. Nicht, dass das gut wäre!

Unbestritten, dass andere Lösungen besser wären, mir ging es um Erfahrungen.

haentschman 26. Mai 2023 10:48

AW: Datenbank in OneDrive
 
Zitat:

mir ging es um Erfahrungen
Wirst du keine finden. Mit einer Datenbank direkt übers Internet arbeiten... Wir haben gelernt, daß das einfach Schei... ist. Deshalb macht man das über REST.

Was passiert wenn das Sync fehlschlägt, es keiner merkt und die Datenbank mit der Defekten überschrieben wird. Das wäre mir zu unsicher.

:?

Edelfix 26. Mai 2023 11:02

AW: Datenbank in OneDrive
 
Bei uns gibt es einen Kunden der darauf besteht mit seinem Laptop unterwegs offline zu arbeiten.

Einen Tag vorher wird ein Backup von Server gemacht und auf seinem Laptop lokal ein Restore der ADS DB.

Wenn er wieder zurück ist dann das Spiel rückwärts.

Muss er händisch machen. Weil sonst die Gefahr zu groß ist das beim Restore etwas schief geht und keiner etwas mit bekommet.

EarlyBird 26. Mai 2023 11:13

AW: Datenbank in OneDrive
 
Eine andere Idee wäre vieleicht noch die Daten änderungen einfach als csv in OneDrive zu speichern.
Dann mit einer z.B. Laufwerksüberwachung die Daten jeweils importieren.
Für den Austausch der Daten verwendet ihr wie gewünscht OneDrive ohne die DB in OneDrive zu haben

anse 26. Mai 2023 11:22

AW: Datenbank in OneDrive
 
Muss es MSSQL sein? Weil, wenn schon hemdsärmelig, dann eben auch eine datei-basierte Datenbank wie SQLite. Da hast du eine einzige Datei, die du synchronisieren musst, und das System ist dafür auch ausgelegt dass man die herumkopiert.

IBExpert 26. Mai 2023 13:11

AW: Datenbank in OneDrive
 
bzgl Erfahrung: Eines meiner ersten Projekte kam mir da gerade wieder in den sinn:
Eine Anwendung mit dbase, die ein Kinderklamottenladenbesitzer von mir programmiert
bekam. Da der 5 Filialen hatte, brauchte der auch immer die Artikelstammdaten
jeweils da wo er gerade war, um bestände von hand anzupassen und ggf.
nachbestellungen zusammenzustellen.

Einige merken schon, Das ganze war ca 1988 und statt mssql war das da dbase, statt
oneDrive eine Diskette, statt 1gb ca 30kb aber sonst ziemlich ähnlich und ähnlich
modern ;-)

Da die Computer damals deutlich schwerer waren und nicht jeder das komplette ding
mitschleppen wollte, war das für ihn eine sehr gute lösung, die er auch ca 2 Jahre
bis zum verkauf der läden benutzt hatte.

Zurück zur (nahezu) Gegenwart:

Ich weiss von einem Kunden, der mit firebird 1.x embedded so was in der art mal versucht
hatte. Basierte nicht auf one drive, sondern auf ftpdrive (so eine art laufwerkssimulator
der am anderen ende auf ftp zugreift). Das war nahezu unbenutzbar lahm und die datenbankdatei
war andauernd defekt, weil nicht komplett hochgeladen. Der hatte das ganze innerhab kürzester
zeit wieder eingestampft, aber mir mal davon erzählt, als ich mit ihm über Replikation sprach.

Resume: Ich glaub nicht, das irgendjemand mit sowas ernsthaft positive Erfahrungen schildern
kann, egal mit welcher plattform.

und technisch:

ist zwar fb basierendes wissen, aber wird bei mssql und allen anderen ähnlich sein

du öffnest die datenbank und erstellst einen neuen datensatz und speicherst das wieder.
das ändert die datenbankdatei vorne in der header page (next transaction, ggf page inventory,
usw) in der mitte auch (TIP Transaction inventory pages) und am ende auch (da wo die datenpages
sind).

wie soll ein filesystem basierendes verfahren nun wissen, welche teile wirklich neu übertragen
werden müssen? es wird es nicht wissen und ist vorgesehen für komplette dateien, wird also
deine komplette 1GB datei komplett neu übertragen.

Ihc halte das für Zeitverschwendung, das als mögliche Plattform zu eruieren, aber muss
ja jeder selber wissen

IBExpert 26. Mai 2023 13:17

AW: Datenbank in OneDrive
 
Zitat:

Zitat von TigerLilly (Beitrag 1522818)
Die Frage gab es nämlich schon öfter. PC im Office und man möchte die Daten aber mithaben, wenn man mit dem Laptop unterwegs ist. Da wär ein automatischer Snyc schon praktisch.

mach es ähnlich wie ich das da oben mit der diskette geschildert hatte, aber nehm dafür eine schnelle externe usb3 nvme ssd wie eine SanDisk Extreme PRO Portable SSD 2 TB
Da kann man mit Datenbanken sehr gut drauf arbeiten, die sind wirklich fix. Der Locking mechanismus ist dabei auch kein Problem, funktioniert immer nur da wo die platte
gerade dran ist. sobald da aber mehr als eine zeitgleich dran schreibend zugriff haben soll, wird das komplexer.

himitsu 26. Mai 2023 23:29

AW: Datenbank in OneDrive
 
Kann man Tabellen (DB-Dateien) partitionieren?

Geht ja in vielen DBMS auf DB-Ebene

oder die DB-Datei unkomprimiert auf mehreren ZIP-Files aufteilen.
Über einen Hash oder das Dateidatum könnte man dann entscheiden welche der Teildateien dann jeweils hoch-/runtergeladen werden müssen.

Phoenix 28. Mai 2023 10:21

AW: Datenbank in OneDrive
 
Mach besser einen echten DB Sync. Bei SQL Server bietet sich da Azure Data Sync an:
https://learn.microsoft.com/en-us/az...?view=azuresql

Du installierst neben jeder lokalen DB einen Sync-Agent, und der synchronisiert die lokalen Changes über eine Azure SQL in jeweils alle anderen angebundenen Member-Datenbanken.

Läuft genauso wie Onedrive auch über Microsofts Cloud-lösungen, von daher schenkt sich das nix, ausser das die Azure SQL halt ein paar Euronen kostet. Allerdings ist der Sync sehr effizient weil nur die tatsächlichen Änderungen basierend auf dem Transaction Log transferiert werden. Da reicht also vermutlich ne ziemlich schwache und damit günstige DB. So Dinge wie ein zusätzliches Backup der DB bekommst Du damit auch on top mit.

jobo 28. Mai 2023 13:48

AW: Datenbank in OneDrive
 
Schnecken machen das so, manche zumindest, die schleppen das ganze Haus mit, wenn sie Außendienst machen.

Aber ernst, ich halte es für Quatsch. Ein riesiger, fehleranfälliger Overhead.
Dann noch mit einer ungeeigneten RDBMS.

Dann lieber sqllite oder andere filebasierte System -wie schon genannt- oder auch etwas Hirnschmalz.

Was macht eine One Show mit einer 1GB Datenbank? Die wurden sicher nicht alle eigenhändig eingegeben.
Vielleicht sind es 800MB Stammdaten, undendliche Produktllisten oder sowas, 100 MB Temp können eh in die Tonne
und 100 MB Bewegungsdaten..
Aufteilen, Bilder und Blobs raus, .. alles statische halt und schon sieht die Welt rosiger aus.

Ein LTE Stick für unterwegs, heimisches WLAN und RDP tun es vielleicht auch.

Delphi.Narium 28. Mai 2023 14:27

AW: Datenbank in OneDrive
 
Oder FireBird und 'ne USB-Festplatte, auf der die Datenbankdatei liegt. Platte einfach immer mitnehmen. Bei 'ner SSD dürfte das noch deutlich schneller laufen oder ein ausreichend dimensionierter USB-Stick. Für 'ne 1GB-Datenbank tut's auch ein MP3-Player. Wenn man den mitnimmt, kann man auf'm Weg auch noch Musik hören. Kann man auf dem Weg keine Musik hören, hat man die Datenbank vergessen ;-)

Da bei Smartphones inzwischen 128 GB eher der Standard sind, kann man die DB bestimmt auch darauf synchronisieren. Dann ist die DB immer da, wo das Smartphone ist.

Laptop und DB funktionieren dann sogar dort, wo der Zugriff auf OneDrive (wegen mangelnd guter oder mehr oder weniger nicht vorhandener Internetverbindung) nicht so recht möglich ist.

Daten zwischen Laptop und Smartphone z. B. per Bluetooth austauschen, dann braucht man sich nichtmal Gedanken über WLANs machen.

Braucht man dafür eventuell Software für's Smartphone: Wir haben doch Delphi ;-)

himitsu 28. Mai 2023 15:28

AW: Datenbank in OneDrive
 
Es gibt auch schnelle USB-Sticks. (es muß auch nicht unbedingt eine M.2 in einer USB-C-Hülle sein)

Oder ganz einfach das Handy mit USB-Kabel als Speicher benutzen. (aktuellere Modelle haben auch einen sehr schnellen Speicher verbaut)

Oder man könnte bestimmt auch irgendeinen SQL-Server als App im Handy laufen lassen.

Oder sowas wie einen kleinen Raspberry Pi mit SQL-Server mitnehmen.
Bzw. einen anderen Super-Miniatur-PC (es gibt welche in Form eines USB-Sticks mit Android, Linux oder auch Windows)

TigerLilly 29. Mai 2023 13:47

AW: Datenbank in OneDrive
 
Zitat:

Zitat von Phoenix (Beitrag 1522862)
Bei SQL Server bietet sich da Azure Data Sync an

Ja, das stimmt. Das ist cool. Passt von den Kosten leider nicht für alle. Und ist etwas, das in Österreich nicht überall gut funktioniert, erstaunlicherweise gibt es in ländlichen gegenden langsames Internet und hohe Latenzen, die sowas eher unbrauchbar machen. Da hatten wir mit SQL Server in Azure-Cloud auch böse Überraschungen.

Daher hier die Frage nach konkreten Erfahrungen.

Zitat:

Aber ernst, ich halte es für Quatsch. Ein riesiger, fehleranfälliger Overhead.
Dann noch mit einer ungeeigneten RDBMS.
...
Was macht eine One Show mit einer 1GB Datenbank? Die wurden sicher nicht alle eigenhändig eingegeben.
Ob "Quatsch" oder nicht, liegt gerne im Auge des Betrachters. Und nur weil man sich was nicht vorstellen kannst, heißt es nicht, dass es sowas nicht gibt (und sinvoll ist).

Zitat:

Da bei Smartphones inzwischen 128 GB eher der Standard sind, kann man die DB bestimmt auch darauf synchronisieren. Dann ist die DB immer da, wo das Smartphone ist.
Da bin ich eher skeptisch, wie gut das funktioniert. Und im konkreten Fall wär das so nicht machbar.

Aber trotzdem danke an alle für ihren Input. :thumb:

Delphi.Narium 29. Mai 2023 16:13

AW: Datenbank in OneDrive
 
Zitat:

Zitat von TigerLilly (Beitrag 1522870)
Zitat:

Da bei Smartphones inzwischen 128 GB eher der Standard sind, kann man die DB bestimmt auch darauf synchronisieren. Dann ist die DB immer da, wo das Smartphone ist.
Da bin ich eher skeptisch, wie gut das funktioniert. Und im konkreten Fall wär das so nicht machbar.

Damit meine ich eher, das Smartphone "nur" als Datenträger zu nutzen, nicht als "Datenbankserver". Also eher wie einen USB-Stick oder OneDrive, ..., die ich in dem Zusammenhang beide mehr als externen Datenträger betrachte, um die Daten von A nach B zu bekommen. Die Datenbankdatei wird dann jeweils auf den am Ort zur Verfügung stehenden Rechner kopiert und auf diesem genutzt. Nach der Nutzung wird sie wieder auf's Smartphone kopiert.

Ob's pratikabel ist, weiß ich allerdings nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 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 by Thomas Breitkreuz