Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Newbie Frage zur Datenbankauswahl (https://www.delphipraxis.net/151747-newbie-frage-zur-datenbankauswahl.html)

ChrisE 31. Mai 2010 09:42

Datenbank: noch keine • Zugriff über: ohne installiere Treiber (wie z.B. bei SQLite -> dll)

Newbie Frage zur Datenbankauswahl
 
Hallo,

wir brauchen in naher Zukunft eine einfach Datenbanklösung. Ich habe schon versucht mich in verschiedene Bereich ein zu lesen, doch irgendwie überflutten mich die Informationen. Daher wollte ich hier mal die Leute befragen, die sich damit wirklich auskennen. :duck:

Die Anforderungen sind folgende:
  • Zugriff von Single-User-Installationen, Mini-Netzen (3-5 Clients) und größeren Netzen bis zu 50 Clients
  • Hauptsächlich gibt es lesende Zugriffe, schreiben kann jedoch in "Stoßzeiten" durchaus von allen Clients aus geschehen (quasi-parallel)
  • Einfache Installation der Datenbank für Single-User und Mini-Netze - am besten nur durch kopieren von Dateien (ohne Services etc.)
  • Simple Umstellung auf größere Netze, die dann wahrscheinlich auf einen Server / Service zugreifen
  • Single-User und Mini-Netze am besten ohne zusätzliche Lizenzkosten
  • Einsatz in Closed-Source Entwicklung erlaubt

Ich habe schon ein bisschen was mit SQLite gemacht aber die Anforderung "Multi-User" lässt diesen Weg nicht mehr zu. Des weiteren bin ich auf TurboDB gestoßen, wobei ich nicht sicher bin ob die all die Anforderungen erfüllen (größere Netze mit bis zu 50 Clients gleichzeitig -> Anfrage diesbezüglich läuft aber). Dann habe ich auch noch aus den Forum heraus gelesen, dass Firebird eine gute Lösung wäre, nur überblicke ich hier ganz ehrlich gesagt nicht, ob das nicht schon zu "groß" wäre für die Anforderungen und wie die Umstellung zwischen den einzelnen Modi (Emb vs. Server) läuft etc. Aber das würde ich dann in einem neuen Thread erfragen. Immer nur eine Frage pro Thread :-)

Danke auf jeden Fall für Eure Unterstützung.

Chris

scrat1979 31. Mai 2010 09:52

Re: Newbie Frage zur Datenbankauswahl
 
Hallo!!

Ich würde mich ganz klar für FireBird entscheiden. Die Skalierung von Single-User zu Multiuser (bzw. lokal zu server) ist wirklich ein Klacks (Wenige Einstellungen in der entsprechenden Komponente in Delphi). Es läuft sehr stabil und schnell. Nicht zuletzt eignet es sich aufgrund der Lizenzbedingungen ebenfalls sehr gut. Es gibt haufenweise gute Admin-Tools (GUIs) wie z.B. Firebird Maestro oder SQL Manger for Firebird. Damit lassen sich die Datenbanken einfach und übersichtlich pflegen (inkl. Zugriffsrechte). Als Zugriffskomponenten verwendet ich IBDAC, es gibt auch andere - von einigen hier im Forum favorisierte - Alternativen (Forensuche).

Auch als Datenbank-Newbie wird es Dir möglich sein, mit Hilfe der Schnellanleitung von Firebird innerhalb von 20 Minuten (inkl. Firebird-Installation) eine Anwendung zu schreiben um z.B. Daten in einem DBGrid anzuzeigen. Es ist wirklich kein Hexenwerk. Wenn du Hilfe brauchst sind wir ja immer für Dich da :)

Von den o.g. GUIs gibt es Demoversionen, bei IBDAC müsstest du mal schauen.

Grüße,

Michael

mkinzler 31. Mai 2010 09:54

Re: Newbie Frage zur Datenbankauswahl
 
FireBird ( ab 2.5) wäre auch mein Vorschlag gewesen.
Bei SingleUser: embedded
3-5: embedded ( bei FB2.5) aber besser Server ( Service oder Programm)
> 50: Server

Für FireBird fallen keine Lizenzkosten an. Kommerzielle Nutzung erlaubt.
Die Umstellung von embedded auf Server funktioniert einfach per Connectionstring ( bei embedded Serverteil leer)

RWarnecke 31. Mai 2010 10:03

Re: Newbie Frage zur Datenbankauswahl
 
Vielleicht ist dieser Beitrag aus dem Delphi-Forum noch etwas für Dich.

blackfin 31. Mai 2010 10:32

Re: Newbie Frage zur Datenbankauswahl
 
Meine Empfehlung ist auch ganz klar der Firebird (>= 2.5).
Die Datenbank ist extrem stabil (sogar, wenn man teilweise richtige "Schweinereien" mit ihr macht) und ziemlich fix.

