Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden? (https://www.delphipraxis.net/204768-welche-datenbank-u-im-cross-platform-umfeld-und-mit-nas-verwenden.html)

Harry Stahl 27. Jun 2020 13:07

Datenbank: ?? • Version: ?? • Zugriff über: ??

Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Ich habe mal eine Frage an die Datenbank-Profis:

Ich habe eine bestehende Anwendung (Adressdatenbank), die im Einzelplatzmodus betrieben werden kann oder als Client-Server-Lösung (im lokalen Netz oder über Internet). Ferner kann man sich die Datenbank (eine eigene Lösung) auf einem mobilen Gerät kopieren und dort verwenden.

Das ist ja schon nicht übel, aber was ich damit bislang als Anforderung nicht erfüllen kann sind Wünsche von Privat-Anwender (oder auch kleinere Unternehmen), die eine zentrale Stelle der Datenbank haben möchten und da von jedem Gerät drauf zugreifen können und dort z.B. auch Ihr NAS (z.B. Syntology) als "Server" verwenden können.

Ich habe mir überlegt, wenn ich den Apache-Server verwenden würde, den kann man überall installieren, Windows, Linux, MACOS und eben auch auf den meisten NAS-Geräten.

Da wäre jetzt für mich die Frage, wenn ich von meiner eigenen Datenbank-Lösung auf eine andere Datenbank übergehen wollte, welches wäre die richtige Datenbank, um die Datenbank

- Mit einer FMX-Anwendung (evtl. auch VCL) lokal auf dem Desktop-PC verwalten zu können
- Mit einer FMX-Anwendung (evtl. auch VCL) im Client-Server Modell zu nutzen (also Clients auf Dekstop-PC's, bzw. Terminal-Server, Server auf extra Server-Rechner, im lokalen Netz oder über Internet)
- mit einem Apache-Server im Webserver-Client-Modell nutzen zu können (z.B. mit TMS-WebCore) - Clients wären Desktop-Anwendungen oder mobile Geräte
- und auch auch die Datenbank direkt auf dem mobilen Gerät nutzen zu können

Mein derzeitiges Serverprogramm ist auch eine eigene Lösung. Ich kenne mich mit dem Apache Server leider gar nicht aus aber wenn der quasi meine eigene Lösung ersetzen könnte, sollte mir das recht sein (ich gehe mal davon aus, dass man dort auch Schreibrechte und Benutzer-Rechte und Passwort-Zugang etc. für die verwendeten Datenbanken verwalten kann).

Für die neue Lösung möchte ich neben der Möglichkeiten, die mir Delphi-Enterprise bietet und TMS-Webcore eigentlich keine weiteren Komponenten kaufen, sondern mit den genannten Angeboten auskommen.

Seht Ihr da Möglichkeiten?

Ghostwalker 27. Jun 2020 15:22

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Also, grad wenn es sich nicht grad um eine Terra-Byte-Große Multimedia-DB handelt, würd ich dir zu SQLite raten. Das ganze kannst du Cross-Plattform als lokale DB verwenden oder eben auch als "Server"-DB. Für den Zugriff unter Delphi kannst du FireDAC verwenden.

Dazu hat das ganze auch noch den Vorteil, das du nicht erst groß einen DB-Server installieren mußt.

Und um sie über ein Netzwerk an zu sprechen, brauchst du noch nicht mal einen Apache installieren, da letztlich die DB nur eine Datei ist.

Harry Stahl 27. Jun 2020 15:35

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
OK, danke, das hört sich ja gut an. Und Lizenzen für eine bestimmte Anzahl von User muss man hier ja auch nicht bezahlen, nehme ich an?

Aber einen DB-Server benötige ich doch, um einen gleichzeitigen Zugriff von mehreren Usern (das ist auch ein Anwendungsfall, habe ich evtl. nicht deutlich genug beschrieben) handlen zu können (also Datensatz sperren, Info an User, dass Datensatz derzeit von anderem User bearbeitet wird, usw), oder?

Und wenn auf die DB auf der NAS über einen WebClient Zugriff genommen wird, geht es ja auch nicht ohne, denke ich.

Und noch eine Nachfrage: Wie steht es mit der Sicherheit? Verschlüsselung, Passwortgeschützter Zugang, etc ist möglich?

Uwe Raabe 27. Jun 2020 16:31

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1468304)
Ich habe mir überlegt, wenn ich den Apache-Server verwenden würde, den kann man überall installieren, Windows, Linux, MACOS und eben auch auf den meisten NAS-Geräten.

Bringt denn der Apache eine Datenbank mit? Ich dachte immer, das wäre nur ein HTTP-Server.

stifflersmom 27. Jun 2020 16:49

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1468314)
Bringt denn der Apache eine Datenbank mit? Ich dachte immer, das wäre nur ein HTTP-Server.

