Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

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)

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr.
Seite 2 von 5     12 34     Letzte »    

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