Entwickler-Ecke

Datenbanken - Welche Datenbank für ein größeres Projekt?


Bjoern - Do 03.10.02 08:32
Titel: Welche Datenbank für ein größeres Projekt?
Hallo und guten Tag.

Ich bin auf der Suche nach einer geeigneten Datenbank im Einsatz mit einem Delphi Prog, welche folgende Möglichkeiten aufweist:

KFZ Verwaltung:

Datensätze ca. 100 000 aktiv
( größter Teil Fahrzeugdatensätze mit ein paar Bildern, die gelinkt werden sollen´(regelm. Update)

Kundenhistorie enthält Einträge wie Faxdateien, Emails, und Text Einträge für Notizen etcetera.

Dies wird wahrscheinlich auch noch mal schnell 50 bis 100 tsd Datensätze ergeben.)

Jetzt ist natürlich schwer zu formulieren wie viele Datensätze es werden. Begrenzen möchte ich dies zumindest, indem nach x Monaten die Kundenhistorie Dateien aus der aktuellen Tabelle ausgelagert werden. Dies sollte die Abfragezeiten deutlich minimieren. Der Abruf der alten Daten erfolgt dann per extra Abfrage, wobei hier die Geschwindigkeit nicht derart wichtig ist.

Durch die Faxdateien und Fotos, wird die Datenbank wahrscheinlich ziemlich anschwellen, so dass ich nicht blob sondern einen index verwenden möchte.


Nett wäre auch wenn ihr mir beschreibt, wie hoch die Investitionskosten sein werden, sowie die Kosten die für jeden weiteren Nutzer entstehen, angeben könntet.



Hinweis:
Ich selbst programmiere nicht, gestalte nur das Pflichtenheft.
Bitte mich nicht als Freeloader :cry: sehen, ich helfe auch immer wo ich kann.

Vielen Dank schon mal im voraus.

Björn :D


LCS - Do 03.10.02 09:52