Wär mir jetzt auch neu...

stifflersmom 27. Jun 2020 16:51

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Also der Synology Paketmanager kennt zumindest mariadb und auch phpmysql, ich denke mal bei Qnap wird es ähnlich sein und das sollte beides locker Deinen Anforderungen genügen.
Mal von der Performance abgesehen

Harry Stahl 27. Jun 2020 16:59

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Ich sage ja, ich kenne mich mit dem Apache Server nicht aus (wie leider auch immer noch nicht mit den Delphi-Datenbanken...:cry:)...

Wenn das nicht der Fall sein sollte, kommt das wohl nicht in betracht.

Welche Webserver unterstützen denn Datenbanken?

Habe gerade noch mal im Synology Paket-Zentrum nachgesehen. Da wird auch eine MariaDB 5 bzw. MariaDB 10 angeboten, nach schnellem Googlen sieht es nach einer Verwaltung von MySQL-Datenbank aus (bzw. MariaDB soll so ähnlich wie MySQL sein?).

Harry Stahl 27. Jun 2020 17:00

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von stifflersmom (Beitrag 1468316)
Also der Synology Paketmanager kennt zumindest mariadb und auch phpmysql, ich denke mal bei Qnap wird es ähnlich sein und das sollte beides locker Deinen Anforderungen genügen.
Mal von der Performance abgesehen

Danke, da hat sich Deine und meine Antwort gerade überschnitten...

Lemmy 27. Jun 2020 19:56

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1468317)
Welche Webserver unterstützen denn Datenbanken?

keiner - ein Webserver stellt Webseiten (und anderes) bereit, aber keine Datenbanken, zumindest nicht so wie du das möchtest..


Zitat:

Zitat von Harry Stahl (Beitrag 1468317)
Habe gerade noch mal im Synology Paket-Zentrum nachgesehen. Da wird auch eine MariaDB 5 bzw. MariaDB 10 angeboten, nach schnellem Googlen sieht es nach einer Verwaltung von MySQL-Datenbank aus (bzw. MariaDB soll so ähnlich wie MySQL sein?).


MariaDB ist der OpenSource-Fork von MySQL. MySQL würde ich wegen der Lizenz nicht mehr verwenden. MariaDB kannst Du für eine Adressdatenbank locker verwenden.

Gandalf2265 27. Jun 2020 20:05

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Hallo Harry,

einen Webserver, welcher von sich aus auch eine Datenbank darstellt, gibt es glaube ich nicht. Das würde den verschiedenen Wünschen der Administratoren wohl entgegen stehen.
Was du machen könntest, wäre mit Delphi eine Rest-Anwendung für den Apache schreiben. Dabei hättest du ja den Datenbankteil frei in deiner Hand und könntest eventuell dein bisheriges eigenes Format weiter verwenden. Dadurch wäre deine Datendatei über alle Einsatz-Szenarien konsistent.

Gruß
Thorsten

Ghostwalker 28. Jun 2020 04:07

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1468313)
OK, danke, das hört sich ja gut an. Und Lizenzen für eine bestimmte Anzahl von User muss man hier ja auch nicht bezahlen, nehme ich an?

Da SQLite Open-Source ist, hast du da kein Problem :)

