Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Welcher Type von Datenbank würded ihr empfehlen ? (https://www.delphipraxis.net/206665-welcher-type-von-datenbank-wuerded-ihr-empfehlen.html)

DavidKlimas 16. Jan 2021 08:52

Datenbank: Access • Version: 2019 • Zugriff über: TAdoTable

Welcher Type von Datenbank würded ihr empfehlen ?
 
Guten Morgen,

Frohes neues Jahr wünsch ich noch allen.

Ich benutze Delphi 10.3 und suche eine möglichkeit eine datenbank in meine programme einzubinden. Zu begin hab ich immer Binary Files genutzt, welche recht einfach umzusetzen sind allerdings sehr langsam zum laden und speichern sind. Später hatte ich mit AdoTable und Microsoft Access datenbanken gearbeitet. Dies läuft schon ganz gut für die meisten Programme die ich mache, und ist auch ganz einfach auf Kundencomputer umzusetzen, Microsoft Access ist ja fast überall installiert.

Einige meiner Programme bekommen allerding Lapazitätsprobleme. Microsoft Access kann ja eine grösse von 2GB nicht überschreiten. Mit den folgenden Schwermpunkten, welches DB Systsme würded Ihr mir den Empfehlen, und vor allem wie einfach sind diese zu erlernen und umzusetzten. Viel was mit RAD Studio kommt ist für Anfänger ja erstmal sehr kompliziert und abschreckend.

Schwerpunkte :
- DB mit kapazitätene > 2GB
- Lokale DB die nur von einem StandAlone programm genutz wird, kein Netzwerk zugriff
- Eine DB welche einfach auf Kundencomputern installiert werden kann, ohne zusätzliche Server oder Third-Party Programs mit zu installieren.
- Eine DB die auch von Secondary Threads gesteuert werden kann (keine Visual Components)

Danke für eure Empfehlungen (vielleicht könnt Ihr ja auch links zu Tutorials mitgeben?) ...

Uwe Raabe 16. Jan 2021 09:15

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
SQLite über FireDAC kann direkt in die EXE gelinkt werden. Das erspart eine separate Installation oder Verteilung der Datenbank-Engine.

Andreas13 16. Jan 2021 09:20

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
Schau mal hier rein bei Absolute Database: http://www.componentace.com/bde_repl...e_database.htm
Gruß, Andreas

Der schöne Günther 16. Jan 2021 09:22

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
Habe auch Gigabyte große Sqlite-Datenbanken und bin damit sehr zufrieden. Auch was Robustheit bei Stromausfällen angeht, falls das bei dir eine Rolle spielt.

Rainbow6 16. Jan 2021 13:21

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
Also auch, wenn das wie "Overkill" aussieht - aber ich habe gute Erfahrungen mit Microsoft SQL-Servier Express gemacht.

Vorteile:
  • "echter" Datenbank-Server
  • sauberes Backup-Konzept
  • remote Wartung möglich
  • jede Menge Tools
  • relativ einfache Installation
  • recht performant
SQLite hat als Datenbank IMHO zu viele Einschränkungen - weil nicht alle üblichen SQL Datentypen unterstützt werden. Und MySQL ist vielleicht sie schwächste aller SQL Implementierungen unter allen Datenbanken.

Grüße
Daniel

Delphi.Narium 16. Jan 2021 14:39

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
FireBird Bei der Embedded-Version braucht man auch keinen Datenbankserver installieren.
Geht notfalls auch mit 'nem ODBC-Treiber, so dass man dann nichtmal die ADO-Komponenten austauschen muss.

Bei der SQL-Syntax gibt es leichte Unterschiede, die hat man aber schnell raus.

Z. B. Statt select top 100 * from tabelle muss es select first 100 * from tabelle heißen.
Sofern man sich bei Access und der Namensvergabe von Spalten und Tabellen ... an den SQL-Standard gehalten hat, sollte es eigentlich keine (großen) Probleme bei der Umstellung geben. Nutzt man allerdings die SQL-Besonderheiten von Access in diesem Umfeld aus, wird es eventuell etwas aufwändiger.

Aber das dürfte alles auch beim Wechsel zu anderen Datenbanken der Fall sein.

Papaschlumpf73 17. Jan 2021 13:13

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
Zitat:

Zitat von Rainbow6 (Beitrag 1481047)
Also auch, wenn das wie "Overkill" aussieht - aber ich habe gute Erfahrungen mit Microsoft SQL-Servier Express gemacht.

Vorteile:
  • "echter" Datenbank-Server
  • sauberes Backup-Konzept
  • remote Wartung möglich
  • jede Menge Tools
  • relativ einfache Installation
  • recht performant
SQLite hat als Datenbank IMHO zu viele Einschränkungen - weil nicht alle üblichen SQL Datentypen unterstützt werden. Und MySQL ist vielleicht sie schwächste aller SQL Implementierungen unter allen Datenbanken.

Grüße
Daniel

Kann der Microsoft SQL-Server Express nicht nur Datenbanken mit max. 10 GB speichern? Irgendwas war da...

Der schöne Günther 17. Jan 2021 14:17

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
https://docs.microsoft.com/en-us/sql...LServerExpress

Zitat:

SQL Server Express supports FILESTREAM. The 10-GB database size limit does not include the FILESTREAM data container.

Bernhard Geyer 17. Jan 2021 14:38

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1481090)
https://docs.microsoft.com/en-us/sql...LServerExpress

Zitat:

SQL Server Express supports FILESTREAM. The 10-GB database size limit does not include the FILESTREAM data container.