Hi
ich denke, dass für dein Datenaufkommen eigentlich nur eine SQL-Datenbank in Frage kommt. Und für die Anforderungen an die Zuverlässigkeit gilt das erst recht.
Ich hab mehrere Projekt in der Grössenordnung durchgezogen und bin mit InterBase bis jetzt recht gut gefahren. Zum Einsatz kamen damals noch IB 5.5 sowohl auf NT als auch auf Novell.
Bei zwei Sachen hab ich IB 6 Opensource eingesetzt, und auch da gabs bis jetzt keine Probleme.
IB hat den Vorteil, dass es keinen grossen Administrationsaufwand benötigt und auch in der kommerziellen Version relativ Kostengünstig ist. Vor drei Jahren kostete die Serverlizenz ca. 600,- DM und die Clientlizenz ungefähr 180,-.
Gut bewährt hat sich auch MS SQL 7. Allerdings auch gleich ne ganze Ecke teuerer.
Beide Varianten arbeiten gut mit Delphi zusammen so dass von dieser Seite aus keine unangenehmen Überraschungen zu befürchten sind.
Oracle 9i bin ich jetzt gerade am Testen, da kann ich bis jetzt noch nix dazu sagen. Aber allein die Installation ist ein Kapitel für sich. :(

Gruss Lothar


Bjoern - Do 03.10.02 10:13

Vielen Dank für deine schnelle Antwort.

Bzgl. den Kosten:

Für jeden Client (jeder Arbeitsplatz) fällt eine Gebühr von ca. 90 Euro an und für jeden Server 600 ? Der Server wäre kein Problem, jedoch bei kleineren Autohäusern leigt das Budget für ein solches Paket bei ca. 1750 Euro.

Da würde es dann eng vom Wirtschaftlichkeitsrahmen.

Beispielsweise die Software Webfakt (ISP Abrechnungstool) setzt auch auf IB, jedoch ist diese Out of the BOX Software wesentlich günstiger, so dass die Serverkosten etc. nicht angefallen sein können.

Für größere Autohäuser dachte ich mir schon , dass man auf Oracle oder MS SQL setzt.

Nun lese ich regelmäßig Der Entwickler und sehe dort teilweise andere Datenbanksoftware. Wie sieht es damit aus? Postgre SQL etc.?

Nochmals vielen Dank, bin eigentlich Wirtschaftler mit Schwerpunkt Recht und einem großen Fabel für Software Entwicklung.

Vielen Dank.

Björn


bis11 - Do 03.10.02 12:19

Hi Bjoern,

ich arbeite schon eine ganze Weile mit MySQL auf Linux. Ich habe den Linux-Server die Hardware bezehalt und dann noch ca. 70 Euro (preis weiß ich nichtmehr so genau) bezahlt. Es ist effektiv schnell und Du brauchst auch keine teure Hardware kaufen. Für MySQl gibt es kostenlose Komponenten im Internet (z.B. http://www.zeoslib.org), womit hervorragend und einfach ein Programm unter Delphi erstellt werden kann. Desweiteren, gibt es das MySQL natürlich auch für das Betriebssystem Windows.


Alfons-G - Do 03.10.02 12:24

Ich verwende beruflich nur Oracle, da gibt es - saubere Programmierung vorausgesetzt - auch bei Millionen von Datensätzen keine Probleme. Zur Installation kann man schon sagen, dass diese von Version zu Version aufweniger wird :roll: - zumidest wenn man nicht mit einer Standart-Installation auskommt. Wir arbeiten noch mit Oracle 8i (8.1.7.x), da die Basisapplikation, auf deren API wir zugreifen, noch mit der BDE arbeitet. Die BDE unterstützt Oracle 9i nicht mehr.

Zur Lizenzierung: Oracle führte vor einiger Zeit ein neues Lizenzmodell ein - entweder bezahlt man nach der Anzahl CPUs auf dem Server, oder nach "Named Users", das sind die in der DB angelegten Benutzer. Das Basispaket beinhaltet fünf User. Die aktuellen Preis habe ich leider nicht zur Hand. Unsere Konzernkonditionen sind sehr günstig, der Normalpreis liegt auf jeden Fall höher.

Eine weitere Alternative zu Interbase wäre MS-SQL-Server. Dieser ist inzwischen zu einem für MS-Verhältnisse sehr zuverlässigen Produkt geworden ;)

Bei MS SQL gäbe es vor Allem für kleine Kunden eine interessante Sache:
Jeder segistrierte MS-Softwareentwickler (der z.B. Visual Studio lizenziert hat) darf die abgespeckte Version von MS SQL, die MSDE, kostenlos an seine Kunden weitergeben. Diese ist auf fünf gleichzeitig zugreifende Benutzer begrenzt.

Der Kunde kann jederzeit auf den "ausgewachsenen" SQL-Server umsteigen, ohne dass die Software angepasst werden muß. Für bis zu 20 Arbeitsplätze bietet sich als Nächstes die "Small Business Edition" an.

Eine weitere Alternative wäre u.U. der Advantage Database Server (ADS), den teste ich in nächster Zeit mal durch. Bei IBM DB2 gibt es inzwischen auch günstige Angebote für kleinere Unternehmen, dazu kann ich aus eigener Erfahrung jedoch nichts sagen.

Entwicklerunterstützung:
Bei Oracle kostenlos - es gibt für registrierte Entwickler (fast) alles zum Download. Bei Microsoft sollte man MSDN-Abonnent werden. FÜr ADS gibt es offenbar eien recht ordentliche Unterstützung, incl. Delphi-API. Bei Interbase (Firebird) ist die Community sehr aktiv, da ist die Unterstützung auch relativ gut.

Für alle Datenbankserver gilt: Die Serverinstallation sollte man nur dem Kunden überlassen, wenn dort erfahrene EDV-Leute zur Verfügung stehen. Ansonsten können die merkwürdigsten Fehler durch vergessene Rechte u.dgl. entstehen.

:)


Bjoern - Do 03.10.02 12:55

Vielen Dank für die freundliche Unterstützung. Bin ich leider nicht mehr gewohnt aus anderen Foren.