Zitat:

Zitat von Harry Stahl (Beitrag 1468313)
Aber einen DB-Server benötige ich doch, um einen gleichzeitigen Zugriff von mehreren Usern (das ist auch ein Anwendungsfall, habe ich evtl. nicht deutlich genug beschrieben) handlen zu können (also Datensatz sperren, Info an User, dass Datensatz derzeit von anderem User bearbeitet wird, usw), oder?

Und wenn auf die DB auf der NAS über einen WebClient Zugriff genommen wird, geht es ja auch nicht ohne, denke ich.

Und noch eine Nachfrage: Wie steht es mit der Sicherheit? Verschlüsselung, Passwortgeschützter Zugang, etc ist möglich?

Nein, einen extra Server brauchst du deshalb nicht. Da einige Webhoster sogar SQLite als Datenbank verwenden (i.d.R. statt MySQL), sollte man das ganze auch im Multiuser-Betrieb laufen lassen können. Einen Webserver (Apache) wird du wohl brauchen, wenn über einen Web-Client zugegriffen werden soll. Aber auch da kann dann SQLite als DB fungieren.

Was die grundlegende Sicherheit betrifft. SQLite bietet eine Verschlüsselungsfunktion für Daten. Zugangskontrolle liegt beim Programmierer.

Das einzige das ich jetzt nicht weiß ist, ob das ganze auf Apple-Geräten (IOS, MacOS) läuft.

Aber unter http://sqlite.org findest du das sicher mehr Infos :)

Rainbow6 28. Jun 2020 06:05

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Ghostwalker (Beitrag 1468334)
Das einzige das ich jetzt nicht weiß ist, ob das ganze auf Apple-Geräten (IOS, MacOS) läuft.

Aber unter http://sqlite.org findest du das sicher mehr Infos :)

Da kann ich beruhigen - SQLite ist auf iOS und macOS kein Problem.

himitsu 28. Jun 2020 06:48

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Wenn NAS, dann kommt es auch erstmal drauf an was für Eines, vor allem ARM oder Intel.
Genug RAM kann auch nicht schaden. (kann auch so nicht schaden ... verbraucht kaum mehr Strom und ist auch gut für den FileCache)

Ein SQLite ist vorinstalliert (kann auch sein, dass es ein MySQL war) und wird z.B. vom DSM verwendet,
und das lässt sich nach außen freigeben, wenn man unbedingt will.
Auch einige andere Packages verwenden eine Datenbank, so dass auch PostgresSQL bereits drauf sein könnte.

Aber Besser ist es wohl direkt eine eigene Installation zu verwenden.

MariaDB gibt es direkt in der hauseigenen Packetquelle, aber auch MySQL, SQLite und PostgreSQL gibt es schon als fertige Packete.
Ansonsten kannst'e als Docker-Packet auch jede andere Datenbank installieren, sowie (auf den größeren Intels) auch in einer VM alles was man will.
Aber von der Leistung wäre Docker oder direkt im HostOS installiert am Optimalsten.
(MySQL will niemand selbst installieren/hosten und als Alternative mit "benutzbarer" Lizenz ist sowieso MariaDB vorhanden)

https://www.synology.com/de-de/dsm/packages/MariaDB10
https://www.synology.com/de-de/knowl...ith_phpMyAdmin
https://sondregronas.com/managing-po...nology-server/
...

Ein phpMyAdmin ist auch verfügbar, das düfte nicht nur MariaDB verwalten können, sondern eigentlich auch SQLite und Postgres. (ich weiß aber nicht ob im hauseigenen Packet alles enthalten ist, damit auch was Anderes außer dem hauseigenen MariaDB ginge)
https://www.synology.com/de-de/dsm/packages/phpMyAdmin


Für eine GROße Datenbank ging es wohl eher in Richtung RackStation, aber ansonsten reichen auch die kleineren DiskStations.
MariaDB ist schon auf den kleinsten DS...j und DS...slim lauffäig.

