Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Empfehlung für SQL-Datenbank (https://www.delphipraxis.net/215784-empfehlung-fuer-sql-datenbank.html)

udo888 6. Sep 2024 17:48

Datenbank: SQL • Version: x • Zugriff über: Delphi

Empfehlung für SQL-Datenbank
 
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

blawen 6. Sep 2024 19:45

AW: Empfehlung für SQL-Datenbank
 
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.

Medium 6. Sep 2024 20:33

AW: Empfehlung für SQL-Datenbank
 
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.

omnibrain 6. Sep 2024 22:08

AW: Empfehlung für SQL-Datenbank
 
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.

haentschman 7. Sep 2024 09:04

AW: Empfehlung für SQL-Datenbank
 
Moin...8-)

@TE

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

[meine Meinung]
Ich bin Firebird Fan :thumb:, 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 (:warn: 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.
8-)

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. :kotz:
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.

jsheyer 7. Sep 2024 12:07

AW: Empfehlung für SQL-Datenbank
 
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.

TurboMagic 7. Sep 2024 12:38

AW: Empfehlung für SQL-Datenbank
 
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.

IBExpert 7. Sep 2024 19:05

AW: Empfehlung für SQL-Datenbank
 
Zitat:

Zitat von TurboMagic (Beitrag 1540675)
...
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.

johndoe049 7. Sep 2024 22:10

AW: Empfehlung für SQL-Datenbank
 
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?

IBExpert 8. Sep 2024 07:26

AW: Empfehlung für SQL-Datenbank
 
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

MichaelT 8. Sep 2024 11:59

AW: Empfehlung für SQL-Datenbank
 
Ein weiser Mann spricht weise Worte. Hast schon recht.

Der BTRIEVE ist ein guter alter Record Server und das war in den 1980ern und 1990ern ein Vorteil, da man den Record einfach in ein Objekt hat reinkopiert und über Properties die Ausgabe in Richtung Delphi IDE hat einfach gestalten können. Da braucht es allein ein wenig ein Datenbank Objekt und einen Schema Generator und man bekommt den Datenbestand 1:1 konsistent in die Applikation rein gemapped. Das Zeug war sauschnell, damals bis zu 50 mit einer Warenwirtschaft, KORE und FIBU den lieben langen Tag (intensiv inkl Reporting) arbeitenden Usern und kotzte in der Praxis kaum ab, ähnlich 4th Dimension.

Firebird ist in der Praxis die 'neue' teamfähige Personal Oracle, so wie früher mit der Ampel zu starten, plus Netzwerk. Darüber hinaus geht praktisch alles mittlerweile und in der Praxis komfortabler.

Ich habe bitte einen RAC mit einer Tabelle, sorry zwei,

create table neighbors(ID integer, CALLEM varchar2(255), FK_DOSOMETHING_ID integer) mit PK usw...

