AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Empfehlung für SQL-Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Empfehlung für SQL-Datenbank

Ein Thema von udo888 · begonnen am 6. Sep 2024 · letzter Beitrag vom 9. Sep 2024
Antwort Antwort
Seite 1 von 3  1 23      
udo888

Registriert seit: 20. Feb 2008
Ort: Radeberg
47 Beiträge
 
Delphi 2009 Enterprise
 
#1

Empfehlung für SQL-Datenbank

  Alt 6. Sep 2024, 17:48
Datenbank: SQL • Version: x • Zugriff über: Delphi
Hallo,
ich werde mich demnächst von meinem seit gefühlten 100 Jahren genutzten Btrieve trennen müssen. Problem ist die neue Preisliste von Actian, in welcher für die ZEN(PSQL)-Versionen gleich einmal das 3fache auf den Tisch geblättert werden soll.

Welches SQL würdet Ihr empfehlen? Ich schreibe hier einmal ein paar Punkte auf:

- sowohl als lokaler bzw. Netzwerkserver einsetzbar
- durchaus mal über 1 Mio Datensätze je Table

- einfacher SQL-Syntax reicht
- sollte sich fluffig in Delphi einfügen
- überschaubare Kosten
- einfache Installation (sind verdammt viele Anwender)

Ich bin da sicher etwas betriebsblind, hatte in Delphi noch keine richtige SQL-Berührung.
Was würdet Ihr empfehlen, bzw. mit was habt ihr gute Erfahrungen gemacht?

Udo
Udo
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
679 Beiträge
 
Delphi 12 Athens
 
#2

AW: Empfehlung für SQL-Datenbank

  Alt 6. Sep 2024, 19:45
Pers. nutze ich meistens MySQL, bzw. MariaDB.
Wenn es kostengünstig und die Performance auch gut sein muss, bietet sich MariaDB an. In diesem Zusammenhang setze ich MyDAC von Devart ein und auch hier habe ich bisher nur gute Erfahrungen gemacht.
Roland
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: Empfehlung für SQL-Datenbank

  Alt 6. Sep 2024, 20:33
Ich kann blawen hier 100% beipflichten. Sehr zügig*, und eine frische Installation ist in maximal 5 Minuten fertig zum Einsatz - vorausgesetzt man hat keine exotischeren Anforderungen, die es nötig machen in der ini zu fummeln. Für bestimmt 95% aller Fälle ist die Standardinstallation passend denke ich. Zugriff via DevArt Komponenten ebenfalls großer Daumen hoch. Kostet zwar, allerdings überschaubar, vor allem wenn man nur MyDAC statt UniDAC nimmt, wenn man eh nur auf MySQL/MariaDB zugreifen möchte.

MariaDB ist ein Fork von MySQL, der gemacht wurde bevor MySQL an Oracle verkauft wurde, und einen Lizenzirrgarten daraus gemacht hat. Es stammt vom selben Entwickler, und wird nach wie vor aktiv weiterentwickelt. Der SQL-Dialekt ist, zumindest bei allem was ich bisher brauchte, identisch zu MySQL. (Lediglich ein paar Details in spezifischen Funktionen sind hier und da anders, meist sogar mächtiger.)

*) Mein Paradebeispiel ist ein Energie-Logging Tool, das Werte von knapp 500 Messstellen pro Minute, und ca. 400 Messstellen sekündlich aufzeichnet. Durchgehend, und die sekündlichen Werte werden immer 2 Jahre vorgehalten. Eine Tabelle pro Messstelle -> über 30 Mio. Einträge jeweils allein für die sekündlichen pro Jahr. Die gesamte Datenbank ist auf der Platte rund 3TB groß. Man kann jeden der Werte, oder auch eine Range, innerhalb von wenigen Millisekunden daraus selektieren.
Okay, "die Platte" ist ein RAID 6 Verbund von 6 einzelnen HDDs, und die Tabellen sind partitioniert (eine Partition pro Jahr), sowie die Indizes passend aufgebaut. Aber zumindest letzteres ist ja normale Praxis (und wohl auch der wichtigste Teil der Optimierung). Läuft aber nun auch schon seit Mitte 2016 ohne Hardwaretausch mit dieser Performance, und die minütlichen Daten werden dauerhaft gehalten. Denke das kann sich durchaus sehen lassen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
omnibrain