Postgres braucht mindestens Intel mit Docker, was wohl mindestens ein DS...+ bräuchte.
Da könnte man daneben auch gleich sein eigenes GitLab und Redmine/MantisBT/Wiki installieren.

MyRealName 28. Jun 2020 08:19

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Ich stehe gerade vor einem ähnlichem Problem.
SQLite hatte ich mal auf dem Handy probiert und Multiuser ging da garnicht, weil der erste verbundene Nutzer die Dateien lockt und der nächste, der sich verbinden will (oder schreiben, weiss nicht mehr, schon ein paar Jahre her), kriegt Fehlermeldung.

Da Du ja eh schon eine eigenen Serversoftware hast, könntest Du eine Rest-Schnittstelle einbauen (geht einfach mit TMS XData) und schon brauchst Du keine Multiuser-DB mehr.
Du kannst auch Firebird nehmen, das gibts für jedes Betriebssystem und kann man bestimmt auch auf einem NAS mit Linux laufen haben oder einem Raspberry. Das unterstützt auf jedem Fall multiple Nutzer und geht auch mit grossen Datenmengen gut um.

jobo 28. Jun 2020 19:24

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von MyRealName (Beitrag 1468339)
SQLite hatte ich mal auf dem Handy probiert und Multiuser ging da garnicht,

Multiuser auf dem Handy?

Falls davon die Rede ist, auf eine entfernte SQLite DB zuzugreifen (Stichwort NAS), dann ist sicher nicht die beste Wahl. Es gibt Leute, die die NAS Datei dann lokal ziehen, bearbeiten und wieder zurückschieben. Könnte natürlich auch Konflikte geben. Halte ich auch nicht für besonders elegant. Je nach Anwendungsfall kann man vielleicht gut mit mehreren SQLite DB (Files) arbeiten, die man an die Kern DB Datei "attached". SQLite kann die ja gemeinsam per SQL ansprechen. Für kleine, lokale Änderungen (auf Handy bspw) könnte man also vielleicht relativ Einfach sozusagen Diff Dateien erzeugen (nur schwieriger bei Deletes)

SQLite auf Server
Damit könnte vielleicht ein Webserver gemeint sein. Hier würde ein Programm exklusiv (also Single User) die Anfragen verarbeiten, die für das Webfrontend benötigt werden. Geht, aber skaliert natürlich nicht besonders, also nur für kleinere Lösungen geeignet.

@"Postgres braucht Intel", gemeint ist vielleicht x86 Architektur, ist aber auch nicht ganz richtig, gemeint ist wahrscheinlich, läuft nicht auf Handy.

Es wurde ja schon REST als Datenschicht genannt, das ist wahrscheinlich eine gute und zukunftssichere Lösung für die genannten Einsatzbereiche. Naheliegend für die Handy & Co wäre SQLite (mit den genannten Schwachstellen), möglich wäre vielleicht auch einfach eine Hand voll JSON Dateien für die leichtgewichtigen Geräte. (Die können auch sehr schön in echte Server DB "integriert" werden, zumindest Postgres) oder mal flott übers NAS geschoben.

MyRealName 28. Jun 2020 19:33

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von jobo (Beitrag 1468374)
Zitat:

Zitat von MyRealName (Beitrag 1468339)
SQLite hatte ich mal auf dem Handy probiert und Multiuser ging da garnicht,

Multiuser auf dem Handy?

Ja, wenn man zum Bsp. diverse Synchronisationsarbeiten in einem Thread auf dem Handy machen will, dann braucht man einen 2. Nutzer, da die DB-Connection bei UniDAC nicht Threadsafe ist

himitsu 28. Jun 2020 19:45

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von jobo (Beitrag 1468374)
@"Postgres braucht Intel", gemeint ist vielleicht x86 Architektur, ist aber auch nicht ganz richtig, gemeint ist wahrscheinlich, läuft nicht auf Handy.

Das auch.

