AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Allgmeine Tips/Infos zu MySQL
Thema durchsuchen
Ansicht
Themen-Optionen

Allgmeine Tips/Infos zu MySQL

Offene Frage von "X-Dragon"
Ein Thema von X-Dragon · begonnen am 15. Aug 2004 · letzter Beitrag vom 15. Aug 2004
Antwort Antwort
Benutzerbild von X-Dragon
X-Dragon

Registriert seit: 14. Jan 2003
Ort: Schortens
289 Beiträge
 
Delphi 6 Enterprise
 
#1

Allgmeine Tips/Infos zu MySQL

  Alt 15. Aug 2004, 12:51
Hallo Leute,

hab vor kurzem erfahren das ich ein ca. 5 Jahres altes Programm mit Paradox-DBs (ca. 30) möglichst schnell auf MySQL umstellen soll (und das ganze am besten noch in eine DLL verpackt, so das das später je nach belieben zwischen MySQL und MS-SQL umgestellt werden kann ...). Deshalb wollte ich mal anfragen ob ihr dazu vielleicht ein paar grundsätzliche Tips bereit hättet.

Ganz untätig war ich natürlich noch nicht und hab schon mal dies gefunden:

MySQL-Referenzhandbuch:
http://dev.mysql.com/doc/mysql/de/index.html
ftp://ftp.plusline.de/pub/mysql/Down...nual-a4.de.pdf

Tutorial für MySQL direct:
http://www.delphi-source.de/tutorials/mysqldirect

... und das soll recht gut zu Planung der DBs sein (habs mir noch nicht genauer angeschaut):
http://www.fabforce.net/dbdesigner4/downloads.php

Also über ein paar Tips aus der Praxis würde ich mich sehr freuen, z.B. ob MySQL direct eine gute Lösung für Delphi ist oder ob es andere/bessere/einfachere/... gibt.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Allgmeine Tips/Infos zu MySQL

  Alt 15. Aug 2004, 12:59
Hai X-Dragon,

ich selber verwende für den Zugriff auf mySQL die Zeos-Komponentent. mySQL-Direct habe ich noch nicht getestet.
Was die Umstellung von mySQL auf MS-SQL oder auch Oracle usw. betrifft geht das halt nur wenn jeder SQL-Server den Du ansprechen möchtest genau die selben SQL-Befehle versteht. Das heist Du musst schauen welche Befehle von mySQL und MS-SQL verwendet werden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#3

Re: Allgmeine Tips/Infos zu MySQL

  Alt 15. Aug 2004, 13:04
Zitat von X-Dragon:
so das das später je nach belieben zwischen MySQL und MS-SQL umgestellt werden kann
Das ist der Knackpunkt. Das Problem ist dann, das Du bereits von Anfang an bei beiden Datenbanken später möglicherweise ein ziemliches Performanceproblem einhandeln kannst, da Du bei falschem Ansatz der Planung die SQL-Statements nicht für die jeweilige Datenbank optimieren kannst.

Als einfachste Lösung, die aber das oben genannte Problem mit sich bringt wäre wohl, direkt über die BDE und den MyODBC Treiber auf MySQL zu gehen bzw. direkt von der BDE auf MS SQL. Dir steht dann sogar z.B. auch Oracle zur Verfügung - die verträgt sich dann aber mit der JOIN - Syntax nicht.

Ein Datenbanklayer in eine DLL zu packen halte ich persönlich für ungeschickt. Wir haben die Unterstützung für alle Datenbanken direkt einkompiliert und sehr gute Erfahrungen damit gemacht.

Tja, MySQL ist - wenn auf die Transaktionsunterstützung verzichtet - unschlagbar schnell. Wenn man allerdings Transaktionen benötigt schwimmt MySQL im Mittelfeld mit. Ich persönlich würde - wenn es Kostengründe sind - für komplexere Datenbanken im Anwendungsbereich eher die MSDE (der kleine Bruder vom SQL Server, den es umsonst gibt) vorziehen. Hier kann man halt mit Serverseitigen Prozeduren und Views deutlich mehr rausholen als es bei MySQL der Fall ist. Und sollten die Datenbanken dann irgendwann doch mal über 2 GB grösse Anwachsen, dann ist man eh in der Grössenordnung wo eine MySQL DB schon mal schlapp macht, und dann ist ein Umstieg auf ein 'grosses' DBMS unausweichlich. Von der MSDE dann auf den 'echten' SQL Server zu portieren ist eine Sache von Backup machen, MSDE deinstallieren, SQL Server installieren, Backup zurücklesen und läuft. Bei einer 2 GB Datenbank ist das ne Geschichte von einem halben Tag, maximal.

Ansonsten noch ein Tip: schau mal in der MS Knowledgebase nach 'Schreiben einer portierbaren Datenzugriffsschicht' von Silvano Coriani, hier. Das ist zwar für .NET, aber die Technik ist im Prinzip ist das gleiche auch für Win32 Anwendungen. Hier wird halt ADO als Verbindung angenommen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von X-Dragon
X-Dragon

Registriert seit: 14. Jan 2003
Ort: Schortens
289 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Allgmeine Tips/Infos zu MySQL

  Alt 15. Aug 2004, 13:33
Also das Programm ist eine Art Terminplaner und von der Größe der DBs her ging es bisher nur um ~50 MB (alle Daten die älter als 1 oder 2 Monaten sind wurden in andere DB ausgelagert) und es haben normal max 50 User darauf Zugriff.

Die BDE sollte eigentlich nicht mehr eingesetzt werden, vor allem das sie ja schon seit einiger Zeit nicht mehr weiterentwickelt wird.

Danke schon mal für die Tips und Links, muss leider eben was Essen, bin gleich wieder da ... .

[edit]
Also DLL hin oder her (ok das auslagern lohnt sich wohl nicht wirklich und bedeutet auch noch mehr Arbeit), ich sollte also möglichst die Schnittstellen getrennt von einander halten. Jetzt ist nur die Frage ob die Optimierungen wirklich notwendig sind, da bei meinem Programm eigentlich kaum wirklich große Datenmangen auftreten.

[edit2]
Hab schon mal ein Blick auf die ZEOS-Komponenten geworfen (bzw. deren Webseite) und das sieht ja recht gut aus, vor allem da diese MySQL sowie auch MS-SQL unterstützen . Hab hier leider nur die 7er Personal zu Hause und kann sie so leider noch nicht testen.

[edit3]
Hab hier noch was interessantes gefunden, das dürfte mir bei der Umsetzung auf jeden Fall weiterhelfen:
http://www.delphipraxis.net/internal...ect.php?t=7266
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 Uhr.
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