Ich arbeite oft damit, nehme gerne den embedded Server und nutze die Zeos-Komponenten dafür.
Bisher hatte ich damit bisher null Probleme, im Gegensatz zu manch anderen Datenbanken.....

Ausserdem ist eine Applikation damit sehr schnell an den Kunden gebracht, ohne COM-Server Hölle oder dergleichen.
(btw: kennt jemand zufällig die Valentina Datenbank? DAS ist die Hölle!)

ChrisE 31. Mai 2010 10:54

Re: Newbie Frage zur Datenbankauswahl
 
Hallo,


Zitat:

Zitat von scrat1979
Als Zugriffskomponenten verwendet ich IBDAC, es gibt auch andere - von einigen hier im Forum favorisierte - Alternativen (Forensuche).

Würde sich hier auch UniDAC anbieten, da ja so die DB-Architektur egal wäre?


Zitat:

Zitat von mkinzler
FireBird ( ab 2.5) wäre auch mein Vorschlag gewesen.

Hab ich das richtig gesehen, dass es hier bisher nur einen RC gibt?

Zitat:

Zitat von mkinzler
Für FireBird fallen keine Lizenzkosten an. Kommerzielle Nutzung erlaubt.

D.h. ich kann den Server von der Seite dort runter laden und bei jedem Kunden installieren, ohne Lizenzprobleme bzw. die Embedded-Version immer mit ausliefern und den Server nur bei Usern > 3 Plätzen?

Zitat:

Zitat von mkinzler
Die Umstellung von embedded auf Server funktioniert einfach per Connectionstring (bei embedded Serverteil leer)

D.h. beim Coden selber macht man sich zunächst keine Gedanken darum, ob es später Multi-User oder Single-User wird. Man Programmiert z.B. alles so als ob es sich immer auf einen Server verbindet. Es kann dann später nur per "Konfig-Datei" entschieden werden. Worauf verbunden wird ist aber für die Anwendung erst mal egal?


@RWarnecke: Danke, lese ich mir mal durch


Zitat:

Zitat von blackfin
Ich arbeite oft damit, nehme gerne den embedded Server und nutze die Zeos-Komponenten dafür.
...
Außerdem ist eine Applikation damit sehr schnell an den Kunden gebracht, ohne COM-Server Hölle oder dergleichen.

D.h. das ist wohl wirklich das was ich mir vorstelle. Ein paar Dateien auf den Client kopieren und anpassen (.conf) und schon kann's losgehen. Welche Gründe sprechen bei Dir für Zeos?

Danke an alle,

Chris

Bernhard Geyer 31. Mai 2010 11:01

Re: Newbie Frage zur Datenbankauswahl
 
Zitat:

Zitat von ChrisE
Zitat:

Zitat von scrat1979
Als Zugriffskomponenten verwendet ich IBDAC, es gibt auch andere - von einigen hier im Forum favorisierte - Alternativen (Forensuche).

Würde sich hier auch UniDAC anbieten, da ja so die DB-Architektur egal wäre?

Ist es nicht. Der Aufwand eine anderes DBMS zu unterstützen wird nur bei solchen Zugriffskomponenen geringen. Wenn dann brauchst du ein Bridge-Pattern oder Objektrelationales Framework (bei Java Hibernate) welche wirklich auch die SQL-Unterschiede kapseln.

mkinzler 31. Mai 2010 11:08

Re: Newbie Frage zur Datenbankauswahl
 
Zitat:

Würde sich hier auch UniDAC anbieten, da ja so die DB-Architektur egal wäre?
Ja, UniDAC sollte das selbe leisten wie IBDAC ( kenne aber nur 2.)

Zitat:

Hab ich das richtig gesehen, dass es hier bisher nur einen RC gibt?
Ja. Dieser ist aber sehr stabil. Ich gehe von einer Veröfentlichung in der nächsten Zeit aus. Alternativ halt die Vorgängerversion, bei dieser ist die embedded aber nicht multiuserfähig ( hier würde ich aber eh auf den Server setzen)

Zitat:

D.h. beim Coden selber macht man sich zunächst keine Gedanken darum, ob es später Multi-User oder Single-User wird. Man Programmiert z.B. alles so als ob es sich immer auf einen Server verbindet. Es kann dann später nur per "Konfig-Datei" entschieden werden. Worauf verbunden wird ist aber für die Anwendung erst mal egal?
Ja, ist völlig egal. Die selbe Anwendung kann sowohl auf lokale/embedded wie auf eine Server zugreifen
Zitat:

Welche Gründe sprechen bei Dir für Zeos?
Höchstens der Preis (kostenlos). Zeos hat das Problem, dass keine harten Commits unterstützt werden. Was bei Multiuserzugriff ein echtes Problem darstellt.

RWarnecke 31. Mai 2010 11:11