Synolgy hat quasi 3 CPUs. ARM, Intel und in weingen Modellen nochwas Spezielles für NAS, das ich aber aber ähnlich wie ARM ansehen würde.
Also ja, braucht x86 (eine Synology mit Intel) und Handy/Tables geht auch meistens nichts, obwohl es da auch Geräte mit Intels x86ern gibt, wobei auf Android installieren geht wohl dennoch nicht.

Bernhard Geyer 28. Jun 2020 20:33

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Bei sqllite hatte ich (neben der Multiuser-Geschichte) auch eine erheblich langsamere Performance als mit MySQL, MSSQL oder Oracle (Meine Vergleiche).
Auch als Embedded DB war es sehr viel langsamer als H2.

Harry Stahl 28. Jun 2020 22:50

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Gandalf2265 (Beitrag 1468325)
Hallo Harry,

einen Webserver, welcher von sich aus auch eine Datenbank darstellt, gibt es glaube ich nicht. Das würde den verschiedenen Wünschen der Administratoren wohl entgegen stehen.
Was du machen könntest, wäre mit Delphi eine Rest-Anwendung für den Apache schreiben. Dabei hättest du ja den Datenbankteil frei in deiner Hand und könntest eventuell dein bisheriges eigenes Format weiter verwenden. Dadurch wäre deine Datendatei über alle Einsatz-Szenarien konsistent.

Gruß
Thorsten

Hallo Thorsten,

danke für den Tipp. Auf Client-Seite würde das wohl gehen, aber auf der Synology würde ich die Server-Anwendung ja wohl nicht ausführen können, oder?

Harry Stahl 28. Jun 2020 23:01

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Vielen Dank auch für die anderen Antworten.

Der Prozessor hier ist ein Realtek RTD1296 SoC. Aber ein Programm das NAS wollte ich nicht schreiben, hatte eher gehofft, dass es fertige (Web-) Server gibt, denen man z.B. eine MySQL-Datei oder ähnliches unterschiebt und die verwalten dann die Datei und zwar von den Clients aus gesteuert (dann brauche ich eben nur Clients für windows, mac, Linux, android und ios zu schreiben).

Ich hatte das mal einfach naiv unterstellt, da ich selber schon mal mit Interaweb einen Webserver geschrieben habe, der eine Datenbank (eben meine) für Desktop- und mobile Geräte verwaltet, daher dachte ich, dass es halt fertige Lösungen (auch im Open-Source Bereich) gibt, die so Standard-Datenbank verwalten.

Schade, dass ich die Intraweb-Lösung nicht auf den NAS bringen kann (erzeugt leider ja nur Windows-WebServer).

Aber selbst für die hier angesprochene REST-Lösung (sehr faszinierend, wie ich finde) müsste ich ja wohl ein "Programm" auf dem NAS haben, das dem Server einen Service anbietet, wenn ich das richtig verstanden habe.

mkinzler 29. Jun 2020 08:40

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Genauso wichtig, wenn sogar noch wichtiger, welcher Prozessor das NAS hat, ist das BS des NAS.

Jumpy 29. Jun 2020 09:00

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Wenn mehrer Nutzer gleichzeitig arbeiten, kann es ja zu Datenkonflikten kommen. Diese muss das DBMS auflösen können oder halt ein Server-Programm mit dem alle Clients kommunizieren. In letzterem Fall kann man dann auch eine Dateibasierte DB nehmen wie SQLite.

Ansatz einer alternative(?): Alle Clients benutzen eine eigene lokale DB, z.B. SQLLite und es gibt eine Server-Instanz mit einer SQLLite Datei und über den Server synchronisieren sich alle Clients ihre DBs. Dann muss man natürlich in Server und Client Konfliktregelungen überlegen.

MyRealName 29. Jun 2020 09:52

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Wenn Du einen Rest-Service brauchst, dann kannst Du eventuell mit PHP auf dem Server das machen ? Ich kenne mich zwar mit PHP nicht aus, aber da hat man ja DB-Bindung, da kannst bestimmt eine MySQL laufen haben und einen Apache-Server. UNd um mit PHP mal ein paar Adressdaten zu lesen/schreiben sollte nicht so schwer sein.

