Autor Beitrag
colaka
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 4

Win XP, W7
Delphi 2005 Prof.
BeitragVerfasst: Sa 29.05.10 08:43 
Hallo,

für ein neues Projekt suche ich eine geeignete Datenbank.

Bei dem Projekt geht es um eine Außendienstmitarbeiter-Verwaltung, bei der jeder Außendienstler von zuhause aus über das Internet Daten eingeben soll.

Da ich bisher ausschließlich Erfahrung mit der BDE und Paradox habe und mich auch nicht gerade als Profi bezeichnen würde, wäre mir was möglichst einfaches am liebsten. Außerdem möchte ich mir dafür nicht unbedingt ein neues Delphi anschaffen müssen, d.h. ich möchte das Projekt mit Delphi 2005 schreiben.

Was würden mir hier die Experten raten?
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 765
Erhaltene Danke: 130



BeitragVerfasst: Sa 29.05.10 14:33 
Ein paar mehr Infos wären hilfreich:

-Läuft die Datenbank auf Deinem Server oder bei einem Provider?
-Willst Du das Programm verkaufen (da wäre für MySQL eine Lizenzgebühr fällig)?
-Wie viele Mitarbeiter, wie viele Daten?
-Soll die Übertragng verschlüsselt werden?

ub60
colaka Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 4

Win XP, W7
Delphi 2005 Prof.
BeitragVerfasst: Sa 29.05.10 17:27 
-Läuft die Datenbank auf Deinem Server oder bei einem Provider?
Das kann ich machen, wie es am zweckmäßigsten ist

-Willst Du das Programm verkaufen (da wäre für MySQL eine Lizenzgebühr fällig)?
Nein, das Programm wird nicht verkauft. Es wird nur für interne Zwecke gebraucht.

-Wie viele Mitarbeiter, wie viele Daten?
Es werden ungefähr 10 Mitarbeiter sein, die über das Programm die Kunden (ca. 1000) verwalten.

-Soll die Übertragng verschlüsselt werden?
Eine Verschlüsselung muß nicht sein, da keine besonderen Geheimnisse eingetragen werden.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 29.05.10 18:15 
it einem einfachen SSL-Zertifikat die Verschlüslung der Datenverbindung aktivieren. Da MySQL zudem auch die Authentifizierung über Client-Zertifikate beherrscht, hast Du da recht einfach auch eine Anbindung, dass du den Außendienstlern keine Passwörter aufnötigen musst ;-)

Auch die Reaktionszeiten über Internet (20er-Ping auf meinen Server + etwas Latenz vom SSH-Tunnel) sorgen für halbwegs flüssiges Arbeiten (wenn ich was an der DB des Servers administrieren muss (arbeite i.d.R. über nen getunnelten Port-Forwarding über SSH).

Wie sieht es bei Dir mit der Notwendigkeit für Transaktionen bzw. die Anforderungen an die Konsistenzsicherung der Datn aus?

Hast Du spezielle Anforderungen, für Datentypen (z.B. Support von DOMAINS)?

Anforderungen an das Audit der Datenbank-Aktionen?

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
colaka Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 4

Win XP, W7
Delphi 2005 Prof.
BeitragVerfasst: Sa 29.05.10 20:08 
Ich verstehe nicht, warum da jetzt so hochgestochene Fragen kommen, die ich nicht kapiere. Wohl weil ich geschrieben habe, daß ich nicht gerade ein Profi bin.

Also ich möchte ein paar Außendienstler und die Kunden über das Internet verwalten. Die über ganz Deutschland verteilten Außendienstler sollen selbständig Kunden aquirieren und die gemachten Abschlüsse mit den neuen, aber natürlich auch mit Bestands-Kunden in die Datenbank eintragen. Dadurch weiß ich jederzeit, was im Außendienst los ist, und auch jeder Außendienstler weiß immer, wie hoch seine am Montasende zu erwartende Provision ist. Thats all.

Ich denke, daß das keine besonderen Anforderungen an die Datenbank sind.

Ich bräuchte halt konkrete Vorschläge, mit was ich das realisieren könnte, und am besten auch Links, wo und wie ich die Datenbank in Delphi 2005 integrieren kann.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 29.05.10 20:21 
Die Fragen hatte ich im Wesentlichen gestellt, um zu schauen, inwiefern sich u.U. auch PostgreSQL angeoten hätte. Da du aber zwecks Anzahl der Anfragen eh keine hohen Anforderungen an die Performance hast, sollte ein MySQL-Server mit einer InnoDB als Storage-Engine durchaus reichen.

Für die Anbindung von MySQL an Delphi 2005 einfach mal hier im Forum suchen.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: So 30.05.10 10:59 
Hi,

unter diesem Link ist ein etwas längerer Beitrag, wo diskutiert wurde, welche Datenbank zu welchen Gegebenheiten die richtige ist.
DbMaster
Hält's aus hier
Beiträge: 11

Windows 7
Delphi 2010, C#, C++ (VS 2010)
BeitragVerfasst: Mi 09.06.10 11:04 
Wenn Du einen zeitgemäßen Ersatz für die BDE und Paradox suchst, versuch es doch mit TurboDB. Die ist eingebettet, schnell, kompatibel und hat über Paradox hinausgehende Funktionen wie Unicode-Strings und Volltextsuche.
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 09.06.10 12:20 
Ist aber eine Desktop-DB, deren Zeit imho vorbei ist.

_________________
Markus Kinzler.
DbMaster
Hält's aus hier
Beiträge: 11

Windows 7
Delphi 2010, C#, C++ (VS 2010)
BeitragVerfasst: Do 17.06.10 13:49 
user profile iconmkinzler hat folgendes geschrieben Zum zitierten Posting springen:
Ist aber eine Desktop-DB, deren Zeit imho vorbei ist.


Wenn die Zeiten vorbei wären, warum hätte MS dann einen SQL Compact Server rausgebracht? Was würdest Du auf allen Arten von mobilen Geräten installieren? Welche Datenbank würdest Du verwenden wenn Du eine Steuersoftware für Privatanwender entwickeln müsstest? Oder einen CD-basierten Ersatzteilkatalog für alle BMW-Händler weltweit? Und eben auch für kleine Arbeitsgruppen macht eine eingebettete Datenbank noch Sinn, wenn es z.B. keinen Spezialisten gibt, der sich um den Server kümmern kann.

Ich denke, was vorbei ist, sind die Zeiten, wo es einen Datenbank-Mainstream gibt und alles andere marginal ist. Server haben genauso ihre Berechtigung wie eingebettete Datenbanken. SQL genauso wie OR/M oder NoSQL.

--DBMaster
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Fr 18.06.10 07:55 
Desktop DB <> embedded DB

_________________
Markus Kinzler.
DbMaster
Hält's aus hier
Beiträge: 11

Windows 7
Delphi 2010, C#, C++ (VS 2010)
BeitragVerfasst: Mo 21.06.10 11:26 
Eine Desktop DB ist eine Datenbank, die direkt auf die Daten zugreift und keinen Server benutzt.

Eine einbettete DB ist laut Wikipedia:
"Ein eingebettetes Datenbanksystem ist ein in einer Anwendung eingebettetes Datenbanksystem, das nach außen nicht sichtbar in Erscheinung tritt."
Daraus folgt, dass sie keinen Server benötigen darf, der wäre ja nach außen sichtbar.

Die zweite Definition trifft sowohl auf MS Compact Server als auch auf TurboDB zu. Es sind einfach zusätzliche Dlls, welche den gesamten Datenzugriff organisieren, der Anwender kriegt nicht mit, dass da ein RDBMS läuft.

Aus meiner Sicht ist der Begriff Desktop-Datenbak veraltet, insofern ist seine Zeit tatsächlich vorbei ;-). Das Konzept wird es aber noch lange geben und erlebt IMO sogar wieder einen Aufschwung.