Nützt nur was wenn man viel Blob-Daten hätte, die man nach angepasster Implementierung als FileStream speichern könnte.

TurboMagic 17. Jan 2021 15:52

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1481049)
FireBird Bei der Embedded-Version braucht man auch keinen Datenbankserver installieren.
Geht notfalls auch mit 'nem ODBC-Treiber, so dass man dann nichtmal die ADO-Komponenten austauschen muss.

Würde man auf das im Dephi vorhandene FireDAC umstellen bräuchte man auch keinen Treiber mitliefern.
Auch die Server Version von FB kann auf einem normalen PC relativ einfach installiert werden und bietet
dann eine gewisse Sicherheit durch Benutzername/Passwort sowie die Möglichkeit einfach Backups anzufertigen.
FireDAC bietet dafür sogar Komponenten an.

Pfaffe 18. Jan 2021 17:38

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
Wenn "nur" die Professional lizenziert ist, dann ist UniDAC von Devart interessant (https://www.devart.com/unidac/docs/compatibility.htm).
Vorteile: Datenbankauswahl flexibel - Auf Kundenwünsche kann eingegangen werden. Im Directmodus kein zus. Treiber notwenig. Ein notwendiger Datenbankwechsel in Zukunft ist einfach. Wenn auf eine neuere Delphiversion geupdatet werden soll, dann muss an der UniDac Variante nichts gemacht werden, vorausgesetzt die UniDac-Quellcodeversion oder die aktuellste Version ist vorhanden. Lazarus und Freepascal werden auch unterstützt.
Nachteil: Weitere kostenpflichtige Komponente.

himitsu 18. Jan 2021 17:57

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
Zitat:

Also auch, wenn das wie "Overkill" aussieht - aber ich habe gute Erfahrungen mit Microsoft SQL-Servier Express gemacht.

Vorteile:
* "echter" Datenbank-Server
Nja, es gibt auch Datenbank-Server, welche man ohne Installation starten kann.
z.B. von PostgreSQL den Server als ZIP downloaden, entpacken
und dann "nur" noch den Server-Prozess starten (Port und Pfade für DB-Dateien und Log über INI oder via Parameter)


Aber das ist dann dennoch etwas anderes, als wie ein Embedded-Server, im Programm oder DLL.



Mehrere Threads, das kommt auf die DB-Komponenten und die Library drauf an.
Ist es von selbst thread-save, oder gibt es vielleicht ein automatisches thread-basiertes Connection-Pooling, denn bräuchte man es nur noch aktivieren.
Oder einfach je Thread eine Connection-Komponente, mit deren jeweils eigenen Query-Komponenten.

brechi 18. Jan 2021 18:37

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
Wurde schon genannt, kann aber auch Sqlite und PostgreSQL empfehlen. Unter http://www.okstra.de/werkzeug.html gibt es nen PostgreSQL server, der als Batch ohne Installation gestartet werden kann. Keine Anpassung von Pfaden nötig. Der hat auch postgis und Pgadmin dabei. Der Port steht in der Batch datei, war was mit 30xxx.

IBExpert 18. Jan 2021 19:08

AW: Welcher Type von Datenbank würded ihr empfehlen ?
 
installieren muss man bei firebird auch nichts, einfach zip downloaden, auspacken und wenn dein program
meint, damit arbeiten zu wollen, bis fb<=25 fbserver.exe -a starten oder seit fb30 firebird.exe -a
(wichtig: in der firebird 3.0 zip ist keine vollständige security3.fdb drin, die muss man gemäß
readme entweder einmalig erstellen oder noch einfacher von einer per setup installierten version
einfach als ersatz für die im zip file ausliefern, dann kann die auch schon non standard passwords
haben (geht bei fb<=25 zip genau so). Port usw steht auch in der firebird.conf, auch die kann man
bereits angepasst ausliefern.

ist auch kein Problem auf dem weg 10 oder noch mehr parallele firebird server auch in
unterschiedlichen Versionen auf einer maschine zu betreiben, mit der install_*.bat als
admin auch optional aus dem zip mit einer dos zeile installierbar

Wenn sich die tcp/ip ports unterscheiden und du im connection string festlegst welchen port
du ansprechen willst, ist das einfach zu handhaben.

Standardport 3050 ist eh immer doofe idee, weil immer mehr rechner von
anderer software damit bereits ein laufenden fb installiert haben, daher empfehle
ich eh jedem, irgendeinen anderen port zu nehmen, nur eben nicht 3050 wenn du das
ausliefern willst.

In deinem Setup kannst du dann wahlweise die zip inhalte vom server oder nur die zip
inhalte vom client als option einbinden, außer dateien auf den Kundenrechner kopieren
brauchst du nix weiter machen (geht auch von usb wenn du willst), pfade brauchst du
auch nicht anpassen, kann der kunde also installieren wo er will. Bei fb30 ist
die client version auch gleich embedded, d.h. da muss dann ggf nicht mal ein firebird
prozess extra gestartet werden. Footprint vom kompletten firebird knap über 10mb
gepackt, und man kann noch einiges rauswerfen, hab ich in einem meiner Videos gezeigt.
ach ja, und wenn du im embedded in firebird.conf ganz ans ende gehst und classic statt
super einträgst, dann können auch diverse prozesse gleichzeitig auf den Datenbanken
arbeiten, ohne das irgendwas installiert werden muss.


und beim uninstall einfach o.a. prozess beenden oder gar nicht erst starten und einfach
alles dateien löschen, da bleibt nix über.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 Uhr.

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