mytbo 29. Jun 2020 10:33

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Hallo!

Ich möchte mal das Open Source Framework mORMot ins Spiel zu bringen. Das funktioniert mit Delphi und Freepascal. Eine ausführliche Hilfe findest du hier:
https://synopse.info/files/html/Synopse mORMot Framework SAD 1.18.html

Weitere Informationen findest du hier:
https://synopse.info/fossil/wiki?name=Downloads
https://synopse.info/forum

mORMot musst du nicht installierten. Es reicht aus, die entsprechenden Bibliothekspfade einzufügen.

Nach deiner Beschreibung sollte alles mit dem integrierten ORM und embedded SQLite3 locker erledigt werden können. Um die Einbindung der SQLite Engine musst du dich nicht kümmern, wird automatisch in deine EXE mit einkompiliert. Über ZEOS, FireDAC, UniDAC, OleDB, ODBC oder nativ für Oracle, PostgreSQL und NexusDB kann man auch andere DBs gut einbinden. Du kannst dann gleich auf eine RESTful/SOA architecture umsteigen (klingt viel schlimmer, als es in Wirklichkeit ist). Deine eigentliche Arbeit ist mit mORMot schnell erledigt, das Problem dürfte sein, dich in mORMot einzuarbeiten. Es steht eine ausführliche Hilfe, viele Beispiele und ein freundliches Forum zur Verfügung.

Bis bald...
Thomas

joachimd 29. Jun 2020 11:25

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von mytbo (Beitrag 1468429)
Ich möchte mal das Open Source Framework mORMot ins Spiel zu bringen.

IIRC schreibst Du in mORMot Deinen Server mit Delphi ... und damit nicht auf dem NAS lauffähig. Ich habe mir mal Gedanken dazu gemacht, das aber nicht weiterverfolgt. Am Besten wäre sicher, in PHP eine oData- oder REST-Schnittstelle zu implementieren und eine Art Synchronsiation aufzubauen ... geänderte Datensätze aus dem local storage an den Server übertragen, dort die Daten abzugleichen und dann als Antwort die "gemergten" Daten wieder an das Device zu schicken. Mit dem Mobilgerät bist Du nicht ständig zur DB verbunden und musst daher gewisse Intelligenz für disconnected datasets einbauen.
mORMot kann das sicher, aber eben nur mit einem Service, der auf dem Zielgerät läuft (Windows, Linux).

mytbo 29. Jun 2020 12:10

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von joachimd (Beitrag 1468433)
IIRC schreibst Du in mORMot Deinen Server mit Delphi ...

Woher stammt diese Information? Die Praxis belegt diese Vermutung nicht. Was stimmt ist, dass der Delphi Linux Compiler nicht unterstützt wird. Ansonsten kannst du D7 - D10.4, Kylix und Freepascal einsetzen.

Bis bald...
Thomas

joachimd 29. Jun 2020 12:19

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von mytbo (Beitrag 1468437)
Zitat:

Zitat von joachimd (Beitrag 1468433)
IIRC schreibst Du in mORMot Deinen Server mit Delphi ...

Woher stammt diese Information? Die Praxis belegt diese Vermutung nicht. Was stimmt ist, dass der Delphi Linux Compiler nicht unterstützt wird. Ansonsten kannst du D7 - D10.4, Kylix und Freepascal einsetzen.

Präzisierung: "in Deiner verwendeten Entwicklungsumgebung". Gibt es FreePascal für die in den NAS verwendeten Umgebungen? Falls ja, gut;)

himitsu 29. Jun 2020 12:34

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1468383)
Auf Client-Seite würde das wohl gehen, aber auf der Synology würde ich die Server-Anwendung ja wohl nicht ausführen können, oder?

War noch nicht dazu gekommen, aber wollte es irgendwann mal ausprobieren.
* In der Synology läuft ein Linux und dafür könnte man eine Anwengung kompilieren, ebenso wenn man die als Docker-Container laufen lassen will.

