View previous topic :: View next topic |
Author |
Message |
Martux Veteran
Joined: 04 Feb 2005 Posts: 1917
|
Posted: Thu Jun 14, 2007 4:30 pm Post subject: Amarok will SQLite?! |
|
|
Hallo!
Beim heutigen update auf media-sound/amarok-1.4.6_pre20070608-r1
musste ich feststellen, daß unbedingt sqlite mitinstalliert werden will.
Ich habe das -mysql useflag gesetzt, da ich wegen der Sammlung keine eigene Datenbank draufhabe will und jetzt das!
Das Changelog zu Amarok sagt dazu nur folgendes, aus dem ich auch nicht recht schlau werde:
Quote: |
14 Jun 2007; Diego Pettenò <flameeyes@gentoo.org>
+amarok-1.4.6_pre20070608-r1.ebuild, -amarok-1.4.9999.ebuild,
+amarok-1.4.9999-r1.ebuild:
Nowadays sqlite3 should be pretty much stable, so use it external again.
(both 1.4.6 pre-release snapshot and live svn).
|
Kann ich die externe Datenbank denn irgendwie umgehen?
Wenn nein, welche sollte ich nehmen, mysql oder sqlite?
Gruß, Marcus |
|
Back to top |
|
|
xces Guru
Joined: 11 Oct 2002 Posts: 515
|
Posted: Thu Jun 14, 2007 4:37 pm Post subject: |
|
|
Wenn du keinen vollständigen MySQL-Server auf deinem Rechner willst, nimm SQLite. Das hat weniger Overhead und für deine (kleine?) Sammlung keine Nachteile. |
|
Back to top |
|
|
Necoro Veteran
Joined: 18 Dec 2005 Posts: 1912 Location: Germany
|
Posted: Thu Jun 14, 2007 5:18 pm Post subject: |
|
|
Hmm ... und das ChangeLog deutet an, dass es schon immer sqllite benutzt - aber sonst halt eine interne version =) _________________ Inter Deum Et Diabolum Semper Musica Est. |
|
Back to top |
|
|
Martux Veteran
Joined: 04 Feb 2005 Posts: 1917
|
Posted: Thu Jun 14, 2007 5:39 pm Post subject: |
|
|
Fällt diese interne Version dann weg, oder ist das doppelt gemoppelt? |
|
Back to top |
|
|
Necoro Veteran
Joined: 18 Dec 2005 Posts: 1912 Location: Germany
|
Posted: Thu Jun 14, 2007 6:14 pm Post subject: |
|
|
Martux wrote: | Fällt diese interne Version dann weg, oder ist das doppelt gemoppelt? |
ich denke ^^ --- (das andere wäre schon arg unsinnig) _________________ Inter Deum Et Diabolum Semper Musica Est. |
|
Back to top |
|
|
hurra Apprentice
Joined: 11 Apr 2004 Posts: 224
|
Posted: Thu Jun 14, 2007 6:41 pm Post subject: |
|
|
Ja, die interne fällt dann weg. Genauso ists mit dem Http-Proxy für Last-FM, der kommt jetzt auch von extern. |
|
Back to top |
|
|
musv Advocate
Joined: 01 Dec 2002 Posts: 3369 Location: de
|
Posted: Thu Jun 14, 2007 9:08 pm Post subject: |
|
|
Was ist eigentlich der Vorteil von MySQL gegenüber der sqlite?
Hab jetzt mal versucht, nach der Methode:
http://amarok.kde.org/wiki/De:MySQL_HowTo
von sqlite auf MySQL zu migrieren.
Nach einigen Stunden hab ich's irgendwie hinbekommen. Mit dem angegebenen Script bekomm ich nur Fehlermeldungen a lá:
Code: |
ERROR 1071 (42000) at line 1: Specified key was too long; max key length is 999 bytes
|
Bei den Indexen:
Code: | CREATE UNIQUE INDEX lyrics_url ON lyrics( url, deviceid );
CREATE UNIQUE INDEX url_stats ON statistics( deviceid, url );
CREATE UNIQUE INDEX url_tag ON tags( url, deviceid );
CREATE UNIQUE INDEX embed_url ON embed( url, deviceid );
CREATE UNIQUE INDEX directories_dir ON directories( dir, deviceid );
CREATE UNIQUE INDEX labels_name ON labels( name, type );
|
usw. wollte das mysql gar nichts akzeptieren. Bzw. weiß ich nicht, wo ich da noch ansetzen sollte.
Nach Start von Amarok liefs dann soweit. Amarok akzeptiert problemlos die MySQL-Datenbank, brauchte allerdings bei z.B. Nie gespielte Songs zum Einlesen ca. 5-10 mal solange wie mit sqlite.
Hat das schon jemand mal hinbekommen ohne Probleme und signifikante Vorteile festgestellt? |
|
Back to top |
|
|
xces Guru
Joined: 11 Oct 2002 Posts: 515
|
Posted: Thu Jun 14, 2007 9:27 pm Post subject: |
|
|
musv wrote: | Was ist eigentlich der Vorteil von MySQL gegenüber der sqlite? |
MySQL ist ein vollausgewachsenes relationales Datenbanksystem. Das beinhaltet eine ausgereifte Rechteverwaltung, mehr Datentypen, bessere Unterstützung des SQL-Standards, Replikation etc. pp. SQLite hingegen ist dateibasiert mit aufgesetztem SQL und eben nur mit den minimalen Features ausgestattet.
Bei der Nutzung von MySQL könnte sich die Datenbank von Amarok z. B. auf einem anderen Rechner befinden oder mehrere Amarok-Instanzen könnten sich eine Datenbank teilen, das ist bei SQLite nicht möglich.
musv wrote: | Nach Start von Amarok liefs dann soweit. Amarok akzeptiert problemlos die MySQL-Datenbank, brauchte allerdings bei z.B. Nie gespielte Songs zum Einlesen ca. 5-10 mal solange wie mit sqlite. |
Das liegt an den fehlenden Indizes.
musv wrote: | Hat das schon jemand mal hinbekommen ohne Probleme und signifikante Vorteile festgestellt? |
Bei einer Neuinstallation hat die MySQL-Unterstützung von Amarok problemlos funktioniert. Eine Migration von SQLite auf MySQL habe ich allerdings noch nicht durchgemacht. |
|
Back to top |
|
|
musv Advocate
Joined: 01 Dec 2002 Posts: 3369 Location: de
|
Posted: Fri Jun 15, 2007 9:23 am Post subject: |
|
|
Ok, hier dann der Erfahrungsbericht:
Erstmal vorweg: Daß MySQL ein "vollausgewachsenes relationales Datenbanksystem" ist, ist mir bekannt (obwohl mein Datenbankprof da anderer Meinung ist). Ebenso ist auch klar, daß sqlite dateibasiert ist.
Was ich eher wissen wollte, wären die Performancedaten gewesen:
1. Migration von sqlite zu MySQL per sqlite3 .dump
http://amarok.kde.org/wiki/De:MySQL_HowTo
Die zuerst geschilderte Variante (sqlite3 .dump .... | mysql ...) kann man vergessen. Auslesen der Daten aus sqlite funktioniert, Schreiben nach MySQL will gar nicht (siehe Fehlermeldungen im vorherigen Beitrag). In stundenlanger Kleinarbeit kann man die Tabellen mehr oder weniger zuerst die Struktur, dann die Daten rüberschieben. Bei den Indizes (Indexen?) bin ich allerdings komplett gescheitert.
2. Migration von sqlite zu MySQL per Sammlung neu erfassen
MySQL-Datenbank Amarok anlegen mit Nutzer usw., aber Datenbank leer lassen und per Amarok die gesamte Sammlung neu einlesen. Hatte erst Bedenken, daß meine zugeordneten Cover wieder futsch wären und die Zuordnung Verschiedene Interpreten gelöscht wäre, aber welcher Wunder, es funktionierte. Ich weiß nicht, woher sich Amarok die Daten, die eigentlich nur in der sqlite vorhanden sein sollten, geholt hat, aber es wurde alles perfekt beim Erfassen der Sammlung so wiederhergestellt, wie ich es im vorherigen Betrieb mit sqlite eingestellt hatte. Nach dem Einlesen muß/kann man noch die Statistikangaben aus der sqlite-Datenbank in die MySQL-DB migrieren. Dazu nimmt man einfach die sql-Datei vom 1. Versuch, öffnet die mit einem Editor und schmeißt alle Zeilen, die nicht mit "INSERT INTO statistik" beginnen, raus. Dann wie unter obigen Link beschrieben in die MySQL-Datei die Daten übernehmen (kann man auch mit phpmyadmin machen).
3. Performance
Nach rein subjektiver erster Feststellung, sind die Geschwindigkeitsunterschiede beim Einlesen von Playlisten arg gering bzw. fast gar nicht feststellbar. In meiner Playliste befinden sich ca. 12.000 Stücke. Wo es aber spürbare Geschwindigkeitszuwächse gibt, ist beim Laden von Liedtexten, Ändern von ID3-Tags und Hinzufügen von Covern. Mit sqlite hat die Festplatte da immer ganz schön arbeiten müssen, teilweise stockte da auch der Amarok ein bißchen. Mit MySQL sind diese Probleme verschwunden.
Fazit: Wenn man sowieso MySQL installiert und eine größere Anzahl von MP3s in seiner Liste hat, dann lohnt sich MySQL gegenüber sqlite.
Hat jemand schon mal PostgreSQL mit Amarok ausprobiert? |
|
Back to top |
|
|
Fauli l33t
Joined: 24 Apr 2004 Posts: 760 Location: Moers, Germany
|
Posted: Fri Jun 15, 2007 9:57 am Post subject: |
|
|
Welche MySQL-Version benutzt ihr für Amarok?
Ich habe Amarok hier mit MySQL 4.1 laufen, denn als ich Amarok vor ca. einem halbem Jahr von SQLite auf MySQL umgestellt habe, funktionierte es mit MySQL 5.0 einfach nicht richtig. _________________ Do your part to beautify the web! Turn off link underlining! |
|
Back to top |
|
|
SvenFischer Veteran
Joined: 05 Feb 2003 Posts: 1033 Location: Berlin
|
Posted: Fri Jun 15, 2007 10:40 am Post subject: |
|
|
Ich kenne jemanden, der hat ca 46.000 MP3's. Mit SQLite ist dann kaum noch sinnvolles taggen oder suchen möglich, hingegen mit MySQL ist es sehr flott. _________________ Core2Duo, 4GB RAM, AMD/ATI 4850 and nice person in front! |
|
Back to top |
|
|
sirro Veteran
Joined: 20 Jul 2003 Posts: 1472 Location: aachen.nrw.de.eu
|
Posted: Fri Jun 15, 2007 11:07 am Post subject: |
|
|
Bei mir läuft es mit mysql 5 eigentlich problemlos.
sqlite ist einfacher zu sichern, da es AFAIK einfach nur Dateien im Amarok-Verzeichnis sind. Gibt es auch eine Möglichkeit stressfrei von mysql nach sqlite zu wechseln? |
|
Back to top |
|
|
musv Advocate
Joined: 01 Dec 2002 Posts: 3369 Location: de
|
Posted: Fri Jun 15, 2007 11:12 am Post subject: |
|
|
Fauli wrote: | Welche MySQL-Version benutzt ihr für Amarok? |
Code: |
[I] dev-db/mysql
Available versions: [M]3.23.58-r1 4.0.27-r1 4.1.22-r1 [M](~)4.1.23_alpha20070101-r61 5.0.26-r2 (~)5.0.32 (~)5.0.34 5.0.38 5.0.40 5.0.42 {berkdb big-tables cluster debug embedded extraengine innodb latin1 max-idx-128 minimal perl raid readline selinux ssl static tcpd}
Installed versions: 5.0.42(08:46:20 08.06.2007)(berkdb -big-tables -cluster -debug -embedded -extraengine -latin1 -max-idx-128 -minimal perl -selinux ssl -static)
Homepage: http://www.mysql.com/
Description: A fast, multi-threaded, multi-user SQL database server.
[I] virtual/mysql
Available versions: 4.0 4.1 5.0 [M](~)5.1
Installed versions: 5.0(02:16:25 04.03.2007)
Homepage: http://dev.mysql.com
Description: Virtual for MySQL client or database
|
Läuft bisher problemlos. |
|
Back to top |
|
|
hurra Apprentice
Joined: 11 Apr 2004 Posts: 224
|
Posted: Fri Jun 15, 2007 11:19 am Post subject: |
|
|
Man sagt, dass sich ab 10k Tracks der Wechsel von SQlite auf MYSQL/PostgreSQL lohnt.
Und ja, SQLite liegt einfach in der collection.db im amarok-kde-Ordner. Ist also sehr einfach zu sichern.
Um Amarok noch flotter zu machen: Möglichst kleine Playlisten. 12000 Tracks in einer Playlist sind nicht gut. Für sowas gibts bei Amarok dynamische Playlisten. |
|
Back to top |
|
|
|