Welche Datenbank für Lazarus einsetzen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
neu-laz
Beiträge: 5
Registriert: Mi 18. Sep 2013, 10:00

Welche Datenbank für Lazarus einsetzen

Beitrag von neu-laz »

Hallo
seit einiger Zeit befasse ich mich mit dem Thema Lazarus und Datenbanken.

Folgende Anforderungen sind gestellt:
- Mehrfachzugriff auf Datenbank
- Unkomplizierte Installation für den Endkunden

Anwendung soll auf einem Server liegen. Zugriffe von mehreren Arbeitsplätzen.
Meine Frage, welche DB sollte ich einsetzen?
Habe mich schon mit Firebird und anderen auseinander gesetzt, bin aber noch nicht zu einem Ergebniss gekommen.

Für Anregungen und Erfahrungsberichte wäre ich dankbar.
Gruß neu-laz

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von mschnell »

neu-laz hat geschrieben:Folgende Anforderungen sind gestellt:
- Mehrfachzugriff auf Datenbank

Anwendung soll auf einem Server liegen. Zugriffe von mehreren Arbeitsplätzen.
Das ist ein Widerspruch.

Anwendungen, bei denen das exe als Datei auf dem Server liegt und auf dem User-Rechner läuft, sind bei neuen Windows-Varianten, glaube ich, verboten.

Wenn die Anwendung (also das Executable) auf dem Server läuft braust Du keine konkurrierenden Zugriffe auf die Datenbank (die kommen ja alle aus der einen Instanz der "Anwendung"). U.U. brauchst Du dann gar keine Datenbank. Die Frage ist dann viel mehr: "wie greift der User "remote" auf die Awendung zu?" .

-Michael

neu-laz
Beiträge: 5
Registriert: Mi 18. Sep 2013, 10:00

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von neu-laz »

Habe das wohl falsch dargestellt.
Die Datenbank soll auf dem Server liegen und die Zugriffe kommen von den Arbeitsstationen.
Die Programme müssen auf jeder Arbeitsstation installiert werden.

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von Antrepolit »

neu-laz hat geschrieben:Hallo
seit einiger Zeit befasse ich mich mit dem Thema Lazarus und Datenbanken.

Folgende Anforderungen sind gestellt:
- Mehrfachzugriff auf Datenbank
- Unkomplizierte Installation für den Endkunden

Anwendung soll auf einem Server liegen. Zugriffe von mehreren Arbeitsplätzen.
Meine Frage, welche DB sollte ich einsetzen?
Habe mich schon mit Firebird und anderen auseinander gesetzt, bin aber noch nicht zu einem Ergebniss gekommen.

Für Anregungen und Erfahrungsberichte wäre ich dankbar.
Gruß neu-laz
Hat der "Endkunde" denn noch kein DBMS? Das macht es problematisch. Denn es gibt verschiedene Arten von DBMS, unter anderem relationale und objektorientierte. Falls du ein relationales benötigst, kann man die Auswahl einschränken. Allerdings ist egal, welches DBMS du einsetzt, es muss von einem Administrator gewartet werden. Hat der Endkunde also einen solchen oder eher nicht?

Nennenswerte DBMS sind Oracle, MS SQL Server, PostgreSQL und MySQL. Dir könnte man nur MS SQL und Postgre anraten, da Oracle zu viel kostet und MySQL hat Kinderkrankheiten, ist zwar einfach in der Installation macht aber mitunter probleme da es sich manchmal anders verhält als andere DBMS.
Grüße, Antrepolit

care only if your os is really burning

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von mschnell »