Nun MySQL halte ich für ein bischen zu unsicher, da die Datenstruktur sehr komplex wird.

Außer die Performance nützt mir kein Programm etwas , welches vom Preis völlig überdimensioniert ist.

Da ist Oracle leider fast schon außen vor , denn bei 25 Nutzern (mittleres Autohaus) kann ich keine 10000 Euro veranschlagen für eine Datenbank.


Angaben über Lizenzkosten für

a) Server

b) Clients

wären sehr hilfreich.

Was meint ihr?

Vielen Dank

Björn :roll:


CenBells - Do 03.10.02 13:43

Moin

Ich kenn die genauen Lizenzkosten für den Interbase server nicht. Verwende aber gerade IB 6.01 Opensource und das läuft bisher einwandfrei

Gruß
Ken


Klabautermann - Do 03.10.02 17:21

Hallo,

aus kostengründen ist wahrscheinlich FireBird unschlagbar (Open Source). Das Problem liegt meines wissens darin, das es keine eigenen Firebird Komponenten gibt. Man muss also InterBase Compos verwenden und die werden auf lange sicht nicht kompatibel bleiben.

Ich selber arbeite viel mit Advantage. Hunderttausen Datensätze sind dabei absolut kein Problem. Das die Imagaes verlinkt werden sollen halte ich für sehr wichtig egal welche Datenbank verwendet wird.
Bei Advantage muss zwischen zwei Server Modellen unterschieden werden.
1. Local Server: Dieser ist kosstenlos bis zu 5 Benutzern. Er bietet weniger Geschwindigkeit und Sicherheit als der Remote Server. Das soll aber nicht heißen, das er unsicher währe. Wir verwenden ihn jetzt seit fast 2 Jahen wobei das entsprechende Programm Monatlich (je nach Kunden) zwischen 30.000 und 300.000 Datensätze Produziert. In der Zeit haten wir 2 mal Probleme mit Tabellen. Beidemale konnte ein einfachs Reindex diese beheben.
2. Remote Server: Dies ist ein echter Datenbank Server, welcher kostenpflichtig ist. Er ist schneller und sicherer als die Local Variante.
Die Preise Staffeln sich folgendermaßen:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
Anzahl der User/Preis            
    2/355€
    5/876€
   10/1.646€
   25/3.550€
   50/4.974€
  100/6.396€
  250/7.817€ 
 1000/10.662€


Gruß
Klabautermann


Bjoern - Do 03.10.02 17:29

Leider verstehe ich dann die Preispolitik nicht, die andere Softwarehersteller fahren.

Denn wie soll eine Interbase basierte Anwendung dann für teilweise unter 500 Euro verkauft werden können.

Nun das Programm sollte relativ flexibel gehalten sein, d.h. SQL. Ich denke so hat auch der Endkunde noch eine Möglichkeit zu wählen , ob er hochperformant Oracle nutzen will, oder etwas günstigeres.

Wahrscheinlich nutzen dann diese Entwickler keine kommerziellen DBs, oder?


Vielen Dank

Björn


LCS - Fr 04.10.02 06:09

Hi
Zitat:

Denn wie soll eine Interbase basierte Anwendung dann für teilweise unter 500 Euro verkauft werden können.

Es kann ja sein dass sie bei dem Preis ebenfalls die Opensource Version von Interbase einsetzen. Preisgrünstiger gehts nicht. Und mit der Zuverlässigkeit gibts keine Probleme.

Gruss Lothar


hansa - Fr 04.10.02 09:28

Hi,

Zitat:

1. Local Server: Dieser ist kostenlos bis zu 5 Benutzern. Er bietet weniger Geschwindigkeit und Sicherheit als der Remote Server.


Was die Sicherheit betrifft : Advantage (die kostenlose Version) ist entscheidend weiter eingeschränkt ! Transaktionssteuereung ist damit NICHT möglich ! Somit geht ein wichtiger Aspekt von SQL verloren! :mrgreen:

Gruß
Hansa

P.S.: Diese Aussage stammt von Advantage, nicht von mir.