Dafür aber 6 Tools at Hand inkl. Plyxon (unter Linux), Oracle SQL Developer, SQL Detective, Clear SQL (für eine procedure ADAROCKS_HOWDY(pCALLEM varchar2 .... - schwer qualitätsgesichert, Clear DB für die Schemadokumentation, PL/SQL Developer usw...

Darin sind 4 Datensätze für Hippy, Hoppy, Julian the Wise OWL und ein Satz mit CALLEM für gängige Sonderzeichen.

Ich habe lange gesucht nach einer Ablöse und am Ende blieb ein wenig unerwartet mittlerweile der Firebird.

Dort gibt es die Häschen und die Eule mit Bildern - progress on steroids usw.. Scherzerl.

Beim Firebird war der Drive die letzten Jahre gewaltig.

Mittlerweile ist Firebird die würdige Nachfolge für solche Szenarien.
Elevate DB hat auch einen Lack und
NexusDB und
Interbase (jetzt wertfrei, wenn einer unbedingt glaubt).

Elevate DB ist einfach zu administrieren und hat eine brauchbare Verschlüsselung usw. NexusDB ist runder aber kann fast zu viel an dem Eck.

Nimmt man noch PHP dazu, dann wird es mühselig. Dann rücken wieder MySQL, MariaDB und Postgres in den Fokus, mal von NoSQL DBs abgesehen.

Ich würde mir auf jeden Fall die Community rund um PHP PDO module (Treiber), .net und Java Connectoren ansehen und ODBC Treiber.

Mimer, ist aber bestimmt nicht billig, wäre die Liga SQL Server and Beyond (mittlerweile vermutlich auch nicht mehr) und praktisch SQL Anywhere on Steroids. Wohl aber hat das Self Tuning schon vor 20 Jahren an sich klaglos, im Dauerbetrieb getestet, funktioniert.

Wenn man XBASE und nicht BTRIEVE migriert gibt es zumindest Alternativen bei denen der Datenbestand übernommen werden kann.

-

Vorteil ist heutzutage, dass die Kunden für die Verschlüsselung werden gerupft und nicht für 'neue Datenbankfeature' und deren Verbesserung. Seitdem funktioniert alles halbwegs zeitnah und klaglos. Apollo bspw.

Wer über Delphi klagt, dem sei einmal Harbour empfohlen :-D, ist zwar geil, aber ernüchternd (Clipper Compiler auf GCC).

-

Schemaänderung im Betrieb auf großen Datenbeständen bist bei Oracle und diesbezüglich war diese Datenbank schon immer segensreich und auch was Networking angeht.

-

Aber als Ablöse für Szenarien, welche sich jetzt nicht auf die eine Tabelle beschränken, ich fahre den Oracle Cluster allein zur Gaudi hoch, deswegen bleib es bei einer Tabelle oder zwei, ist Firebird am Ende der verbliebene Kandidat. Ich kenne einige die mit dem Firebird sich schon mit 1.0 rumplagten, aber die haben seitdem ganz gut immer einen positiv Zugewinn erfahren und waren am Ende immer zufrieden und wurden immer zufriedener (Linux). Der Firebird kann was es braucht.

Mein Präferenz ist so lean wie nötig und so ausbaufähig wie möglich. In Österreich haben in Ermangelung anderer Alternativen Unternehmen einfach Oracle genommen, gut lief stabil, aber da die Oracle alle nahmen (der SQL Server hieß vermutlich noch Sybase also vor 6). Hernach waren die Ablöseorgien. Mit der Zeit kamen die Unternehmen drauf, dass Oracle für 'wahre Männer' ist und der Charme der DB wurde gekonnt versteckt, aber 'Smells like the IBM Host' war eben zur Zeit des Grunges schon nicht der Teen Spirit, sondern eine Notwendigkeit. Auch wenn ich sonst über eine Oracle nichts kommen lasse. Aber die Version auf 19 raufzufahren, damit mal einmal in der DB am CLI JSON Value Repräsentationen von Werten aus Tabellen bekommt, das war vor geraumer Zeit schon ernüchternd.

Die Nische in Österreich war Oracle auf Windows NT 4 mit 7 und die Trials mit dem Nag Screen gingen weg wie die warmen Semmeln oder die anderen CDs. Durchstarten war in der Regel selten der Fall.

--

Der Firebird war schon zu Zeiten 3 Alpha, bis auf ein paar Troubles mit rekursiven Abfragen (macht eine Elevate DB nicht) und dabei die Systemgrenzen zu sprengen, von einem Freund (Waschbär) von mir die Option schlechthin. 'Weg von Oracle' für überschaubare Szenarien war vor ca. 15 Jahren angesagt.

Mit embedded Szenarien usw. nimmt sich die Sache wieder anders aus und die Lizenzen pro Arbeitsplatz, die brauchen Hersteller, liegt auf der Hand, aber tut sich keiner an. Die relationalen Datenbanken und SQL waren nicht beleibt, da SQL so super war, sondern da Abteilung für Änderungen an den Anwendungen immer fette Beträge aus ihrem Budgets mussten abdrücken. Die Daten wurden reingeklopft in der DB2 auf Files oder direkt am Fielsystem von der IT Organisation verwaltet und raus kam nichts ohne Löhnemann.

Die bekamen auf dem Wege Zugriff auf 'ihre' Daten, sonst war außer mit dem Query Management Facility nicht viel (QMF).


Zitat:

Zitat von haentschman (Beitrag 1540672)
Moin...8-)

@TE

Am Ende des Threads wirst du nicht schlauer sein...weil jeder seine Vorlieben herausstellt. :zwinker:


TigerLilly 9. Sep 2024 10:35

AW: Empfehlung für SQL-Datenbank
 
Ich würde gern MSSQL Express ins Spiel bringen.
https://www.microsoft.com/de-de/down...aspx?id=104781

- Installiert in 99% der Fälle problemlos
- Verwaltungstool inkludiert
- hoch performant + skalierbar
- als Einzelplatz und als Server einsetzbar
- kostet nichts

Wir nutzen das seit vielen Jahren für unterschiedlichste Zielgruppen und hatten noch nie das Gefühl wechseln zu müssen.

Phoenix 9. Sep 2024 11:37

AW: Empfehlung für SQL-Datenbank
 
Also der aktuelle "Industriestandard" ist meines erachtens PostgreSQL.

MySQL / MariaDB sehe ich schon seit vielen Jahren nicht mehr produktiv im Einsatz - bei keinem unserer Kunden. Der Grund ist, das MariaDB eher "leichtgewichtiger" ist. Eigentlich gut, aber bei größeren Datenbanken macht Maria dadurch dann irgendwann die Grätsche und bricht komplett ein. Also kleine DB: MariaDB, größere DB's: Was "richtiges".
Oracle ist Lizenztechnisch und handhabungsmäßig ne Vollkatastrophe.
Microsoft SQL Server ist gut und benutze ich auch gerne, aber die Express-Edition ist zu eingeschränkt und bei der richtigen Variante hast Du wieder das Lizenzkostenproblem. Zudem gibt es hier für ARM-Hardware (noch?) keine gescheiten Images.
Firebird ist halt eher eine Nischen-DB, die nahezu ausschließlich im Delphi-Umfeld genutzt wird.

Das ist per se natürlich nicht schlecht, aber daraus ergibt sich, dass die Community die Dir hier helfen kann leider sehr überschaubar ist. Postgres kennt da draussen nahezu jeder, der aktuell irgendwas mit hochperformanten Datenbanken machen muss. Dementsprechend gibt's dort für alle erdenklichen Situationen schon Artikel und fertige Lösungen.

Dazu kommt, das PostgreSQL auch neben dem primären Relationalen Modell auch (ggf. mit extensions) Support für Document-Store (no-sql), Graph-DB, Spatial DB's (Geo-Daten / Koordinaten), und auch Vektor-Storage hat (und das wird aktuell immer wichtiger für performante semantische Suchen).

Ich würde an Deiner Stelle einfach mal von allem was in die nähere Auswahl kommt eine DB in einem Docker Container hochfahren, deine Daten da reinschieben, und dann gucken wie sich das jeweils anfühlt und wie das performt.

Lemmy 9. Sep 2024 11:46

AW: Empfehlung für SQL-Datenbank
 
Hi,

sorry, für die Zwischenfrage:

Zitat:

Zitat von Phoenix (Beitrag 1540727)
MySQL / MariaDB sehe ich schon seit vielen Jahren nicht mehr produktiv im Einsatz - bei keinem unserer Kunden. Der Grund ist, das MariaDB eher "leichtgewichtiger" ist. Eigentlich gut, aber bei größeren Datenbanken macht Maria dadurch dann irgendwann die Grätsche und bricht komplett ein. Also kleine DB: MariaDB, größere DB's: Was "richtiges".

das mit der Größe ist mir neu. Hast Du da Erfahrungswerte? Geht es dabei um die Gesamtgröße der Datenbank oder um die Datenmenge einzelner Tabellen? Hast Du da, wenn auch nur gefühlt, irgendwelche Größenangaben noch im Kopf?
Und wird die DB damit langsamer oder fährt die mit Fehlern gegen die Wand?

Grüße

himitsu 9. Sep 2024 11:51

AW: Empfehlung für SQL-Datenbank
 
Nja, für "Größeres" lohnt es sich ja eh oft einen richtigen DB-Server aufzusetzen.

Da ginge dann auch Bei Google suchenPostgreSQL

TigerLilly 9. Sep 2024 11:53

AW: Empfehlung für SQL-Datenbank
 
Zitat:

Zitat von Phoenix (Beitrag 1540727)
Microsoft SQL Server ist gut und benutze ich auch gerne, aber die Express-Edition ist zu eingeschränkt und bei der richtigen Variante hast Du wieder das Lizenzkostenproblem. Zudem gibt es hier für ARM-Hardware (noch?) keine gescheiten Images.

Naja, "eingeschränkt" muss man schon relativieren:
https://www.software-express.de/hers...nen-vergleich/
Wenn einem da etwas fehlt, ist man mit "überschaubare Kosten" eher falsch aufgestellt.

2019 und 2022 Express laufen auf ARM ohne Probleme, zumindest "within a Windows 11 on ARM installation in Parallels on Apple Silicon Macs".

johndoe049 9. Sep 2024 12:17

AW: Empfehlung für SQL-Datenbank
 
Viele Kunden von uns fordern bei Datenbanken eine Vollverschlüsselung incl. Suchhfähigkeit innerhalb der Datenbank. Nicht nur in der Verbindung vom Client zur Datenbank.

Wir nehmen daher ElevateDB und bei einigen Kunden, die das so unbedingt haben wollen, auch mal SQL Anywhere.

himitsu 9. Sep 2024 13:38

AW: Empfehlung für SQL-Datenbank
 
PS: https://db-engines.com/de/ranking

Phoenix 9. Sep 2024 13:50

AW: Empfehlung für SQL-Datenbank
 
Zitat:

Zitat von Lemmy (Beitrag 1540728)
das mit der Größe ist mir neu. Hast Du da Erfahrungswerte? Geht es dabei um die Gesamtgröße der Datenbank oder um die Datenmenge einzelner Tabellen? Hast Du da, wenn auch nur gefühlt, irgendwelche Größenangaben noch im Kopf?
Und wird die DB damit langsamer oder fährt die mit Fehlern gegen die Wand?

MySQL / MariaDB hat gewisse Probleme mit dem Index-Management. Das macht das ganze dann leider immer langsamer bis hin zu absolut nicht mehr akzeptablen Query- und Insert-Zeiten.

Eine Tabelle > 1 Mio Rows braucht Aufmerksamkeit was die Indices angeht, aber das kann man noch irgendwie handeln.
Mehrere Tabellen mit jeweils > 1 Mio Rows wirst Du definitiv an der Performance merken, da kannst Du mit den Indices machen was Du willst. Selbst wenn die DB eigentlich komplett in-Memory passen dürfte.

Ab dann sollte man sich Gedanken machen, einen Plan B in der Tasche zu haben.
Das kann z.B. sein, alle älteren Datensätze einfach in Archiv-Tabellen zu schieben damit die Live-Tabellen nicht so viele Einträge halten müssen, aber das ist alles Aufwand der mit einer besseren DB nicht sein müsste.

Lemmy 9. Sep 2024 14:05

AW: Empfehlung für SQL-Datenbank
 
Servus,

Zitat:

Zitat von Phoenix (Beitrag 1540736)
Zitat:

Zitat von Lemmy (Beitrag 1540728)
das mit der Größe ist mir neu. Hast Du da Erfahrungswerte? Geht es dabei um die Gesamtgröße der Datenbank oder um die Datenmenge einzelner Tabellen? Hast Du da, wenn auch nur gefühlt, irgendwelche Größenangaben noch im Kopf?
Und wird die DB damit langsamer oder fährt die mit Fehlern gegen die Wand?

MySQL / MariaDB hat gewisse Probleme mit dem Index-Management. Das macht das ganze dann leider immer langsamer bis hin zu absolut nicht mehr akzeptablen Query- und Insert-Zeiten.

Eine Tabelle > 1 Mio Rows braucht Aufmerksamkeit was die Indices angeht, aber das kann man noch irgendwie handeln.
Mehrere Tabellen mit jeweils > 1 Mio Rows wirst Du definitiv an der Performance merken, da kannst Du mit den Indices machen was Du willst. Selbst wenn die DB eigentlich komplett in-Memory passen dürfte.

Ab dann sollte man sich Gedanken machen, einen Plan B in der Tasche zu haben.
Das kann z.B. sein, alle älteren Datensätze einfach in Archiv-Tabellen zu schieben damit die Live-Tabellen nicht so viele Einträge halten müssen, aber das ist alles Aufwand der mit einer besseren DB nicht sein müsste.


Danke für die Info. Da habe ich dann was zu tun ;-)

udo888 9. Sep 2024 16:10

AW: Empfehlung für SQL-Datenbank
 
Ich danke für eure Vorschläge, bin zumindest erstmal bisschen schlauer.
Die Zugriffe werde ich auf jeden Fall kapseln, da kommt keine Komponete auf das Form. Btrieve hatte bisher auch eine eigene Unit mit sämtlichen DB-Zugriffen.

Jetzt werde ich mir einmal ansehen, wie ich das am effektivsten einbinden kann. Hat jemand eventuell noch eine Empfehlung für eine "nette" Anleitung? Ich muss nicht überschlau werden damit.

Und zum Glück wollen meine Kunden nicht selber in der Datenbank herumfummeln.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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