* und auf den Synology mit Intel-CPUs kann man den VirtualMashineManager installieren und da drin lässt sich auch Windows starten.
was eigentlich garnicht sooooo schlecht läuft (Win98 ist sauschnell und Win7/10 geht so, so als Server ohne Programme mit visuellen Effekten, ansonsten würde ich mindestens AeroPeek, die Transparanzen und Menü-/Fensteranimationen im Windows deaktivieren ... "täglich" den Desktop nutzbar, da sollte man wohl besser mindestens auf die großen CPUs der RackStations gehen, weil ist sonst schon bissl "anstängend")

* ansonsten ist Pyphon und Anderes vorinstalliert und viele der Synology-Erweiterungen sind über Scriptsprachen (Pyhton, Bash, ...) implementiert, anstatt als Linuxkompilate.
Ja, selbst auf DataSnap kann man mit Python zugreifen, aber das natürlich nur als Client,
aber einen Server, mit einem anderen oder eigenen System, könnte man da sich bestimmt auch in Python schreiben.

Rollo62 29. Jun 2020 14:38

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1468384)
... hatte eher gehofft, dass es fertige (Web-) Server gibt, denen man z.B. eine MySQL-Datei oder ähnliches unterschiebt und die verwalten dann die Datei und zwar von den Clients aus gesteuert ...

Was spricht denn jetzt genau gegen MariaDB/Mysql, als vollwertige CS Server Lösung ?
Ok, vielleicht der Ressourcenbedarf auf einer kleinen NAS,
aber ich denke das läuft auch auf einer kleinen NAS rund (ARM oder x86).

Jumpy 29. Jun 2020 15:10

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Wenn man Probleme hat einen Server auf das NAS zu bringen, könnte man vllt. dem Kunden auch einen PI als Server dafür installieren (gerne mit einem Backup der Datenbank auf dem NAS).

Harry Stahl 29. Jun 2020 16:50

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Rollo62 (Beitrag 1468451)
Zitat:

Zitat von Harry Stahl (Beitrag 1468384)
... hatte eher gehofft, dass es fertige (Web-) Server gibt, denen man z.B. eine MySQL-Datei oder ähnliches unterschiebt und die verwalten dann die Datei und zwar von den Clients aus gesteuert ...

Was spricht denn jetzt genau gegen MariaDB/Mysql, als vollwertige CS Server Lösung ?
Ok, vielleicht der Ressourcenbedarf auf einer kleinen NAS,
aber ich denke das läuft auch auf einer kleinen NAS rund (ARM oder x86).

Gegen MariaDB/MySQL spräche prinzipiell nichts, aber die gewünschte Lösung sollte natürlich unabhängig vom verwendeten Prozessor oder Betriebssystem laufen. Ich habe hier beispielsweis den Realtek RTD1296 SoC Prozessor und das Betriebssystem ist "DSM 6.2". Auch wenn das auf Linux basieren sollte, glaube ich kaum, dass man mit Delphi dafür ein Serverprogramm schreiben kann.

Harry Stahl 29. Jun 2020 16:51

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Jumpy (Beitrag 1468459)
Wenn man Probleme hat einen Server auf das NAS zu bringen, könnte man vllt. dem Kunden auch einen PI als Server dafür installieren (gerne mit einem Backup der Datenbank auf dem NAS).

Was ist ein "PI"?

stifflersmom 29. Jun 2020 16:55

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Er meint bestimmt einen Raspberry Pi

Rollo62 29. Jun 2020 16:57

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1468470)
Auch wenn das auf Linux basieren sollte, glaube ich kaum, dass man mit Delphi dafür ein Serverprogramm schreiben kann.

Ich verstehe nicht ganz was Du vorhast.
Wenn ein MariaDB Server läuft, dann solltest Du doch ganz normal z.B. per FireDac verbinden können.
Ich gehe mal davon aus das CPU, OS, etc. keinen Unterschied machen dürften, Du greift ja per TCP darauf zu.

