Datenbanken - PostgreSQL oder MySQL
Hallo zusammen, das Thema "Datenbanken unter Linux" wird ja, so wie ich das aus den gelesenen Berichten, haupsächlich an zwei Programmen festgemacht: PostgreSQL und MySQL Worin unterscheiden die sich eigentlich? Ich möchte mir zum Beispiel eine Datenbank aufbauen, auf die ich auch von aussen (ausserhalb des eigenen Netzes) zugreifen kann. Stichwort LAMP !! Ferner soll die DB einfach zu handhaben sein. Bei mir läuft SuSE 8.0 mit OOo 1.0.1, Apache 1.3.2.3 und PHP4.1.0 Die Frage ist nun, auf welche DB soll ich mich konzentrieren ? Zu welcher gibt es Infos (am liebsten in Deutsch und gut verständlich) zu Installation, Konfiguration und Anbindung an ein Frontend? Welche hat hier Vorteile? Viel Grüße Heiner -- ***************************************** Heiner Gewiehs D- 63868 Großwallstadt FON: 06022 654167 E-Mail: heiner.gewiehs@gewiehs.de *****************************************
* am 08. Feb. 2003 postete Heiner Gewiehs:
das Thema "Datenbanken unter Linux" wird ja, so wie ich das aus den gelesenen Berichten, haupsächlich an zwei Programmen festgemacht: PostgreSQL und MySQL
Jepp, ich setze hier MySQL ein. Die meisten Webhoster setzen diese ebenfalls ein. Zumindest habe ich bisher noch keinen Provider gesehen, der Postgre einsetzt bzw. anbietet.
Worin unterscheiden die sich eigentlich?
Möchte ich auch gern mal wissen.
Ich möchte mir zum Beispiel eine Datenbank aufbauen, auf die ich auch von aussen (ausserhalb des eigenen Netzes) zugreifen kann. Stichwort LAMP !!
LAMP = Linux Apache Mysql PHP
Ferner soll die DB einfach zu handhaben sein. Bei mir läuft SuSE 8.0 mit OOo 1.0.1, Apache 1.3.2.3 und PHP4.1.0
MySQL ist einfach zu Handhaben, IMO.
Die Frage ist nun, auf welche DB soll ich mich konzentrieren ? Zu welcher gibt es Infos (am liebsten in Deutsch und gut verständlich) zu Installation, Konfiguration und Anbindung an ein Frontend?
Zu MySQL sind viele Frontends zu haben. Ich nutze entweder das Konsolenprogramm mysql oder grafisch nutze ich GMySQL[1]. Um einen MySQL-Server übers Web zu administrieren, nutze ich PHPMyAdmin[2] Bye Michael [1] http://gmyclient.sourceforge.net/ [2] http://phpmyadmin.sourceforge.net/ -- "Intel inside - Wir haben das Problem eingekreist." _______________________________________________________________________ Registered Linux User #228306 AIM Tuxi70 ICQ #151172379
Am 08.02.2003 um 15:34 schrieb Heiner Gewiehs:
das Thema "Datenbanken unter Linux" wird ja, so wie ich das aus den gelesenen Berichten, haupsächlich an zwei Programmen festgemacht: PostgreSQL und MySQL
Die beiden werden wahrscheinlich am häufigsten verwendet. Es gibt aber noch viel mehr RDBM-Systeme in allen Größen und zu allen Preisen: adabas, db2, firebird, informix, interbase, oracle, sapdb, sybase usw.
Worin unterscheiden die sich eigentlich?
PostgreSQL kann wesentlich mehr als MySQL: Transaktionen, Foreign Key Support, Trigger, Server-side Procedures, Views, Sequences und mehr. MySQL ist IMHO besser dokumentiert und (angeblich) schneller. Wenn dir das alles nichts sagt, ist MySQL zum Anfangen und Lernen erstmal ganz gut geeignet. Wenn du dann anfängst, kompliziertere Datenstrukturen aufzubauen, wirst du die zusätzlichen Features von PostgreSQL schätzen lernen. Übrigens: Deine Lieblingssuchmaschine wird dir tausende Seiten nennen können, auf denen MySQL und PostgreSQL in irgendeiner Form verglichen werden.
Ich möchte mir zum Beispiel eine Datenbank aufbauen, auf die ich auch von aussen (ausserhalb des eigenen Netzes) zugreifen kann.
Sollte jedes RDMBS können.
Ferner soll die DB einfach zu handhaben sein.
MySQL ist definitiv einfacher zu handhaben. Wenn du nur relativ einfache Datenstrukturen hast, und ein gutes, zuverlässiges System dafür suchst, bist du mit MySQL gut beraten.
Bei mir läuft SuSE 8.0 mit OOo 1.0.1, Apache 1.3.2.3 und PHP4.1.0
Die Frage ist nun, auf welche DB soll ich mich konzentrieren ?
Am Anfang: MySQL. Wenn du dich etwas in das Thema eingearbeitet hast, wirst du wissen, ob du die zusätzlichen Features von PostgreSQL benötigst. MfG, Dennis
Hallo, der Thread ist ja schon sehr aufschlußreich, aber etwas über meinem Niveau bzgl. DB. Deshalb unten meine "Elementar-Fragen". Ich wäre sehr froh, hierüber mehr zu erfahren. Dennis Stosberg wrote: [...]
Worin unterscheiden die sich eigentlich?
PostgreSQL kann wesentlich mehr als MySQL: Transaktionen, Foreign Key Support, Trigger, Server-side Procedures, Views, Sequences und mehr.
MySQL ist IMHO besser dokumentiert und (angeblich) schneller.
Wenn dir das alles nichts sagt, ist MySQL zum Anfangen und Lernen erstmal ganz gut geeignet. Wenn du dann anfängst, kompliziertere Datenstrukturen aufzubauen, wirst du die zusätzlichen Features von PostgreSQL schätzen lernen.
Stichwort "Kompliziertere Datenstrukturen" - dazu meine Frage: Ich habe letzhin als total Datenbank-Ahnungsloser in diversen Büchern geblättert. Beim Überfliegen der Seiten habe ich festgestellt, daß in relationalen DB-Systemen i.d.R. einfache Datentypen gespeichert werden. Ich muß aber komplex strukturierte Daten, die für XML-Dateien gut passen würden, z.B. mathematische Objekte, wie 2D-Diagramme u.ä, abspeichern können. Die Strukturen der DB-Objekte sollen auch flexibel änder-/erweiterbar sein - so wie in XML-Dateien eben. Und eine Mischung mit einfachen Datentypen sollte auch möglich sein, denn die Diagramme haben auch Eigenschaften, die durch einfache Datentypen ausdrückbar sind. XML-Dateien hätten diese Eigenschaften zwar, aber die Suche in tausenden solcher Dateien wäre wenig effizient. Geht das mit relationalen Datenbanken überhaupt, oder wäre ich hierzu mit einer objektorientierten DB besser bedient? Welche objektorientierten DBs gibt es ggf.? Beim Studium diverser Literatur ist mir auch aufgefallen, daß fast alles dicke Schinken sind, und alle Werke gehen oft extrem auf Details ein. Mir würde für den Anfang ein schlankes Buch genügen, das mir den Umgang mit Datenbanken anhand von Beispielen und mittels Frontend erklärt. Was gibt es denn hierfür zu empfehlen? Nochwas würde mich interessieren: Gibt es für Programmiersprachen, wie C, C++ oder Python, Programmierschnittstellen für SQL, die *nicht* erwarten, daß man SQL-Kommando-Strings zur Datenbank schickt, sondern die die SQL-Schnittstelle echt verbergen, und die Programmierung auf einem höheren Abstraktionsgrad ermöglichen? Vielen Dank für die Auskünfte! Thomas Michalka
* Thomas Michalka schrieb am 13.Feb.2003:
Stichwort "Kompliziertere Datenstrukturen" - dazu meine Frage:
Ich habe letzhin als total Datenbank-Ahnungsloser in diversen Büchern geblättert. Beim Überfliegen der Seiten habe ich festgestellt, daß in relationalen DB-Systemen i.d.R. einfache Datentypen gespeichert werden. Ich muß aber komplex strukturierte Daten, die für XML-Dateien gut passen würden, z.B. mathematische Objekte, wie 2D-Diagramme u.ä, abspeichern können. Die Strukturen der DB-Objekte sollen auch flexibel änder-/erweiterbar sein - so wie in XML-Dateien eben.
Letzendlich sind das doch alles einen Haufen Bytes. Also wirst Du es als Char abspeichern können. Die Datenbank braucht es doch nicht zu interpretieren, sondern nur abzulegen. Typische Datenbankfunktionen wie sortieren oder suchen ist doch sowieso nicht möglich. Wenn Du eine Zahl hast, dann mußt Du es der Datenbank sagen, daß es eine Zahl ist, und kein normaler String, da Zahlen anders sortiert werden. Aber bei so komplizierte Struckturen wie Diagramme ist es eh egal. Wie willst Du Diagramme sortieren, oder nach irgendwas suchen? Suchen kannst Du nach Namen, oder sonstige Angaben in anderen Feldern.
Und eine Mischung mit einfachen Datentypen sollte auch möglich sein, denn die Diagramme haben auch Eigenschaften, die durch einfache Datentypen ausdrückbar sind. XML-Dateien hätten diese Eigenschaften zwar, aber die Suche in tausenden solcher Dateien wäre wenig effizient. Geht das mit relationalen Datenbanken überhaupt, oder wäre ich hierzu mit einer objektorientierten DB besser bedient? Welche objektorientierten DBs gibt es ggf.?
Beim Studium diverser Literatur ist mir auch aufgefallen, daß fast alles dicke Schinken sind, und alle Werke gehen oft extrem auf Details ein. Mir würde für den Anfang ein schlankes Buch genügen, das mir den Umgang mit Datenbanken anhand von Beispielen und mittels Frontend erklärt. Was gibt es denn hierfür zu empfehlen?
Ich glaube, Du suchst gar keine Datenbank. Bei einer Datenbank geht es nicht um Frontend, sondern um Ausfallsicherheit, Konsistenz, evtl. Geschwindigkeit usw.
Nochwas würde mich interessieren: Gibt es für Programmiersprachen, wie C, C++ oder Python, Programmierschnittstellen für SQL, die *nicht* erwarten, daß man SQL-Kommando-Strings zur Datenbank schickt, sondern die die SQL-Schnittstelle echt verbergen, und die Programmierung auf einem höheren Abstraktionsgrad ermöglichen?
Schau Dich mal bei perl um. Bernd -- Alle meine Signaturen sind rein zufällig und haben nichts mit dem Text oder dem Schreiber zu tun, dem ich antworte. Falls irgendwelche Unrichtigkeiten dabei sein sollten, so bedauere ich das. Es wäre nett, wenn Du mich benachrichtigen würdest. |Zufallssignatur 0
Hi all,
* Thomas Michalka schrieb am 13.Feb.2003:
Stichwort "Kompliziertere Datenstrukturen" - dazu meine Frage:
Ich habe letzhin als total Datenbank-Ahnungsloser in diversen Büchern geblättert. Beim Überfliegen der Seiten habe ich festgestellt, daß in relationalen DB-Systemen i.d.R. einfache Datentypen gespeichert werden. Ich muß aber komplex strukturierte Daten, die für XML-Dateien gut passen würden, z.B. mathematische Objekte, wie 2D-Diagramme u.ä, abspeichern können. Die Strukturen der DB-Objekte sollen auch flexibel änder-/erweiterbar sein - so wie in XML-Dateien eben.
Du suchtst eine Objekt Orientierte Datenbank, die die Objekte abspeichert! Die willst kein SQL lernen, sondern lieber "getObjektX" oder ähnliches sagen? IMHO habe ich in zusammenhang auf xml.apache.org eine Datenbank gesehen, die über/mit/für XML funktioniert/gedacht ist ... Schaue Dir "xindice" an, läuft über XMLPath... Solltest Du Dich dafür entscheiden, bitte maile mal einen Erfahrungsbericht :)) Ciao Andre
Bernd Brodesser wrote:
* Thomas Michalka schrieb am 13.Feb.2003:
Stichwort "Kompliziertere Datenstrukturen" - dazu meine Frage:
Ich habe letzhin als total Datenbank-Ahnungsloser in diversen Büchern geblättert. Beim Überfliegen der Seiten habe ich festgestellt, daß in relationalen DB-Systemen i.d.R. einfache Datentypen gespeichert werden. Ich muß aber komplex strukturierte Daten, die für XML-Dateien gut passen würden, z.B. mathematische Objekte, wie 2D-Diagramme u.ä, abspeichern können. Die Strukturen der DB-Objekte sollen auch flexibel änder-/erweiterbar sein - so wie in XML-Dateien eben.
Letzendlich sind das doch alles einen Haufen Bytes. Also wirst Du es als Char abspeichern können. Die Datenbank braucht es doch nicht zu interpretieren, sondern nur abzulegen. Typische Datenbankfunktionen wie sortieren oder suchen ist doch sowieso nicht möglich.
In den Diagrammen selber nicht. Aber unten habe ich erwähnt, daß auch eine Mischung von einfachen Datentypen und strukturierten Daten möglich sein soll.
Wenn Du eine Zahl hast, dann mußt Du es der Datenbank sagen, daß es eine Zahl ist, und kein normaler String, da Zahlen anders sortiert werden. Aber bei so komplizierte Struckturen wie Diagramme ist es eh egal. Wie willst Du Diagramme sortieren, oder nach irgendwas suchen? Suchen kannst Du nach Namen, oder sonstige Angaben in anderen Feldern.
Sollten in solchen Diagrammen Charakteristika vorhanden sein, nach denen eine Abfrage o.ä. wünschenswert ist, dann ist es sicher sinnvoll, die Diagramme als einzelne Zahlen in diversen Tabellen zu speichern und für die Ausgabe ggf. dynamisch XML-Dateien zu erzeugen.
Und eine Mischung mit einfachen Datentypen sollte auch möglich sein, denn die Diagramme haben auch Eigenschaften, die durch einfache Datentypen ausdrückbar sind. XML-Dateien hätten diese Eigenschaften zwar, aber die Suche in tausenden solcher Dateien wäre wenig effizient. Geht das mit relationalen Datenbanken überhaupt, oder wäre ich hierzu mit einer objektorientierten DB besser bedient? Welche objektorientierten DBs gibt es ggf.?
Beim Studium diverser Literatur ist mir auch aufgefallen, daß fast alles dicke Schinken sind, und alle Werke gehen oft extrem auf Details ein. Mir würde für den Anfang ein schlankes Buch genügen, das mir den Umgang mit Datenbanken anhand von Beispielen und mittels Frontend erklärt. Was gibt es denn hierfür zu empfehlen?
Ich glaube, Du suchst gar keine Datenbank. Bei einer Datenbank geht es nicht um Frontend, sondern um Ausfallsicherheit, Konsistenz, evtl. Geschwindigkeit usw.
Na eben doch, z.B. objektorientierte DBs, s.o. Aber ich sehe schon, hier spricht ein Profi - das ist mir auch sehr recht, denn von den Profis kann man am meisten lernen. Das mit dem Frontend habe ich erwähnt, weil damit nach meiner Erfahrung aus anderen Bereichen sehr gut anhand von Bespielen diverse Eigenschaften, eben von DBs, studiert werden können. Mich interessiert zu Anfang halt nicht jeder SQL-Befehl im Einzelnen, ich will eher was über die Konzepte von RDBMS und der objektorientierten Konkurrenz wissen. Weißt Du was über letztere? Ansonsten schönen Dank für die Antworten - das auch gilt für alle anderen! Gruß, Thomas Michalka
Hallo,
Thomas Michalka
Bernd Brodesser wrote:
* Thomas Michalka schrieb am 13.Feb.2003:
Stichwort "Kompliziertere Datenstrukturen" - dazu meine Frage:
[...]
Ich glaube, Du suchst gar keine Datenbank. Bei einer Datenbank geht es nicht um Frontend, sondern um Ausfallsicherheit, Konsistenz, evtl. Geschwindigkeit usw.
Na eben doch, z.B. objektorientierte DBs, s.o. Aber ich sehe schon, hier spricht ein Profi - das ist mir auch sehr recht, denn von den Profis kann man am meisten lernen.
Das mit dem Frontend habe ich erwähnt, weil damit nach meiner Erfahrung aus anderen Bereichen sehr gut anhand von Bespielen diverse Eigenschaften, eben von DBs, studiert werden können. Mich interessiert zu Anfang halt nicht jeder SQL-Befehl im Einzelnen, ich will eher was über die Konzepte von RDBMS und der objektorientierten Konkurrenz wissen.
Ich muß da wirklich noch mal auf die Möglichkeit hinweisen, einen Verzeichnisdienst zu nutzen, also etwas verständlicher, ein LDAP-Server. Da kannst du Objekte ablegen, Objekte können sowohl Text als auch Binärdaten sein, wobei Binärdaten dann Sound, Bild oder ähnliches sein können. Wie so etwas funktionieren kann, zeigt http://www.mentata.com/ldaphttp/examples/gospel/retrieve_chapters.htm Da wird, als Beispiel die Bibel, in Absätze zerlegt, lesbar und durchsuchbar angeboten. Einschließlich der .ldif und des Schema. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter@schevolution.com http://www.schevolution.com/tour
* Dieter Kluenter schrieb am 17.Feb.2003:
Ich muß da wirklich noch mal auf die Möglichkeit hinweisen, einen Verzeichnisdienst zu nutzen, also etwas verständlicher, ein LDAP-Server. Da kannst du Objekte ablegen, Objekte können sowohl Text als auch Binärdaten sein, wobei Binärdaten dann Sound, Bild oder ähnliches sein können. Wie so etwas funktionieren kann, zeigt
http://www.mentata.com/ldaphttp/examples/gospel/retrieve_chapters.htm
Da wird, als Beispiel die Bibel, in Absätze zerlegt, lesbar und durchsuchbar angeboten. Einschließlich der .ldif und des Schema.
In diesem Zusammenhang möchte ich unseren Listenowner doch mal fragen, warum es auf den SuSE-CDs keine Bibel gibt. *flücht* SCNR Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht widerstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9
* Bernd Brodesser postete am 17. Feb. 2003 folgendes:
* Dieter Kluenter schrieb am 17.Feb.2003:
Ich muß da wirklich noch mal auf die Möglichkeit hinweisen, einen Verzeichnisdienst zu nutzen, also etwas verständlicher, ein LDAP-Server. Da kannst du Objekte ablegen, Objekte können sowohl Text als auch Binärdaten sein, wobei Binärdaten dann Sound, Bild oder ähnliches sein können. Wie so etwas funktionieren kann, zeigt
http://www.mentata.com/ldaphttp/examples/gospel/retrieve_chapters.htm
Da wird, als Beispiel die Bibel, in Absätze zerlegt, lesbar und durchsuchbar angeboten. Einschließlich der .ldif und des Schema.
In diesem Zusammenhang möchte ich unseren Listenowner doch mal fragen, warum es auf den SuSE-CDs keine Bibel gibt.
*flücht*
SCNR
Unterliegt sie denn der GPL? *SCNRtoo* Bye Michael -- Nein, GIF heisst nicht "Girls in Files". _______________________________________________________________________ Registered Linux User #228306 AIM Tuxi70 ICQ #151172379
On Mon, 17 Feb 2003 at 18:29 (+0100), Michael Raab wrote:
* Bernd Brodesser postete am 17. Feb. 2003 folgendes: [...]
In diesem Zusammenhang möchte ich unseren Listenowner doch mal fragen, warum es auf den SuSE-CDs keine Bibel gibt.
*flücht*
SCNR
Unterliegt sie denn der GPL? *SCNRtoo*
Auf keinen Fall! Jede Modifikation am Quellcode ist Ketzerei ;-) Jan
[Jan Trippler]:
On Mon, 17 Feb 2003 at 18:29 (+0100), Michael Raab wrote:
* Bernd Brodesser postete am 17. Feb. 2003 folgendes:
[...]
In diesem Zusammenhang möchte ich unseren Listenowner doch mal fragen, warum es auf den SuSE-CDs keine Bibel gibt.
*flücht*
SCNR
Unterliegt sie denn der GPL? *SCNRtoo*
Auf keinen Fall! Jede Modifikation am Quellcode ist Ketzerei ;-)
Ach komm, der Quellkode ist doch schon so oft verfälscht und angepasst worden, dass vom eigentlichen Ursprung kaum noch was wahres gefunden werden kann (Bin ich jetzt auch ein Ketzer?) ;-) -- Gruß MaxX
On Mon, Feb 17, 2003 at 05:07:56PM +0100, Bernd Brodesser wrote:
* Dieter Kluenter schrieb am 17.Feb.2003:
Ich muß da wirklich noch mal auf die Möglichkeit hinweisen, einen Verzeichnisdienst zu nutzen, also etwas verständlicher, ein LDAP-Server. Da kannst du Objekte ablegen, Objekte können sowohl Text als auch Binärdaten sein, wobei Binärdaten dann Sound, Bild oder ähnliches sein können. Wie so etwas funktionieren kann, zeigt
http://www.mentata.com/ldaphttp/examples/gospel/retrieve_chapters.htm
Ein LDAP-Server ist kein Datenbankserver und auch als solcher nicht einsetzbar. Ein LDAP-Server kann Authentisierungsdaten und mit Muehe noch Konfigurationsdaten zu einem User speichern, als Datenannk server ist er jedoch strukturell denkbar schlecht geeignet. Ich kann das auf Wunsch sehr ausführlich belegen (http://www.koehntopp.de/kris/artikel/dir-vs-rel/ für die Kurzversion). Kristian -- http://www.amazon.de/exec/obidos/wishlist/18E5SVQ5HJZXG
Hallo,
Kristian Koehntopp
On Mon, Feb 17, 2003 at 05:07:56PM +0100, Bernd Brodesser wrote:
* Dieter Kluenter schrieb am 17.Feb.2003:
Ein LDAP-Server ist kein Datenbankserver und auch als solcher nicht einsetzbar. Ein LDAP-Server kann Authentisierungsdaten und mit Muehe noch Konfigurationsdaten zu einem User speichern, als Datenannk server ist er jedoch strukturell denkbar schlecht geeignet.
Diese Antwort ist so global nicht richtig. Richtig ist, ein Ldap-Server kann keine relationale Datenbank ersetzen. Sofern ich aber nur hierarchisch strukturierte Daten habe, ich überwiegend lesend und weniger schreibend auf diese Daten zugreife, ist ein LDAP-Server erheblich schneller als eine relationale Datenbank. Mit andern Wworten, eine reationale Datenbank ist für rein hierarchisch strukturierte Daten weniger geeignet. Im Grunde werden hier Äpfel mit Birnen verglichen. Wenn ich in einem LDAP-Server nur Konfigurationsdaten abspeichern wollte, wäre dies mit Kanonen auf Spatzen schießen, denn dann würde eine Datei vollkommen genügen. Wenn ich von LDAP-Server spreche, meine ich hier OpenLDAP-2.1.x mit Berkeley-DB als Backend. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter@schevolution.com http://www.schevolution.com/tour
Hallo,
Thomas Michalka
Hallo,
der Thread ist ja schon sehr aufschlußreich, aber etwas über meinem Niveau bzgl. DB. Deshalb unten meine "Elementar-Fragen". Ich wäre sehr froh, hierüber mehr zu erfahren.
Dennis Stosberg wrote:
[...]
[...]
Stichwort "Kompliziertere Datenstrukturen" - dazu meine Frage:
Ich habe letzhin als total Datenbank-Ahnungsloser in diversen Büchern geblättert. Beim Überfliegen der Seiten habe ich festgestellt, daß in relationalen DB-Systemen i.d.R. einfache Datentypen gespeichert werden. Ich muß aber komplex strukturierte Daten, die für XML-Dateien gut passen würden, z.B. mathematische Objekte, wie 2D-Diagramme u.ä, abspeichern können. Die Strukturen der DB-Objekte sollen auch flexibel änder-/erweiterbar sein - so wie in XML-Dateien eben. Und eine Mischung mit einfachen Datentypen sollte auch möglich sein, denn die Diagramme haben auch Eigenschaften, die durch einfache Datentypen ausdrückbar sind. XML-Dateien hätten diese Eigenschaften zwar, aber die Suche in tausenden solcher Dateien wäre wenig effizient. Geht das mit relationalen Datenbanken überhaupt, oder wäre ich hierzu mit einer objektorientierten DB besser bedient? Welche objektorientierten DBs gibt es ggf.?
Ich weiß ja nicht wonach und was du suchen und sortieren möchtest, wie oft die schreibend und lesend auf deine Objekte zugreifen möchtest, aber ich vermute mal, daß du mit einer relationalen Datenbank nicht weit kommst, du wirst eher eine objektorientierte Datenbank suchen. Dann denke mal über einen Verzeichnisdienst nach, also als Protokoll LDAP und als Anwendung OpenLDAP. Wird übrigens schon von einigen als Object Broker genutzt. Als Middleware kannst du DSML einsetzen und den Output in XML wandeln, oder umgekehrt. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter@schevolution.com http://www.schevolution.com/tour
On Sat, Feb 08, 2003 at 03:34:02PM +0100, Heiner Gewiehs wrote:
PostgreSQL und MySQL
Worin unterscheiden die sich eigentlich?
MySQL ist eine Datenbank, die SQL92 nicht vollstaendig implementiert, sondern nur die 20%, die 80% der Fälle abdecken. Daher ist MySQL für diese 80% der Fälle kleiner, schneller und handlicher als jede andere SQL-Datenbank. MySQL ist außerdem ausgezeichnet dokumentiert, in vielen Büchern beschrieben und vielfach erprobt. PostgreSQL ist ein Projekt aus dem akademischen Umfeld, das lange Zeit sehr träge war. Das hat sich erst mit der aktuellen Major-Version grundlegend geändert. Es litt außerdem unter einer im Vergleich zu MySQL praktisch nicht vorhanden Dokumentation. Auch jetzt gibt es quasi nur ein einziges nennenswertes Buch zu PostgreSQL (http://www.commandprompt.com/ppbook/). PostgreSQL implementiert im Gegensatz zu MySQL den ganzen SQL92 Standard und ein wenig mehr, leidet aber ein wenig unter einer fehlenden Rechtfertigung seiner Existenz. Wenn man nämlich ein Problem hat, daß für MySQL nicht mehr paßt (weil ein Teil gefordert wird, den MySQL mit seiner 80%-Coverage nicht abdecken kann), dann wird man meistens gleich eine richtige Datenbank installieren wollen. Das gilt insbesondere für Lern- und Lehrzwecke. Immerhin stehen auch noch Phönix/Firebird (vormals Interbase), SAPDB (vormals eine Version von Adabas) als GPL-Konkurrenten mit einer wesentlich besseren Dokumentation und einem wesentlich größeren Track-Record an kommerziellen Einsätzen zur Disposition, und zum Lernen ist Oracle nicht nur kostenlos runterladbar, sondern auch als Lernziel kommerziell sehr viel lohnender.
Die Frage ist nun, auf welche DB soll ich mich konzentrieren ?
MySQL ist ein sehr übersichtliches und ausgezeichnet dokumentiertes System. Es ist zudem die "Default"-Datenbank bei allen Webhostern und in allen PHP-Scripts. Für PostgreSQL wirst Du weniger Hilfe online finden, die meisten Scripte sind dafür nicht angepaßt und Du wirst außer dem o.a. Buch kaum gedruckte Hilfe finden. Wenn Du über MySQL hinaus bist, willst Du direkt Oracle lernen. Dies ist die eine Datenbank, die Du können mußt, wenn Du in größeren kommerziellen Projekten mitspielen willst. Kristian -- http://www.amazon.de/exec/obidos/wishlist/18E5SVQ5HJZXG Now playing: In the Nursery: Gabrielites (Engel)
Kristian Koehntopp wrote:
On Sat, Feb 08, 2003 at 03:34:02PM +0100, Heiner Gewiehs wrote:
PostgreSQL und MySQL
Worin unterscheiden die sich eigentlich?
Für PostgreSQL wirst Du weniger Hilfe online finden, die meisten Scripte sind dafür nicht angepaßt und Du wirst außer dem o.a. Buch kaum gedruckte Hilfe finden.
Wenn Du über MySQL hinaus bist, willst Du direkt Oracle lernen. Dies ist die eine Datenbank, die Du können mußt, wenn Du in größeren kommerziellen Projekten mitspielen willst.
Das ist so nicht ganz richtig. Es gibt allein auf Deutsch mindestens 2 ausgezeichnete Bücher zu Postgres, auf Englisch sind es noch mehr. Die Betreuung in diversen Postgres-Mailinglisten ist hervorragend. Beispiele, Tips und Hilfe ist im Netz mehr als ausreichend vorhanden. Der kommerzielle Aspekt ist sicherlich bei Oracle stärker, aber auch das relativiert sich zumindest ein wenig. Wie Du allein über die Postgres-Mailinglisten verfolgen kannst gibt es permanent Anfragen zu Migrationsprojekten (Oracle -> Postgres). Da Oracle nicht gerade zu den kostengünstigen Lösungen zählt und oft auch dort eingesetzt wurde, wo weniger auch ausreichend gewesen wäre, sind diese Migrationen nur konsequent. -- Andreas PS Vor einem Jahr gab es in der IX einen sehr guten Vergleich von MySql und Postgres
Hi all, Am Samstag Februar 8 2003 16:54 schrieb Kristian Koehntopp:
On Sat, Feb 08, 2003 at 03:34:02PM +0100, Heiner Gewiehs wrote:
PostgreSQL und MySQL Worin unterscheiden die sich eigentlich?
[Gute Erklärung]
Für PostgreSQL wirst Du weniger Hilfe online finden, die meisten Scripte sind dafür nicht angepaßt und Du wirst außer dem o.a. Buch kaum gedruckte Hilfe finden.
Zwei Bücher jedenfalls habe ich schon gesehen und mit beiden kann man ganz gut arbeiten (es fehlt natürlich immer genau das, was man selber braucht, aber bei welchem Buch ist das nicht der Fall). Momjian, Bruce: Postgre SQL - Einführung und Konzepte (Addison Wesley) Boenigk, Cornelia: PostgreSQL - Grundlagen, Praxix, Anwendungsentwicklung mit PHP (dpunkt-Verlag, Probekapitel online) Und ich denke, wenn man sich in eine gut sortierte Buchhandlung stellt, findet man schon noch den ein oder anderen Titel, der sich mit Postgres beschäftigt, meistens dann in Verbindung mit einer Programmiersprache. Helga PS: Kriege keine Prozente ;) -- ## Content Developer OpenOffice.org: lang/DE ## Office-Suite für Linux, Mac, Windows -- http://de.openoffice.org/ ## Netikette, nein Danke? -- http://www.suse-etikette.de.vu/ ## Listenarchiv: http://marc.theaimsgroup.com/?l=suse-linux&r=1&w=2
Hallo hier eine Beschreibung der beiden Datanbanksysteme .-) Ich hoffe das hilft etwas weiter :-) Axel ---------- MySQL MySQL ist ein relationales DBMS, das von einem schwedischen Team Mitte der 1990er Jahre entwickelt wurde. Die zurzeit (Januar 2002) aktuelle Version von MySQL ist 3.23. Sie kann von der Website http://www.mysql.com bezogen werden. MySQL steht für viele Linux-/UNIX-Versionen und für alle gängigen Windows-Systeme zur Verfügung. MySQL ist inzwischen ein reines Open-Source-Projekt. Die enge Verknüpfung mit der Skriptsprache PHP hat dazu beigetragen, dass MySQL als DBMS für Webanwendungen sehr weit verbreitet ist. Abgesehen davon hat MySQL noch eine ganze Reihe weiterer attraktiver Eigenschaften vorzuweisen: * MySQL ist leicht zu bedienen und ist bei weitem nicht so kompliziert zu konfigurieren wie größere Datenbanksysteme. * MySQL ist sehr schnell. * Die Zugriffe auf die Datenbank erfolgen mit SQL. MySQL unterstützt auch ODBC. * MySQL unterstützt auch Zugriffskontrolle, wodurch unbefugter Zugriff auf die Daten verhindert werden kann. Es gibt aber auch Nachteile. So unterstützt MySQL den SQL-Standard nicht komplett. Es gibt beispielsweise keine vollständige Transaktionskontrolle. Transaktionen sind ein wichtiges Konzept in der Datenbanktechnik, um die Integrität eines Datenbestandes zu garantieren. Datenbanken müssen vor und nach einer Transaktion in einem konsistenten Zustand sein, selbst wenn Fehler während der Transaktion auftreten. Durch das ACID-Prinzip wird die korrekte Ausführung einer Transaktion durch ein DBMS garantiert: * Atomicity Transaktionen werden entweder vollständig oder gar nicht durchgeführt. * Consistency Alle Integritätsbedingungen der Datenbank werden nach Ausführung der Transaktion eingehalten. * Isolation Transaktionen laufen isoliert von anderen Transaktionen ab. * Durability Abgeschlossene Transaktionen müssen dauerhaft sein. Ein Beispiel für eine Transaktion ist die Überweisung eines Geldbetrages von Konto A auf Konto B. Die Datenbank subtrahiert zuerst den Betrag von Konto A. Kann dieser Vorgang erfolgreich abgeschlossen werden, wird dieser Betrag auf den Kontostand von Konto B addiert. Transaktionen stellen sicher, dass beide Operationen erst dann gemeinsam ausgeführt werden, wenn das DBMS die Dauerhaftigkeit (Durability) beider sichergestellt hat. Angefangene Zwischenoperationen können bei einem Systemausfall oder anderen Problemen (beispielsweise wenn auf Konto A nicht genug Geld vorhanden ist und das Konto nicht überzogen werden darf) wieder rückgängig gemacht werden (ROLLBACK). MySQL hat besitzt hier Einschränkungen, so kann beispielsweise eine Kette von Transaktionen nicht mit der SQL-Anweisung ROLLBACK rückgängig gemacht werden. Auf eine Beschreibung der Installation und Handhabung von MySQL wird an dieser Stelle verzichtet. Zu der Datenbank gibt es ein umfangreiches, mehrere hundert Seiten starkes Handbuch (Reference Manual) sowie eine Mailingliste auf der offiziellen Website (http://www.mysql.com/documentation). Probleme, die im Handbuch nicht oder nur unzureichend behandelt werden, können oftmals über die Mailingliste sehr schnell gelöst werden. Auf ein weiteres kostenfreies DBMS soll ganz kurz eingegangen werden: PostgreSQL PostgreSQL ist eine Weiterentwicklung des POSTGRES-DBMS. Das leistungsfähige Datenmodell und die verschiedenen Datentypen von POSTGRES wurden beibehalten. Die eigene Anfragesprache PostQUEL wurde allerdings durch eine große Teilmenge von SQL ersetzt. Die derzeit (Januar 2002) aktuelle Version von PostgreSQL ist die Version 7.1.3 und kann von der Website http://www.postgresql.org bezogen werden. PostgreSQL ist Open-Source und für die verschiedensten Linux-/UNIX-Systeme verfügbar. Es besitzt die meisten Eigenschaften, die auch in großen kommerziellen DBMS vorhanden sind. Es ist dadurch aber nicht so schlank und nicht so schnell wie MySQL. Dafür verfügt es aber beispielsweise über eine volle Transaktionssicherung, die MySQL nicht zur Verfügung stellt. ---------------------- Zitat Teia-Lehrmaterial
On Sun, Feb 09, 2003 at 09:26:15AM +0100, Axel Lindlau wrote:
der 1990er Jahre entwickelt wurde. Die zurzeit (Januar 2002) aktuelle Version von MySQL ist 3.23. Sie kann von der Website http://www.mysql.com bezogen werden.
MySQL 4.0.10 ist ein Gamma (Post-Beta)-Release.
So unterstützt MySQL den SQL-Standard nicht komplett. Es gibt beispielsweise keine vollständige Transaktionskontrolle.
... in MYISAM-Tables. Auch in MySQL 3.23 gibt es mit BDB und Innodb zwei Tabellentypen, die transaktional sind und COMMIT und ROLLBACK unterstützen. Der Support für diese beiden Tabellentypen zieht sich durch die ganze 3.23er Releasereihe, ist also nicht neu.
MySQL hat besitzt hier Einschränkungen, so kann beispielsweise eine Kette von Transaktionen nicht mit der SQL-Anweisung ROLLBACK rückgängig gemacht werden.
Es muß heißen "MYISAM-Tabellen besitzen hier ...". Wie gesagt, BDB und Innodb können genau dies. Kristian -- http://www.amazon.de/exec/obidos/wishlist/18E5SVQ5HJZXG
Am Sonntag, 9. Februar 2003 09:30 schrieb Kristian Koehntopp:
On Sun, Feb 09, 2003 at 09:26:15AM +0100, Axel Lindlau wrote:
der 1990er Jahre entwickelt wurde. Die zurzeit (Januar 2002) aktuelle Version von MySQL ist 3.23. Sie kann von der Website http://www.mysql.com bezogen werden.
MySQL 4.0.10 ist ein Gamma (Post-Beta)-Release.
So unterstützt MySQL den SQL-Standard nicht komplett. Es gibt beispielsweise keine vollständige Transaktionskontrolle.
... in MYISAM-Tables. Auch in MySQL 3.23 gibt es mit BDB und Innodb zwei Tabellentypen, die transaktional sind und COMMIT und ROLLBACK unterstützen. Der Support für diese beiden Tabellentypen zieht sich durch die ganze 3.23er Releasereihe, ist also nicht neu.
MySQL hat besitzt hier Einschränkungen, so kann beispielsweise eine Kette von Transaktionen nicht mit der SQL-Anweisung ROLLBACK rückgängig gemacht werden.
Es muß heißen "MYISAM-Tabellen besitzen hier ...". Wie gesagt, BDB und Innodb können genau dies.
Kristian Thx für die Info :-) Wie aber geschrieben ,handelt es sich hier um ein Zitat der aktuellen Lehrbuchreihe von Teia :-( Wenn ich darf ,werde ich denen Deine Mail mal zukommen lassen :-) Axel
Moin, Am Sam, 2003-02-08 um 15.34 schrieb Heiner Gewiehs:
das Thema "Datenbanken unter Linux" wird ja, so wie ich das aus den gelesenen Berichten, haupsächlich an zwei Programmen festgemacht: PostgreSQL und MySQL
Wieso eigentlich eine Entscheidung treffen? Hau beide auf die Kiste drauf. Ich probiere gerne mal das eine oder andere Stück Software aus. Wenn SQL, dann wird meistens MySQL gefordert. Es besteht aber nicht der Zwang, auf PostgreSQL zu verzichten. Es gibt keine Konflikte, wie z.B. bei sendmail mit (gegen?) postfix. Beide laufen nebeneinander her. Wenn ich selbst was baue, nehme ich mysql, da gibt es viel mehr Beispiele. Und phpmyadmin ist einfach Klasse. Es gibt da zwar was ähnliches, my pgadmin oder so ähnlich, aber irgendwie scheint mir die "MySQL-Szene" doch lebendiger und fleissiger. Also, Vorschlag: Beides. Gruß, Ratti -- fontlinge Font management for Linux http://www.gesindel.de Schriftenverwaltung fuer Linux
participants (14)
-
Andre Heine
-
Andreas Schlegel
-
Axel Lindlau
-
B.Brodesser@t-online.de
-
Dennis Stosberg
-
Dieter Kluenter
-
Heiner Gewiehs
-
Helga Fischer
-
Jan.Trippler@t-online.de
-
Jörg Roßdeutscher
-
Kristian Koehntopp
-
Matthias Houdek
-
Michael Raab
-
Thomas Michalka