Re: Newbie Frage zur Datenbankauswahl
 
Zitat:

Zitat von ChrisE
Zitat:

Zitat von scrat1979
Als Zugriffskomponenten verwendet ich IBDAC, es gibt auch andere - von einigen hier im Forum favorisierte - Alternativen (Forensuche).

Würde sich hier auch UniDAC anbieten, da ja so die DB-Architektur egal wäre?

Ich selber habe die UniDAC Komponenten bei einem Projekt eingesetzt. Die Dinger sind der Wahnsinn. Ich habe keinerlei Probleme gehabt.
Zitat:

Zitat von ChrisE
Zitat:

Zitat von mkinzler
FireBird ( ab 2.5) wäre auch mein Vorschlag gewesen.

Hab ich das richtig gesehen, dass es hier bisher nur einen RC gibt?

Die letzte stabile Version ist 2.1.3. Ich nehme mal an, dass die Version 2.5 vorgeschlagen wurde, wegen den kleinen Netzen. Denn bei der Embedded Version 2.5 kannst Du mit mehreren Usern auf die Datenbank zugreifen, nicht wie bei der Version 2.1.3. Da geht es nur mit einer Person.
Zitat:

Zitat von ChrisE
Zitat:

Zitat von mkinzler
Für FireBird fallen keine Lizenzkosten an. Kommerzielle Nutzung erlaubt.

D.h. ich kann den Server von der Seite dort runter laden und bei jedem Kunden installieren, ohne Lizenzprobleme bzw. die Embedded-Version immer mit ausliefern und den Server nur bei Usern > 3 Plätzen?

Ja, kannst Du. Siehe mein Code-Orakel. Das Programm hat die Firebird Version 2.1.3 Embedded.

scrat1979 31. Mai 2010 11:18

Re: Newbie Frage zur Datenbankauswahl
 
Zitat:

Zitat von scrat1979
Als Zugriffskomponenten verwendet ich IBDAC, es gibt auch andere - von einigen hier im Forum favorisierte - Alternativen (Forensuche).

Würde sich hier auch UniDAC anbieten, da ja so die DB-Architektur egal wäre?

Jein. Wenn Du Befehle benutzt, welche in den entsprechenden DBMS IDENTISCH sind, dann ja. Dann müsstest du Dich allerdings für die Pro-Version entscheiden, da erst hier die entsprechenden Service-Provider für die einzelnen Datenbanksysteme mit ausgeliefert werden. Wie schon gesagt werden von UniDAC allerdings keine DatenbanksystemSPEZIFISCHEN Features unterstützt (z.B. Komponente zur Rechteverwaltung in Firebird)


Zitat:

Zitat von mkinzler
FireBird ( ab 2.5) wäre auch mein Vorschlag gewesen.

Hab ich das richtig gesehen, dass es hier bisher nur einen RC gibt?

Macht doch nichts, die Version 2.1 ist doch in der FINAL vorhanden und sehr gut :)


Zitat:

Zitat von mkinzler
Für FireBird fallen keine Lizenzkosten an. Kommerzielle Nutzung erlaubt.

D.h. ich kann den Server von der Seite dort runter laden und bei jedem Kunden installieren, ohne Lizenzprobleme bzw. die Embedded-Version immer mit ausliefern und den Server nur bei Usern > 3 Plätzen?

Ja! Die Skalierung macht keinerlei Probleme. Allerdings könnte es sein, dass Du bereits bei mehr als 1 Platz die Server-Version nehmen musst (solltest), was aber vom
Aufwand her auch nicht mehr Arbeit ist (einmal den Server installiert und bei den clienten eben Dein Programm mit der entsprechenden Firebird-Client-DLL installieren - Fertig!). Selbst ich war verwundert wie einfach das funktioniert :) Die Embedded-Version ist meines Wissens nur für Ein-Platz-Systeme (z.B. Entwicklungs-Rechner) geeignet.

Auch die (kostenlose!) komerzielle Verwendung ist ausdrücklich gestattet, Du wirst keinerlei Lizenzprobleme bekommen.


Zitat:

Zitat von mkinzler
Die Umstellung von embedded auf Server funktioniert einfach per Connectionstring (bei embedded Serverteil leer)

D.h. beim Coden selber macht man sich zunächst keine Gedanken darum, ob es später Multi-User oder Single-User wird. Man Programmiert z.B. alles so als ob es sich immer auf einen Server verbindet. Es kann dann später nur per "Konfig-Datei" entschieden werden. Worauf verbunden wird ist aber für die Anwendung erst mal egal?

IMHO nicht per Config-Datei sondern über den connection-String bzw. über die Einstellungen in der entsprechenden Komponente (wenige Mausklicks und Tastatureingaben)


SCRaT


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 Uhr.
Seite 1 von 3  1 23      

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