--DbMaster
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mo 21.06.10 11:32 
Bei embedded DB-Systemen werkelt aber ein moderner DB Kernel. Diese sind auch einfach auf die entsprechenden Serverversionen skalierbar. Deshalb würde ich denen immer den Vorzug geben. Bei mehreren parallelen Zugriffen würde ich aber immer einen Server installieren.

_________________
Markus Kinzler.
DbMaster
Hält's aus hier
Beiträge: 11

Windows 7
Delphi 2010, C#, C++ (VS 2010)
BeitragVerfasst: Mo 21.06.10 12:38 
user profile iconmkinzler hat folgendes geschrieben Zum zitierten Posting springen:
Bei embedded DB-Systemen werkelt aber ein moderner DB Kernel. Diese sind auch einfach auf die entsprechenden Serverversionen skalierbar. Deshalb würde ich denen immer den Vorzug geben. Bei mehreren parallelen Zugriffen würde ich aber immer einen Server installieren.


Ab wann man auf den Server umsteigt, hängt natürlich von der Anwendung und vom Datenbankmodell ab, ist schon klar. Allerdings hat TurboDB auch einen modernen Datenbank-Kern und kann ebenfalls über eine einzige Property auf TurboDB Server umgeschaltet werden. Deswegen wollte ich ja nur so mal in den Raum werfen, dass man solche Alternativen nicht gedankenlos links liegen lassen sollte, insbesondere weil Toolauswahl, Entwicklung, Installation und Betrieb erst mal problemloser vor sich gehen.

--DbMaster
Quake User
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 159



BeitragVerfasst: Di 22.06.10 01:10 
user profile iconcolaka hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,

für ein neues Projekt suche ich eine geeignete Datenbank.

Bei dem Projekt geht es um eine Außendienstmitarbeiter-Verwaltung, bei der jeder Außendienstler von zuhause aus über das Internet Daten eingeben soll.

Da ich bisher ausschließlich Erfahrung mit der BDE und Paradox habe und mich auch nicht gerade als Profi bezeichnen würde, wäre mir was möglichst einfaches am liebsten. Außerdem möchte ich mir dafür nicht unbedingt ein neues Delphi anschaffen müssen, d.h. ich möchte das Projekt mit Delphi 2005 schreiben.

Was würden mir hier die Experten raten?


Du kannst, wenn Du keine besonderen Anforderungen an die DB hast, jede DB verwenden, die Du via IP ansprechen kannst. Das war Dein einziges Kriterium.
Das geht sicher gut mit MySQL und auch MS-SQL. Beide sollte firmenintern eine gute Wahl sein. (MS-MQL: Falls Ihr Microsoft Windows verwendet und falls nicht, MySQL)

Die Absicherung der DB nach Außen wäre noch ein Diskussionpunkt. Ich würde Dir zu einer DMZ raten. Das hat aber nichts mit Deinem Programm oder der DB zu tun.

Die BDE oder Paradox sind sicher für die Zukunft keine gute Wahl. Sieh Dir dazu bspw. ADO an.