Damit könnte man im gesamten Intranet darauf zugreifen.
Wenn Du natürlich dazu gerne ein eigenes Programm hättest was direkt auf der NAS Laufen soll,
Ok, das ist was Anderes.

stifflersmom 29. Jun 2020 17:00

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1468470)
Gegen MariaDB/MySQL spräche prinzipiell nichts, aber die gewünschte Lösung sollte natürlich unabhängig vom verwendeten Prozessor oder Betriebssystem laufen. Ich habe hier beispielsweis den Realtek RTD1296 SoC Prozessor und das Betriebssystem ist "DSM 6.2". Auch wenn das auf Linux basieren sollte, glaube ich kaum, dass man mit Delphi dafür ein Serverprogramm schreiben kann.

Wenn das NAS den DB-Server anbietet, kann Dir der Prozessor doch egal sein.
Du brauchst bei einem mariadb-Server auch keine eigene Instanz dazwischen zu setzen.
Sollten tatsächlich mehrere Clients Deines Programmes auf denselben Datensatz schreiben wollen,
dann musst Du programmatisch eine Lösung in Deinem Client finden, das musst Du aber immer irgendwie.

himitsu 29. Jun 2020 17:15

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Du hast also z.B. sowas?
https://www.synology.com/de-de/products/DS218#specs
https://www.synology.com/de-de/products/DS220j#specs
(ich hatte damals vorsorglich die paar euro mehr für die 218+ ausgegeben, allerdings über ein Sonderangebot beim Händler, bzw. bin inzwischen auf die 918+ umgestiegen)

Aber MariaDB sollte ja dennoch selbst auf der J laufen.
https://www.synology.com/de-de/dsm/packages/MariaDB



Wie gesagt, in den Virtualisierungen/Containern könnte du auch alles Andere laufen lassen, aber dafür braucht man hier leider eben einen x86 (Intel).
https://www.synology.com/de-de/dsm/packages/Docker
https://www.synology.com/de-de/dsm/p...Virtualization (der VMM ist intern ein QEMU) und wer mag ... es hatten sogar welche geschafft VirtualBox inkl. einer WebConsole auf der Synology zu installieren.

Docker für ARM soll ja gehen, aber für Realtek fand ich jetzt nichts.
Und selbst wenn auf dem ARM/Realtek, dann müsst man sich mit der Linuxconsole verbinden und es selbst installieren.
https://www.synology-forum.de/thread...-nicht.101414/
https://www.docker.com/blog/getting-...-arm-on-linux/

mkinzler 29. Jun 2020 17:17

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
MariaDB scheint es direkt als Paket zu geben:
https://www.synology.com/de-de/dsm/p...l&search=maria

Andere wie PosGres, Firebird, usw. über entsprechende Docker-Images

Harry Stahl 29. Jun 2020 17:22

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Nein, braucht kein eigenes Programm zu sein.

Ich habe es nun mit PHPAdmin und installiertem MariaDB 5 geschafft, auf dem NAS eine MySQL Datenbank Namens "Test" anzulegen (eine Tabelle "Personen", 4 Felder, Name, Vorname, Ort und PLZ).

Welche FireDAC Komponenten muss ich hier einsetzen und mich mit dieser DB zu verbinden (Sorry, muss ich immer wieder erwähnen, bislang Null Erfahrung mit FireDAC bzw. Delphis Datenbanken).

Habe mir das FireDAC-Buch von Cary Jensen bestellt, kommt aber leider erst in einer Woche.

mkinzler 29. Jun 2020 17:25

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
http://docwiki.embarcadero.com/RADSt...erver_(FireDAC)

Harry Stahl 29. Jun 2020 17:27

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von mkinzler (Beitrag 1468490)

Da kommt nur "Diese Seite enthält momentan noch keinen Text und du bist auch nicht dazu berechtigt, diese Seite zu erstellen. Du kannst ihren Titel auf anderen Seiten suchen oder die zugehörigen Logbücher betrachten."


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr.
Seite 1 von 2  1 2      

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