Gregor Koppl: DBI:CSV

Hallo zusammen,

in der neuen Linux-Magazin ist ein interessanter Artikel von Michael Schilli, wie man Daten in Mysql und wahlweise in CSV-Dateien speichert.
Meine Frage ist, ob man wirklich alle Befehle, die man in einem bestehenden Projekt mit MySQL ausführt, schlagartig auf CSV umstricken könnte. Oder geht nur INSERT?
Ein "select .... order x,y,c" ist irgendwie fehlgeschlagen.

Ist es nur ein Teilersatz einer DB oder kann es das gleiche und ist nur sehr viel langsamer?

Danke!

  1. use Mosche;

    Meine Frage ist, ob man wirklich alle Befehle, die man in einem bestehenden Projekt mit MySQL ausführt, schlagartig auf CSV umstricken könnte. Oder geht nur INSERT?

    Es gehen INSERT, SELECT, UPDATE und DELETE. Variablentypen sind egal, da DBD::CSV ja ein Perl-Modul ist (in Perl geschrieben).

    Ein "select .... order x,y,c" ist irgendwie fehlgeschlagen.

    Sollte laut http://search.cpan.org/author/JZUCKER/DBD-CSV-0.2002/lib/DBD/CSV.pm#Inserting_fetching_and_modifying_data eigentlich gehen.

    Ist es nur ein Teilersatz einer DB oder kann es das gleiche und ist nur sehr viel langsamer?

    Ich würde jetzt nicht hingehen und versuchen, hochperformante Anwendungen mit DBD::CSV zu erstellen (selbst Perl ist da die falsche Wahl), allerdings ist es sicherlich hilfreich, wenn du in einen Projektstadium einfach mal die Tabellen per Hand editieren kannst, insbesondere, wenn dann die Migration auf eine 'richtige' DB sehr einfach ist, weil die Schnittstelle die gleiche ist (DBI).

    Es wird wohl langsamer als eine ständig laufende DB sein.

    use Tschoe qw(Matti);

    1. hi,

      [...] (selbst Perl ist da die falsche Wahl)[...]

      Warum?

  2. Halihallo

    in der neuen Linux-Magazin ist ein interessanter Artikel von Michael Schilli, wie man Daten in Mysql und wahlweise in CSV-Dateien speichert.
    Meine Frage ist, ob man wirklich alle Befehle, die man in einem bestehenden Projekt mit MySQL ausführt, schlagartig auf CSV umstricken könnte. Oder geht nur INSERT?
    Ein "select .... order x,y,c" ist irgendwie fehlgeschlagen.

    Vielleicht wurde order (by! - Vielleicht will er noch ein 'BY'!) noch nicht implementiert, weiss ich grad nicht. Es gehen aber INSERT, CREATE TABE, DELETE und UPDATE ; bin mir ziemlich sicher, dass sich diese an den SQL-92 Standard halten (naja, so gut's geht), jedoch sehr eingeschränkt.

    Ist es nur ein Teilersatz einer DB oder kann es das gleiche und ist nur sehr viel langsamer?

    Nur ein Teilersatz, wenn überhaupt. Das Ding basiert auf Textdateien und hält alle Daten im RAM. Ist also eine Art langsame MainMemory-Database. Grosse Datenbestände sollte man damit lieber nicht verwalten. Ich mag mich noch erinnern, dass ich grosse Schwierigkeiten hatte, Sonderzeichen zu speichern. Die sollte man gleich alle kodieren. Soviel zu meinen Erfahrungen.

    Viele Grüsse

    Philipp