Entwickler-Ecke

Datenbanken - Welche Datenbank nehmen?


jjturbo - Fr 16.10.09 11:45
Titel: Welche Datenbank nehmen?
Moin Forum,

demnächst kommt ein neues Projekt auf mich zu, in dem ich Zugriff auf Tabellen von mehreren PC´s benötige.
Da das Ganze noch nicht spruchreif ist und ich mich erst mal in die Thematik einarbeiten möchte sollte es nach Möglichkeit Freeware sein.
Programmierumgebung ist derzeit Delphi2007.

Was empfehlt Ihr mir?

Gruß Oliver


Apuch - Fr 16.10.09 13:49

Morgen,

bei Zugriffen von mehreren Rechnern fällt SQLite schon mal flach. Ist einfach nicht für gedacht. Als freie Varianten fallen mir MySQL und PostgreSQL ein. Sind beide frei und können anscheinend mit der ADO-Komponente genutzt werden (mit der hab ich noch nicht gearbeitet und werde es wahrscheinlich auch nie ;) ). PostgreSQL ist meines Wissens nach in diversen Dingen MySQL überlegen aber dieses Wissen basiert zu großen Teilen auf Hörensagen. Auch gibts noch andere Systeme. Wiki [http://de.wikipedia.org/wiki/Kategorie:Freies_Datenbankmanagementsystem] listet einige. Da wird auch für dich was dabei sein.

Unabhängig davon: ADO ist anscheinend eine Abstrakte Schnittstelle, mit der die verscheidenene Datenbanken über ein einheitliches Interface angesprochen werden können. Also einfach blind ein freies DBMS installieren und los gehts :P SQL ist bis au kleinere Unerschiede bei jeden DBMS gleich. Also einfach ein Buch oder Tutorial zum gewählten System nehmen und damit anfangen. Auch Wenn ADO viel abnehmen sollte. Wenn man kein Plan hat, was unter der Haube passiert, läuft es zwangsläufig schief.

MfG


HelgeLange - Fr 16.10.09 16:08

Firebird ist frei, und kann von mehreren Rechnern gleichzeitig benutzt werden.


Bernhard Geyer - Fr 16.10.09 17:59

user profile iconjjturbo hat folgendes geschrieben Zum zitierten Posting springen:
Da das Ganze noch nicht spruchreif ist und ich mich erst mal in die Thematik einarbeiten möchte sollte es nach Möglichkeit Freeware sein.

Meinst du mit FreeWare = Kostenlos? Falls ja: Ist dein Programm OpenSource? Falls nein fällt MySQL flach wenn das Programm nicht nur Inhouse arbeiten soll.


Apuch - Fr 16.10.09 18:25

Verbietet MySQL den kommerziellen Einsatz? Man darf nur nicht gegen die GPL verstoßen (d.h. gegen eine MySQL linken). Wenn das Ding separat auf dem Rechner läuft und du nur Querys schickst, gibts meiner Meinung nach keine Probleme. Hier aus dem FAQ von MySQL:

Zitat:

Q3: As a commercial OEM, ISV or VAR, when should I purchase a commercial license for MySQL software?

A: OEMs, ISVs and VARs that want the benefits of embedding commercial binaries of MySQL software in their commercial applications but do not want to be subject to the GPL and do not want to release the source code for their proprietary applications should purchase a commercial license from Sun. Purchasing a commercial license means that the GPL does not apply, and a commercial license includes the assurances that distributors typically find in commercial distribution agreements.


Im Allgemeinen wird das Linken als ableiten eines Werkes verstanden. Die reine Nutzung ist nicht verboten. (Komerzielen Code mit dem gcc linken ist z.B. auch nicht verboten). Kann mich auch täuschen, bin kein Anwalt. Auf der anderen Seite kann man sich bei MySQL auch gleich SUpport mit Einkaufen. Für größere Sachen währe das sicher interessant...

PosteSQL steht zum Beispiel unter der BSD-Lizenz, die ist zum einen wesentlich kürzer und zum anderen darf BSD-Code auch mit kommerziellen Code gelinkt werden... wenn du also auf Nummer sicher gehen willst^^

MfG


Bernhard Geyer - Fr 16.10.09 20:13

user profile iconApuch hat folgendes geschrieben Zum zitierten Posting springen:
Verbietet MySQL den kommerziellen Einsatz? Man darf nur nicht gegen die GPL verstoßen (d.h. gegen eine MySQL linken). Wenn das Ding separat auf dem Rechner läuft und du nur Querys schickst, gibts meiner Meinung nach keine Probleme. Hier aus dem FAQ von MySQL:

Du darfst dann aber auch nicht die libmysql.dll verwenden. Nach MySQL-Interpretation ist das genauso wie linken gegen den Servercode. Hatten schon mal einen MySQL-Menchen im Haus weil wir die Embedded-Version bei uns verwenden wollten. Nachdem aber eine Summe von 20-30 k€ pro Jahr im Raum stand haben wir es uns anders überlegt. Da der MySQL-Angestellte seine Provisionen davonschwimmen sah wollte er noch die libmysql.dll "Trumpfkarte" siehen. Gut das wir schon seit Jahren die DevArt-Kompos verwenden und damit nicht auf die libmysql.dll angewiesen waren.


Apuch - Fr 16.10.09 20:17

Also doch kostenlos im kommerziellen Einsatz^^ Ob DLLs zum linken zählen war soweit ich weis lange ein Streitthema. Da ber auch GPL-Varianten mit zusätzlicher Klausel zur `Link-Erlaubnis' existieren (spontan der Name entfallen, nicht LGPL), ist der wohl beigelegt :P

Nutzt ADO die libmysql.dll? Darauf kommts ja nun an..

MfG


Bernhard Geyer - Fr 16.10.09 20:24

user profile iconApuch hat folgendes geschrieben Zum zitierten Posting springen:
Also doch kostenlos im kommerziellen Einsatz^^ Ob DLLs zum linken zählen war soweit ich weis lange ein Streitthema. Da ber auch GPL-Varianten mit zusätzlicher Klausel zur `Link-Erlaubnis' existieren (spontan der Name entfallen, nicht LGPL), ist der wohl beigelegt :P

Nö. Wieso. Auszug aus der Driver-Lizenz (http://www.mysql.com/about/legal/mysql_drivers_license.en.pdf):

Zitat:
2.3 You may not:
- charge your end users for use of the Software;


user profile iconApuch hat folgendes geschrieben Zum zitierten Posting springen:

Nutzt ADO die libmysql.dll? Darauf kommts ja nun an..

Nutz den ODBC-Treiber und ist damit das gleiche wie bei der direkten Verwendung von Libmysql.dll