Registriert seit: 11. Nov 2022
73 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Empfehlung für SQL-Datenbank

  Alt 6. Sep 2024, 22:08
Wenn du praktisch nur Delphi nutzt, dann schau dir mal NexusDB an. Integriert sich perfekt in Delphi. Du kannst die DB wenn du ein Stand-Alone-Programm hast als "embedded DB" nutzen, sparst dir also den Server.
Oder du nutzt den mitgelieferten (oder nach Bedarf von dir angepasste/erweiterten) Serverprozess. Entweder als "einfaches" Programm das gestartet wird oder als Windows-Service und greifst entweder lokal auf dem gleichen Computer oder über das Netzwerk zu.
In der Pro-Fassung bekommst du den kompletten Source-Code also für die Client-Komponenten und auch für den Server. Lizensiert wird pro Entwickler.
https://www.nexusdb.com/support/index.php

Falls du nicht nur Delphi einsetzt gibt es von Nexus auch einen PHP- und .Net Connector und zusätzlich von Devart einen ODBC-Treiber. Jedoch würde ich dann (insbesondere wenn noch andere Technologien dazu kommen) eher auf PostgreSQL setzen und PgDAC oder gleich UniDAC nutzen.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: Empfehlung für SQL-Datenbank

  Alt 7. Sep 2024, 09:04
Moin...

@TE

Am Ende des Threads wirst du nicht schlauer sein...weil jeder seine Vorlieben herausstellt. Am Ende zählt: die Anwendungsanforderung, Kosten, Installation, Wartung, Delphi Komponente. Auch eine überdimensionierte Datenbank ist schlecht. (Oracle für eine Adressverwaltung )

[meine Meinung]
Ich bin Firebird Fan , obwohl ich beruflich MSSQL benutze. (wegen Replikation).

Vorteile Firebird:
* kostenlos für immer!
1. Setup klein (25MB) und schnell installiert https://firebirdsql.org/en/server-packages/
2. mehrere Server parallel betreibbar unter verschiedenen Ports (config)
3. die Datenbank ist nur EINE Datei (nicht wie NexusDB, MSSQL, MySQL, Paradox)
4. die Datenbank ist sowohl mit dem Server als auch Embedded nutzbar (der Treiber (Hosteinstellung) gibt die Verwendung vor)
5. die Datenbank ist einfach kopierbar z.B. auf USB Stick ( sollte man aber nicht im laufenden Berieb machen (verbunde User und deren Schreibvorgänge))
6. Backup / Restore ist einfach
7. Zugriff über FireDAC(ab Enterprise für Server, sonst nur lokal), UniDAC, IBDAC, ZEOS(kostenlos)
8. Datenbank Tool: https://dbeaver.io/
9. vernünftige Dokumentation https://firebirdsql.org/en/firebird-rdbms/

...viel Spaß beim Entscheiden.


Info MySQL Lizenz Falle:
Zitat:
Eine Commercial License von MySQL wird erst dann benötigt, wenn man seine Software an dritte Verkauft und
die eigene Software sich nicht auf die GPL Licencse gründet!
https://www.delphipraxis.net/83913-m...ne-lizenz.html

Zitat:
hatte in Delphi noch keine richtige SQL-Berührung
Tipp für SQL in Delphi:
1. Verteile die Queries nicht auf die Forms.
2. Querys, und die Connection, gehören auf ein Datenmodul oder dynamisch in eine Unit. (bei mehreren Datenbanken jeweils eins, Umschaltung über ggf. Interface oder Instanz)
3. evtl. die SQL Texte nicht in der Query sondern extern in einen Ordner speichern und dann entsprechend der Datenbank der Query zuweisen. Erleichert ggf. den Umstieg auf andere Zugriffskomponenten.

Geändert von haentschman ( 7. Sep 2024 um 10:39 Uhr)
  Mit Zitat antworten Zitat
jsheyer

Registriert seit: 9. Jun 2005
Ort: Jüchen
90 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Empfehlung für SQL-Datenbank

  Alt 7. Sep 2024, 12:07
