MySQL C-API vs. ODBC



  • Was sind Vorteile der beiden Schnittstellen gegenüber der jeweils anderen?

    D.h. was würde ich jemanden sagen, der mich fragt: "Warum hast du dein Programm mit der Datenbank über die API ... verknüpft und nicht mit einer anderen?"



  • OT: MySQL ist dich keine Datenbank...



  • mit der c-api hast du mehr 'macht' über das dbms.
    der odbc-treiber für mysql, den ich kenne, war reichlich buggy. kann aber sein, dass es schon was besseres gibt (ist ca. 1 jahr her, als ich den benutzen wollte).

    Jochen Kalmbach schrieb:

    OT: MySQL ist dich keine Datenbank...

    wie meinen?


  • Mod

    Jochen meint, dass MYSQL keine Datenbank ist!
    MYSQL kann keine atomaren Operatinen und Ausfallsicherheit garantieren.



  • Ich kann also auch für ein in C++ geschriebenes Programm MySQL C Api benutzen und muss nicht unbedingt die C++ Api benutzen. Ist halt nur der Unterschied, in welcher Sprache die API geschrieben wurde.

    Was wären aber noch Vorteile für die Verwendung dieser API gegenüber ODBC?


  • Mod

    Ich vermute mal Geschwindigkeit. Erfahrung habe ich aber damit nicht.
    Ich benutzte nur MS-SQL!



  • Martin Richter schrieb:

    MYSQL kann keine atomaren Operatinen und Ausfallsicherheit garantieren.

    wer bitte hat dir denn das erzählt? 😕
    guckst du: http://mysqld.active-venture.com/ANSI_diff_Transactions.html
    ausfallsicherheit erreicht man mit clustering. dazu ist mysql schon lange im stande...
    🙂



  • ten schrieb:

    ausfallsicherheit erreicht man mit clustering.

    Mit Ausfallsicherheit hat Martin vermutlich ACID gemeint und dazu gehört: Stecker raus und wieder einschalten und alles geht weiter.
    Das kann MySQL nur in ganz gewissen fällen.
    Clustering hat was mit "Verfügbarkeit" zu tun...



  • mysql ist eine RDBMS. Renauso wie MS SQL.
    Jedes hat seinen Einsatzzweck. MySQL wurde ursprünglich als kleine schnelle DB geschrieben.
    Aus Tempogründen hat MySQL eben nicht die Feature der sehr teuren langsameren Datenbanken wie z.B. MS SQL, Oracle, u.s.w.

    Die C-API bei Mysql hat den Vorteil das sie schneller ist als ODBC (und das nicht unerheblich) und das sie mehr Features bietet als ODBC.
    Also wenn geht nur MySQL-C-API verwenden.
    Will amn flexoible sein dann eben ODBC.



  • Aber grundsätzlich hat Jochen Recht auch wenn er es nur aus Sicht eines Windows - Users sieht.
    MySQL selbst ist keine Datenbank.
    MS SQL ist aber auch keine Datenbank.



  • Jochen Kalmbach schrieb:

    ten schrieb:

    ausfallsicherheit erreicht man mit clustering.

    Mit Ausfallsicherheit hat Martin vermutlich ACID gemeint...

    naja, da z.b. steht, dass mysql es schon seit 5 jahren kann: http://forums.mysql.com/read.php?97,18003,18003



  • Soweit zur Theorie... und jetzt Frage mal, wer diese Tabellen-Form verwendet, die dafür notwendig ist?


  • Mod

    Nochmal zu atomaren Operationen:

    Bei unserem letzten Tests viel MYSQL z.B. durch, weil Befehle der DDL (CREATE TABLE etc.) nicht durch eine Transaktion gekappselt werden können.

    D.h. BEGIN TRANSACTION, CREATE TABLE + andere Tabellen Modifikationen mit einem ROLLBACK führten zu Inkonsistenz. Der alte Zustand wurde nicht wieder hergestellt.

    In wie weit das noch gilt, bzw. mit bestimmten DB-Formen handlebar ist weiß ich nicht. Grundsätzlich verhält sich für mich MySQL eben nicht transparent.

    Danke Jochen: Ich meinte ACID!



  • Martin Richter schrieb:

    ...In wie weit das noch gilt, bzw. mit bestimmten DB-Formen handlebar ist weiß ich nicht. Grundsätzlich verhält sich für mich MySQL eben nicht transparent.

    irgendwo in der doku zu mysql steht, dass sich die entwickler vorgenommen haben, mysql zum besten dbms der welt zu machen. wenn sie's ernst meinen, ist wohl anzunehmen, dass mysql diesbezüglich keine mängel mehr hat.

    btw: die heutigen versionen von mysql können sich durchaus mit den grossen wie oracle und db2 messen lassen.



  • ten schrieb:

    btw: die heutigen versionen von mysql können sich durchaus mit den grossen wie oracle und db2 messen lassen.

    Das war jetzt aber ein Witz, oder?



  • Jochen Kalmbach schrieb:

    ten schrieb:

    btw: die heutigen versionen von mysql können sich durchaus mit den grossen wie oracle und db2 messen lassen.

    Das war jetzt aber ein Witz, oder?

    nö, war ernst gemeint...
    guckt ihr hier: http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems


  • Mod

    ten schrieb:

    irgendwo in der doku zu mysql steht, dass sich die entwickler vorgenommen haben, mysql zum besten dbms der welt zu machen. wenn sie's ernst meinen, ist wohl anzunehmen, dass mysql diesbezüglich keine mängel mehr hat.

    Und Du glaubst ernsthaft solchem Marketing Gesülz?
    Ich vermute Du glaubst auch alles was Microsoft, Symantec und auch die sonstige Linux Gemeinde so alles in Absichtserklärungen von sich gibt. 🙂

    BTW: Dies bezüglich habe ich meinen bulgarischen Ex-Kollegen kontaktiert. Er hat mir bestätigt, dass MySQL bzgl. Data Definition Language nicht transkationsgeschützt ist.

    Für mich ein Deadline Kriterium!
    Also bleibt MySQL weiterhin für mich nur ein "Möchtegernaspirant..."

    ten schrieb:

    btw: die heutigen versionen von mysql können sich durchaus mit den grossen wie oracle und db2 messen lassen.

    Das kann ich nicht sehen.
    Und was beudetet die Aufzählung auf den Wikipedia Seiten?

    Im Vergleich zu jeder SQL 2005 EE verstehe ich nicht warum ich MySQL einsetzen sollte. Und ja: Wir haben als Zielplattform nur MS-Systeme im Auge... Linux+Konsorten spielt in meinem Bereich keine Rolle.



  • Wenn MySQL so gut mit den Mature-RDBMS mithalten kann, frage ich mich, warum MySQL noch die SAPDB mit in sein Programmaufgenommen hat? Nicht um dem Enterprise-Bereich näher zu kommen?



  • Artchi schrieb:

    ...warum MySQL noch die SAPDB mit in sein Programmaufgenommen hat? Nicht um dem Enterprise-Bereich näher zu kommen?

    kann schon sein.
    schliesslich muss sich mysql einen guten ruf erst 'erarbeiten', während die kommerziellen dbms schon allein durch ihre herkunft aus renommiertem hause pluspunkte bei der kundschaft haben...


Log in to reply