Möglicherweise brauchst nicht unbedingt eine Server-Basierte Datenbank. Konkurrierende Zugriffe kannst Du auch mit Datei-basierenden Datenbanken machen (wie z.B. der ollen Jet-Engine vom Microsoft, die Beispielsweise von Access verwendet wird (aber auch von sehr vielen nicht-Microsoft Produkten weil sie nix kostet, nicht installiert werden muss und ziemlich wartungsfrei ist.

Hat aber natürlich diverse Einschränkungen.

-Michael

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2822
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von m.fuchs »

Deswegen wäre noch eine Anforderung wichtig: Welche und wieviel Daten sollen denn abgelegt werden?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

neu-laz
Beiträge: 5
Registriert: Mi 18. Sep 2013, 10:00

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von neu-laz »

Danke für Eure Nachrichten.

Also, es ist nicht immer gegeben, dass es einen Administrator in dem Unternehmen gibt, wo meine Applikation eingesetzt wird.
"Ne olle Kamelle" sollte nun auch nicht eingesetzt werden.
Es gibt etwa um die 200 Tabellen in der Datenbank. Einige Tabellen enthalten um die 100 000 Einträge.

Ich habe bislang meine Applikation unter Delphi und der alten guten BDE installieren lassen. Da gab es nur wenig Probleme
aber da ich ein Potenzial mit Lazarus als Entwickler sehe, möchte ich hier mehr einsteigen.
Aber wie gesagt, es steht zur Zeit das leidige Problem der richtigen Datenbank zwischen Lazarus und mir :wink:

Sicherlich wäre Firebird noch eine Möglichkeit, aber hier sehe ich das Problem in der möglichen Administration. Als Embeded-Version macht es
keinen Sinn, da kein Mehrfachzugriff möglich ist, soweit ich weiss.

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von Michl »

Ich bin zwar kein Datenbank-Guru und nutze Datenbanken effektiv erst seit ein paar Monaten, hatte aber die gleichen Überlegungen anzustellen. Wichtig war mir, dass wenn ich mich schon in die Verwendung einer Datenbank einarbeite, dann sollte es möglichst eine "richtige Datenbank" sein.

Aufgrund der hohen Verwendungsdichte, hatte ich mir zuerst MySQL angeschaut. Die Installation ist etwas umfangreicher, daher etwas umständlich, für "Endkunden". Dafür waren auftretende Fragen sehr schnell beantwortet, da es eine sehr große Community dafür gibt. Letzten Endes bin ich jedoch wieder von MySQL weg, da eine Nutzung dieser Datenbank für kommerzielle Zwecke dann mit teuren Lizensen verbunden ist.

Zur Zeit nutze ich PostgreSQL unter Verwendung von ZEOS, die Installation ist recht unkompliziert (nimmt auch nicht so viel Platz in Anspruch, wie MySQL) und bin damit sehr zufrieden!

Meine subjektiver Eindruck:
- gefühlt ist PostgreSQL schneller in der SQL-Befehl-Abarbeitung als MySQL
- allerdings ist der SQL-Befehlssatz bei PG nicht so hoch, wie bei MySQL und man muss hier und da einen kleinen Umweg machen, um das Gleiche zu erreichen
- Tutorials und Foren im deutschsprachigem Raum sind für MySQL mehr verbereitet als für PG (wenn man einigermaßen Englisch versteht, ist das aber kein Hinderniss)
- der mitgelieferte PGAdmin (Administrationstool) ist eine große Hilfe bei der Verwendung und zum Verstehen des Datenbankaufbaus

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Patito
Beiträge: 203
Registriert: Di 22. Sep 2009, 13:08
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von Patito »

Kommt natürlich auch darauf an ob die Datenbank etwas kosten darf. Kostenfrei und für mich interessant ist zur Zeit PostgreSQL.
Von den freien Datenbanken traue ich der Postgres-Community auf lange Sicht am meisten zu.

Nich kostenlos, aber vom Administrationsaufwand ziemlich perfekt ist z.B. die SQLAnywhere von Sybase (SAP).
Die hat ein mit Abstand besseres Administration-Tool als z.B. pgAdmin. Wenn man sich an soetwas erst mal gewöhnt hat,
findet man die meisten anderen Datenbank-Tools einfach nur ätzend.

neu-laz
Beiträge: 5
Registriert: Mi 18. Sep 2013, 10:00

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von neu-laz »

Also Ihr seit der Meinung das PostgreSQL unter Verwendung von ZEOS einsetzbar ist.
Werde ich mir mal installieren.
Es wäre schon interessant zu erfahren, ob es unterschiede bzw. welche unterschiede es zwischen PostgreSQL und Firebird gibt.
Aber dennoch danke für Eure Anregungen und Denkanstösse.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von Christian »

Postgres gibts auf mehr systemen vorcompiliert/vorinstalliert z.b. NAS.
Feature+ SPś können in Postgres in mehreren Sprachen geschrieben werden es gibt viele Erweiterungen z.b. für GIS
Firebird ist leicht schneller
Feature+ Firebird kann mit ODBC Verbindungsservern umgehn.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

neu-laz
Beiträge: 5
Registriert: Mi 18. Sep 2013, 10:00

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von neu-laz »

Danke für Eure Anregungen.

Ich habe mich mal mit den von Euch vorgeschlagenen Datenbanksystemen beschäftigt.
Finde, dass sowohl das eine wie auch das andere seine Vorteile oder Nachteile hat.
Habe hier im Forum bereits einiges gelesen und mich mit diversen Aussagen auseinander gesetzt.
Es scheint so, als ob jedes DBMS seine Vorteile und Nachteile hat. Aber alles kommt auf´s gleiche raus.
Man(n) muss halt schauen, welches man einsetzen möchte und bindet sich dann.
Wobei ich nicht überzeugt bin, dass Firebird, PostgrSQL und MySQL dann letzlich für den Endanwender
ohne Administrator einzusetzen sind.
Habe mich jetzt entschieden, da ich mit Opnesource arbeiten möchte, aus den vorhandenen etwas eigenes
zu "stricken", wleches dann auch für den Endanwender ohne grosse Kenntnisse einsetzbar ist.

Aber was soll´s trotzdem Danke an alle, die diesen Beitrag gelesen und mir eine Antwort gegeben haben .

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von Christian »

Interessiert mich jetzt doch was du meinst.
Willst du ne eigene Datenbank schreiben ?
Wie meinst du das mit OSS ? Die genannten Datenbanksysteme sind doch OSS oder ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Welche Datenbank für Lazarus einsetzen

Beitrag von MmVisual »

Ich nutze auch die ZEOS Komponente. Diese Komponente kann einige Datenbanken, wie z.B. Firebird, MySQL und PostgreSQL und einige andere. Wenn Du Deinen SQL Script recht einfach hältst, so kannst Du mit ein paar wenigen Parameter die TZConnection auf eine andere DB recht leicht umschalten. Und schon ist Deine EXE tauglich für verschiedene DB's.
Und ZEOS geht auch mit Delphi.
Meine EXE unterstützt derzeit SQLite, MySQL, PostgreSQL und MsSQL als Datenbanken. An ein paar wenigen Stellen musste ich den SQL Script anhand dem DB Typ umschalten.
Zusätzlich beherrscht die ZEOS Komponente umfangreiche Such/Filter/CalcFields Funktionen was viele andere Komponenten nicht können.
Mit ZEOS bindest Du Dich NICHT an eine DBMS, ohne Tausch der Komponente kannst Du viele DBMS nutzen. Was eigenes würde ich nicht machen, lohnt nicht wirklich.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Antworten