Ich bin auch bekennender Firebird Fan, ich arbeite auch mit vielen anderen Datenbank Systemen, aber Firebird ist und bleibt für mich unproblematischste Datenbank und das uuch unabhängig vom OS.
Der Firebird Server läuft bei uns unter Linux, womit dann auch das OS keine Probleme bereitet.
Und wir haben Datenbanken die teilweise knapp 1 TB groß sind mit Datenmengen im Milliarden Bereich.
Und sie ist einfach super performant.
In Delphi verwenden wir auch UniDAC seit Jahren und sind absolut glücklich damit.
Jörg Heyer
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#7

AW: Empfehlung für SQL-Datenbank

  Alt 7. Sep 2024, 12:38
Hallo,

auch ich nutze Firebird.
Wenn man die Embedded Variante nutzen will muss man nur die entsprechenden Dateien mitliefern
und noch nicht mal was installieren.

FireDAC hat auch Komponenten für Backup und Restore für Firebird mit an Board.
Performance ist gut wenn man die übliche Optimierungsvorgehensweisen für relationale DBs
nutzt. Und wie bestimmt schon erwähnt ist es kostenlos.

An DB Pflegetools gibt's auch noch andere z. B.
https://www.sqlmanager.net/products/ibfb/manager
Davon gibt's auch eine kostenlose und trotzdem gewerblich einsetzbare Variante oder
inzwischen kann glaube ich auch HeidiSQL zumindest teilweise mit Firebird umgehen.
Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
679 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Empfehlung für SQL-Datenbank

  Alt 7. Sep 2024, 19:05
...
auch ich nutze Firebird.
Wenn man die Embedded Variante nutzen will muss man nur die entsprechenden Dateien mitliefern
und noch nicht mal was installieren
...
das ich hier auch Fürsprecher für firebird bin, können sich die meisten eh schon denken.
ergänzende infos: auch die netzwerkfähige Version firebird.exe kann ohne Installation
benutzt werden, braucht auf dem Server daher auch keine admin rechte oder sonstwas.
Einfach firebird.exe -a starten und schon läuft das im application modus, ob firewall
rules dann eine externe verbindung dann verhindern, steht auf einem anderen blatt.

Aber selbst mit installation aus dem zip file ist das mit einer Zeile mit einer batch
datei erledigt, ebenso uninstall. Und wenn ein Kunde zB gleichzeitig mehrere Firebird
Versionen schon einsetzt, kann man nicht nur diverse Instanzen der gleichen Version
installieren, sondern auch problemlos noch alle versionen von firebird 2.x bis 5.x
auf einem server mit unterschiedlichen tcp ports parallel laufen lassen, unter windows
auch mit der o.a. batch und einem parameter und angepasstem port in der firebird.conf

Das IBExpert eine auch kommerziell einsetzbare kostenlose personal edition hat kann
ich ja noch mal nebenbei erwähnen.

Bei der gruseligsten Installation, die wir mal vorgefunden hatten, gab es für verschiedene
Softwarelösungen aus der Versicherungsbranche 15 verschiedene Firebird parallel, die
jede das konzept hatten, wer zuletzt installiert, der hat gewonnen. Die mit uns zusammen
entwickelte Software nutze einen anderen port und einen anderen servicenamen und lief
immer ohne probleme sogar auf so einer Kiste.

Bezgl der Anforderungen im ersten Post: wir haben diverse Datenbanken auch mit
Tabellen mit mehr als einer Milliarde Datensätze im Einsatz, 500gb bis 5TB sind nicht
wirklich problematisch, auch wenn es da gute argumente gibt, das in extra datenbanken
aufzuteilen.

Bzgl einfache installation für Netzwerk: wenn dein installer einfach den inhalt aus
der firebird zip version mit vorbereiteter security*.fdb und angepasster firebird.conf
(DefaultServicePort anders als 3050) ausliefert,
brauchst du deinem installer nur noch erklären, das der die Kommandzeile

install_service.bat MeinFBServerName

aufruft. Dann siehst du einen Service mit diesem namen, der autostartet und sonst
brauchst du nix wissen oder machen.

