kingele Geschrieben 20. Dezember 2008 Teilen Geschrieben 20. Dezember 2008 Hallo zusammen, ich muss einige Datenbanktypen und -funktionen der gängigen DBMS' vergleichen. Der Vergleich ist in tabellarischer Form bereits angestellt, aber irgendwie will es mir nicht in den Sinn, wie ich den ganzen Spaß jetzt formuliere. Hat jemand Erfahrung im "nackten" Faktenvergleich? Soll ich mich evtl. auf 5 Typen und 5 Funktionen beschränken und die beschreiben/listen und den Rest als Tabelle anhängen (darf man sowas?)? Und hat vielleicht noch jemand ein Typ für eine gute Begründung? Aus dem deutsch Unterricht habe ich gelernt, dass ich jedes Thema einleiten muss, auch wenn es mich noch so wenig interessiert. Allerdings sehe ich nicht den geringsten Grund, warum man Datentypen vergleich sollte. Ein reines "Gibts" oder "gibts nicht" und wieviel Platz der Typ verbraucht, sollte doch irgendwie begründbar sein, oder? Danke für eure Hilfe. ciao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 20. Dezember 2008 Teilen Geschrieben 20. Dezember 2008 Also ich würde das so machen: In folgenden Bericht werden die Datenbanken DB1 (Hersteller)DB2 (Hersteller)... hinsichtlich ihrer Verschiedenen Funktionen und Einsatzmöglichkeiten verglichen. Besonderer Wert wurde dabei auf nachfolgende Punkte gelegt: Merkmal1Merkmal2... Am wenigsten geeignet für unsere Anforderung X hat sich dabei DB Y erwiesen. Sie hat vor allem Mängel in den Punkten abc, cde offenbart, welche auch von den geringeren Lizenzkosten nicht aufgewogen werden konnten. Weiter folgt Datenbank Y, welche ebenfalls Mängel in Punkt abc hat, aber im Bereich gfh überzeugen konnte. Von einem Einsatz wird aber mangels ... abgeraten, da dies ansonsten zu erheblichen Mehrkosten in der anschließenden Entwicklung führen würde. etc etc Danach beschreibst noch die restlichen und gibst eine Empfehlung ab (wobei das ganze natürlich auch davon abhängt, warum diese Auflistung gemacht werden soll). Auf einem extra Blatt dann noch die tabellarische Auflistung. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 20. Dezember 2008 Autor Teilen Geschrieben 20. Dezember 2008 Hallo, danke für deinen Beitrag! Also du meinst auch, dass ich mich auf ings. 5 Sachen beschraenken soll? Problem ist hier halt, dass ich keinen wirklichen Grund für die Auflistung habe. Vielleicht einfach in Sachen handling und oder Sinn der DB.. (dass man bei einer normalen Homepage zB kein Oracle braucht..?!) adieu Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 20. Dezember 2008 Teilen Geschrieben 20. Dezember 2008 (bearbeitet) Also du meinst auch, dass ich mich auf ings. 5 Sachen beschraenken soll? Das hab ich nicht gesagt - ich hab eigentlich nur einen Tipp gegeben wie man tabellarische Ergebnisse in Prosa formulieren könnte. Vielleicht wär's besser, wenn Du mal die Datenbanken sowie die von Dir untersuchten Punkte postest und natürlich auch etwas Hintergrundinfo dazu (Thema der Abschlussarbeit etc). Problem ist hier halt, dass ich keinen wirklichen Grund für die Auflistung habe. Versteh ich nicht ganz. Musst Du die Auflistung nun machen oder nicht? Dim Bearbeitet 20. Dezember 2008 von dr.dimitri Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 20. Dezember 2008 Autor Teilen Geschrieben 20. Dezember 2008 Achso, dass hörte sich so an! Aufgabe und Ergebnis würde ich ungern posten, weil ich nicht weiß, in wie weit das dann doch evtl ergooglet wird. Es geht im Allgemeinen um ein Vergleich 3er DBMS', wobei ich keine Vorgabe habe, auf welche Kriterien. Aus einem Gespräch mit dem Prof konnte ich heraushören, dass ich mich auf ein paar Standardtypen und -funktionen beschränken soll, da ich auch nicht unendlich viel Zeit und Schreibplatz habe. Das wäre auch meine erste Begründung.. von wegen "da ich einen objekten Vergleich anstellen will, nehme ich nur Standardzeug, und lasse blobs,clobs etc weg.. Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 20. Dezember 2008 Teilen Geschrieben 20. Dezember 2008 Also ich würde folgende Punkte untersuchen, da sie m.M. nach sowohl für die Administration als auch für die Entwicklung die wichtigsten Kenndaten abdecken: ACID FähigkeitVerhalten beim Locking (wird nur ein Datensatz gesperrt, gibt es Lockescalation, werden lesende Prozesse geblockt etc.)Referentielle IntegritätANSI SQL konformitätLizenz(kosten)/SupportBackup bei laufendem Betrieb möglichClusterfähigkeit Es gäb noch weitere wie z.B. die Fähigkeit Java Klassen zu laden, die Verfügbarkeit von Tiggern oder einer prozeduralen Sprache wie PL/SQL bzw. T-SQL, für welche Sprachen/Spezifikationen gibt es Treiber (ODBC, .NET, JDBC, Perl, PHP, Ruby,...), typische Einsatzgebiete. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 20. Dezember 2008 Autor Teilen Geschrieben 20. Dezember 2008 Hey Danke. Einige von deinen Punkten kann ich auf jeden Fall noch gebrauchen und werde sie integrieren. Aber auch hier gibt es das Problem, dass praktisch schon mit meinem Prof "besprochen" wurden, welche Kriterien berücksichtigt werden sollen. Ganz simple, Integer-,Stringtypen, Datumsfunktionen etc.. :/ Deine Vorschläge sind aber natürlich sehr interessant! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 22. Dezember 2008 Autor Teilen Geschrieben 22. Dezember 2008 Okay, ich bin grad fleißig am schreiben und mache auch so meine Fortschritte Ich komme zu meiner ersten sachlichen Frage: Wenn ich über den Speicherplatz von z.B mysql smallints lese, wird gesagt, dass sie einen Speicherplatz von 2 Bytes haben. In der Oracle Doku steht, dass für NUMBER 38 digits reserviert sind. Heißt das, dass diese 38d in jedem Fall "verbraucht" werden, oder, dass sich der Platz flexibel an den Wert anpasst und max. 38 Zeichen möglich sind?! Konkret gefragt: Wie viel Speicherplatz wird verbraucht, wenn ich die Zahl "38,23" speichern will? Wenn die Antwort : "flexibel" ist, stellt sich mir die Frage, warum u.a. mysql und postgres auf versch. numerische Datentypen setzen. Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 22. Dezember 2008 Teilen Geschrieben 22. Dezember 2008 (bearbeitet) Heißt das, dass diese 38d in jedem Fall "verbraucht" werden, oder, dass sich der Platz flexibel an den Wert anpasst und max. 38 Zeichen möglich sind?! Das ist die maximale Länge. NUMBER selbst ist dynamisch. Oracle speichert dort Mantisse und Exponent getrennt voneinander. Aber lange Rede kurzer Sinn, hier der direkte Link zum Conzeps Guid Dort sind dann auch die anderen nummerischen Typen BINARY_FLOAT und BINARY_DOUBLE beschrieben. Wenn die Antwort : "flexibel" ist, stellt sich mir die Frage, warum u.a. mysql und postgres auf versch. numerische Datentypen setzen. Sie die Erläuterung zu BINARY_FLOAT und BINARY_DOUBLE allerdings sind die Datentypen numeric und decimal in PostgresSql ebenfalls variabel. Wie viel Speicherplatz wird verbraucht, wenn ich die Zahl "38,23" speichern will? Mal schauen: create table t (col1 number,col2 number(4,2)); insert into t values(38.23,38.23); select * from t union select vsize(col1),vsize(col2) from t; 1 rows selected COL1 COL2 ---------------------- ---------------------- 3 3 38,23 38,23 Antwort: 3 Byte Dim Bearbeitet 22. Dezember 2008 von dr.dimitri Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 22. Dezember 2008 Autor Teilen Geschrieben 22. Dezember 2008 schade, ich dachte das könnte mein Vergleich werden Aber Danke auf jeden Fall für deinen Beitrag. Ich verstehe aber dennoch nicht so ganz, warum dann die "anderen" auf versch. numerische Datentypen setzt... Ciao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 22. Dezember 2008 Teilen Geschrieben 22. Dezember 2008 warum dann die "anderen" auf versch. numerische Datentypen setzt... Vermutlich, weil es einfacher ist einen festen Datentyp zu verwenden. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 22. Dezember 2008 Autor Teilen Geschrieben 22. Dezember 2008 mhh, also sind eher die NUMBERS von Oracle den Integervarianten von my-/postgreSQL überlegen (im Sinne von Platzverbrauch? .. mit Ausnahme von NUMERIC) ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 22. Dezember 2008 Teilen Geschrieben 22. Dezember 2008 Genau. Gilt auch für vieles andere vor allem bei mysql. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 22. Dezember 2008 Autor Teilen Geschrieben 22. Dezember 2008 Mist. Meine These sollte eigentlich in die Richtung gehen, dass Mysql vor allem auch in den privaten, bzw semiprofessionellen Anwendungen zu gebrauchen ist.. leider entkräftest du mir gerade alle meine Argumente ;) ciao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 22. Dezember 2008 Teilen Geschrieben 22. Dezember 2008 Ja das einzige Argument für mysql ist die Tatsache, dass es von vielen Hostern standardmäßig angeboten wird (wenn auch häufig in einer Uraltversion die nicht mal Subqueries kann) und viele PHP Projekte auf mysql laufen (gilt aber aber auch für pgsql). Das ist aber auch schon alles. Ansonsten ist pgsql mysql praktisch in allen wichtigen Belangen überlegen. Von einem Oracle-mysql vergleich wollen wir besser gar nicht sprechen, vor allem da mysql auf Oracle angewiesen ist um überhaupt eine transaktionsfähige Engine (InnoDB wurde von Oracle gekauft) anbieten zu können . Eigentlich kann man von mysql momentan nur eins: Abraten. Da bin ich übrigends nicht der einzige. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 22. Dezember 2008 Autor Teilen Geschrieben 22. Dezember 2008 Vielen Dank für deine Tipps. Dann muss ich wohl über die andere Schiene und Oracle wegen der Lizenzkosten und dem vergleichsweise hohe benötigten Knowhow nieder machen. Schade.. Ich dachte ich käme irgendwie auf ein anderes Ergebnis, ob Postgres oder Mysql ist dabei egal.. Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 22. Dezember 2008 Teilen Geschrieben 22. Dezember 2008 und Oracle wegen der Lizenzkosten Auch kein Argument. Oracle XE ist kostenlos (auch für kommerzielle Projekte). Eine Oracle Standard Edition One kostet Liste ca. 11Tsd Euro pro CPU bzw. wenn es nur eine begrenzte Anzahl User sind dann kann man auch pro User 225 Euro ausgeben (auf der Kiste kann man dann natürlich beliebig viele Instancen anlegen). Rechnet man jetzt für einen durchschnittlichen Entwickler Personalkosten von 4000 Euro im Monat, dann kann man sich an den einer Hand Fingern ausrechnen, wieviel % der gesamten Projektkosten für die Oracle Installation drauf gehen. Im übrigen sind alle Preise Verhandlungssache. Wir bekommen aktuell ca. 80% Rabatt auf unsere Oracle Installationen (ok sind auch ein paar ) Wenn du Support für pgsql und mysql haben möchtest musst Du übrigends auch bezahlen. und dem vergleichsweise hohe benötigten Knowhow nieder machen. Ebenso kein Argument. Jeder Depp kann heute Oracle installieren (und wenn man sich die Fragen auf forums.oracle.com so ansieht, dann ist das auch der Fall) aber für die Administration und die Entwicklung braucht man natürlich Know How. Gilt aber auch für mysql und pgsql. Das Recovery einer 2 TB großen pgsql Datenbank zum Zeitpunkt xy macht man eben nicht mal einfach so. Ebenso schüttelt man keine multiuserfähige, performante 24/7 Webanwendung aus dem Ärmel. Vom Funktionsumfang ist Oracle der klare Sieger, gefolgt von pgsql und wer leicht masochistisch veranlagt ist kann natürlich auch mit mysql entwickeln. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 22. Dezember 2008 Autor Teilen Geschrieben 22. Dezember 2008 arg du bist gemein okay, dann werd ich mich nochmal über meine Arbeit setzen und gucken, ob ich gut für Oracle argumentieren kann, um auch mein Prof zu überzeugen.. vielen Dank! aber mal ne Frage am Rande, ist XE einsatzbereit? hab gehört, dass es noch erhebliche Mängel gibt, und man es durch die vielen Lizenzeinschränkungen kaum benutzen kann. Ciao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 22. Dezember 2008 Teilen Geschrieben 22. Dezember 2008 (bearbeitet) hab gehört, dass es noch erhebliche Mängel gibt, und man es durch die vielen Lizenzeinschränkungen kaum benutzen kann. Keine Ahnung wo du das gehört hast, aber als kaum benutzbar würd ich das nicht beschreiben. Hier die wichtigsten Einschränkungen: - Kein Support - Es wird nur eine CPU (bzw. Kern) benutzt falls mehrere vorhanden sind - Maximal 4GB an Benutzerdaten - Es wird maximal 1GB Ram verwendet Das ist doch etwas mehr als "kaum benutzbar". Die meisten Hoster bieten der mysql Installation nur einen Bruchteil dieser Ressourcen. Die Codebasis der XE und der normalem Oracle ist identisch - es ist keine Eigenständige Datenbank wie z.B. die Oracle Lite Version (ist was komplett anderes als die XE), das ist/war was zugekauftes unter neuem Label mit z.T. großen Unterschieden zur richtigen Oracle Datenbank. Wer Webanwendungen entwickelt, wird sich übrigends auch für die in der XE integrierten Application Express interessieren (kann natürlich auch für die grossen Oracles installiert werden). Auch ein Punkt, den weder pgsql noch mysql bietet. Dim Bearbeitet 22. Dezember 2008 von dr.dimitri Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 23. Dezember 2008 Autor Teilen Geschrieben 23. Dezember 2008 Okay, dein Argument, dass die meisten Hoster nicht mal das an Mysql Reqs bieten ist natürlich nicht zu toppen aber seien wir mal ganz objektiv und lassen beiseite, dass du scheinbar sehr an Oracle hängst (nicht böse gemeint!) und auch sonst Ahnung hast. Du bist in deinem Freundeskreis der einzige, der ein bisschen Ahnung von HTML/CSS/PHP hat und ihr wollt nen Clan aufmachen. Also erklärst du dich bereit, dich um den Webauftritt zu kümmern. Du brauchst dann natürlich auch ne ordentlich DB. Suchst du also so lange einen Hoster, bist du Oracle oder Postgres gefunden hast, oder würdest du das erstbeste Mysql-Angebot "annehmen"? Versteh mich nicht falsch, deine Argumente sind schon sehr überzeugend und ich fange langsam an, Oracle zu mögen, aber ich will einfach verstehen, warum so viele dann immer noch auf mysql setzen, vorallem auch im kommerziellen Bereich, wo man eh mind. einen Server im Rechenzentrum zu stehen hat. Außerdem brauch ich auch noch ein paar Pluspunkte für OpenSource ciao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 23. Dezember 2008 Teilen Geschrieben 23. Dezember 2008 dass du scheinbar sehr an Oracle hängst Man beißt doch auch nicht die Hand die einen füttert Suchst du also so lange einen Hoster, bist du Oracle oder Postgres gefunden hast, oder würdest du das erstbeste Mysql-Angebot "annehmen"? Also das "Erstbeste" würd ich auf keinen Fall nehmen. Oracle scheidet definitiv aus, da ein Oraclehosting meistens deutlich teuerer ist. Ich würde zu 1&1, evanzo wem auch immer gehen und schauen welche Angebote dort mit pgsql und PHP5 vorhanden sind. Mit der Lupe muss man die nämlich auch nicht suchen. Außerdem brauch ich auch noch ein paar Pluspunkte für OpenSource Ich hab nichts gegen OpenSource bzw. Du meinst wohl eher die GPL nur was gegen mysql. Dir ist auch die duale Lizenz von mysql bekannt? Sobald Du nämlich Anwendungen entwickelst, die Du nicht ebenfalls unter die GPL stellst, musst Du eine Lizenz kaufen. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 23. Dezember 2008 Autor Teilen Geschrieben 23. Dezember 2008 Ich hab nichts gegen OpenSource bzw. Du meinst wohl eher die GPL nur was gegen mysql. Dir ist auch die duale Lizenz von mysql bekannt? Sobald Du nämlich Anwendungen entwickelst, die Du nicht ebenfalls unter die GPL stellst, musst Du eine Lizenz kaufen. Jap, kenne ich. Aber gibt es denn nicht einen einzigen Punkt, in dem mysql/postgresql oracle schlägt? Aber ich glaube, dass das jetzt auch ausufert. Wenn du das Fragequiz gerne weiterspielen willst, ich bin dabei ciao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 23. Dezember 2008 Teilen Geschrieben 23. Dezember 2008 Aber gibt es denn nicht einen einzigen Punkt, in dem mysql/postgresql oracle schlägt? Was mir spontan einfallen würde, wäre die embedded Version von mysql, die sich dann ähnlich wie sqlite in ein Programm einbinden läßt. Außerdem haben pgsql und mysql einen geringeren (möglichen) Ressourcenverbrauch. Eine mysql oder pgsql mit 10 MB RAM zu fahren sollte kein großes Problem sein (wie das ganze dann läuft ist wieder was anderes). Unter 80 MB sollte man bei Oracle eigentlich nicht anfangen. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingele Geschrieben 25. Dezember 2008 Autor Teilen Geschrieben 25. Dezember 2008 (bearbeitet) hallo und ein Frohes Fest! Was mir spontan einfallen würde, wäre die embedded Version von mysql, die sich dann ähnlich wie sqlite in ein Programm einbinden läßt. Außerdem haben pgsql und mysql einen geringeren (möglichen) Ressourcenverbrauch. Eine mysql oder pgsql mit 10 MB RAM zu fahren sollte kein großes Problem sein (wie das ganze dann läuft ist wieder was anderes). Unter 80 MB sollte man bei Oracle eigentlich nicht anfangen. gut, das bringt mich nur bedingt weiter. passt absolut null in mein Thema aber trotzdem danke! wenn ich nochmal nerven darf: warum bietet Oracle nativ keine Randomfunktion an und welche Vorteile hat dbms_random gegenüber den beiden mysql/postgres Pendants? Erholsame Tage wünsch ich dir trotzdem ciao Bearbeitet 25. Dezember 2008 von kingele Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 25. Dezember 2008 Teilen Geschrieben 25. Dezember 2008 warum bietet Oracle nativ keine Randomfunktion an Tut es doch, dbms_random ist im Hintergrund genauso "nativ" wie eine normale SQL Funktion und kann auch genauso verwendet werden. Viele Packages sind auch nicht in PL/SQL geschrieben sondern in C. DBMS_RANDOM bietet zum einen mehr an Funktionalität als eine normale RAND Funktion, zum anderen kann man damit sowohl in PL/SQL als auch in SQL arbeiten - man hat also einheitlich ein Package für alles und nicht diverse SQL Funktionen und zusätzlich noch ein Package. Erholsame Tage wünsch ich dir trotzdem Danke dir auch. Würd mich direkt mal interessieren, wie Deine Arbeit dann so aussieht. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.