Deine exe kann dann eine fbclient.dll (mit msv*.dll) im eigene pfad mit ausliefern und
schon ist es egal, ob auf dem Zielrechner auch 15 andere firebirds bereits installliert
sind.

Wenn Netzwerk eh nicht gebraucht wird, pack einfach den kram aus der zip datei in der
für dich passenden 32 oder 64 bit version mit in den installer und schon brauchst du
keinerlei extra setup für Datenbankfunktionen aus deiner delphi app, die dann mit
firebird, ibdac von devart.com oder anderen Komponenten den zugriff erledigt.
das ist dann embedded seit fb3.

Kosten sind für firebird dauerhaft 0 € egal wie oft du das brauchst oder für wen oder
unter welcher lizenz deine eigene Software steht. Es zwingt dich niemals irgendjemand
eine neue Version installieren zu müssen wie das mit mssql gerne mal passiert.

Wir hatten gerade vor kurzem noch eine Firebird 1.0 Datenbank von einem Kunden bekommen, die
zuletzt vor 23 Jahren ein createdatabase bekam. ist aber auch heute noch täglich im einsatz bei dem
(mittlerweile mit einem uralten windows virtualisiert, aber egal, es läuft schnell genug
für seine Zwecke).

Und wenn du dann wirklich neben der online doku nicht weiterkommst sind hier im forum
sicher 10-20 aktive user dabei, die damit arbeiten und auch noch schnell mal fragen
beantworten (wie ich), es sei denn es sind absolute DAU Fragen, die man mit google hätte auch
so beantworten können. Bei btrieve wird das ganz sicher schon einiges weniger an delphi Know
how geben in öffentlichen Foren und oft sind solche preiserhöhungen der letzte sargnagel
für kommerzielle datenbankserver (siehe Advantage Database Server), die dann nur noch von
Leuten benutzt werden, die davon aus welchen gründen auch immer nicht weg kommen.

Falls Replikation gebraucht wird, geht ja auch das mit externen tools oder seit fb4 internen
Funktionen in verschiedenen Qualitätsstufen, aber selbst für ein stündliches live backup
der Datenbanken ohne externes Tool muss sich niemand abmelden, das kann über gbak
oder deine app per komponente jederzeit laufen, während alle anwender ganz normal
weiter arbeiten.

Und alles was ich hier beschreibe geht auch mit embedded, technisch ist in allen
versionen auch immer alles was man per sql macht in der jeweiligen Versionsnummer
identisch machbar. Und fast immer sind spätere updates auf neue version
rückwärtskompatibel, d.h. deine sqls, die unter fb2.x liefen, sind fast immer
nach backup/restore auch mit fb5.x ausführbar, es sei denn du hast da unglückliche
Objektnamen benutzt, aber auch das kann man lösen.

Ich kenn in der Firebird Welt keinen Kunden, der sich ernsthaft mit Firebird
beschäftigt und offen ist für externen Support, der jemals gezwungen war, auf
irgendeine andere Plattform umzustellen.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung

Geändert von IBExpert ( 7. Sep 2024 um 20:08 Uhr)
  Mit Zitat antworten Zitat
johndoe049

Registriert seit: 22. Okt 2006
170 Beiträge
 
#9

AW: Empfehlung für SQL-Datenbank

  Alt 7. Sep 2024, 22:10
Bei der Gelegenheit eine Frage zu Firebird und Datenbankverschlüsselung.

Bei IBExpert gibt es eine Verschlüsselungsmodul zu kaufen. Muss man das pro Kunden/Installation kaufen oder sind die Vertriebsrechte für Verwendung in eigener Software mit enthalten?
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
679 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Empfehlung für SQL-Datenbank

  Alt 8. Sep 2024, 07:26
https://www.ibexpert.net/ibe_de/pmwi....EncryptionOEM

"Unlimitierte Weitergabe des Moduls mit den Softwareprodukten des Lizenzinhabers ohne gesonderte Freischaltung.
Eine isolierte Weitervergabe ohne Softwareprodukte des Lizenzinhabers oder als Freeware ist nicht erlaubt."

funktioniert auch mit fb5, müssen wir da mal anpassen
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 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