Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Amarok will SQLite?!
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Martux
Veteran
Veteran


Joined: 04 Feb 2005
Posts: 1917

PostPosted: Thu Jun 14, 2007 4:30 pm    Post subject: Amarok will SQLite?! Reply with quote

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
View user's profile Send private message
xces
Guru
Guru


Joined: 11 Oct 2002
Posts: 515

PostPosted: Thu Jun 14, 2007 4:37 pm    Post subject: Reply with quote

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
View user's profile Send private message
Necoro
Veteran
Veteran


Joined: 18 Dec 2005
Posts: 1912
Location: Germany

PostPosted: Thu Jun 14, 2007 5:18 pm    Post subject: Reply with quote

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
View user's profile Send private message
Martux
Veteran
Veteran


Joined: 04 Feb 2005
Posts: 1917

PostPosted: Thu Jun 14, 2007 5:39 pm    Post subject: Reply with quote

Fällt diese interne Version dann weg, oder ist das doppelt gemoppelt?
Back to top
View user's profile Send private message
Necoro
Veteran
Veteran


Joined: 18 Dec 2005
Posts: 1912
Location: Germany

PostPosted: Thu Jun 14, 2007 6:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
hurra
Apprentice
Apprentice


Joined: 11 Apr 2004
Posts: 224

PostPosted: Thu Jun 14, 2007 6:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3337
Location: de

PostPosted: Thu Jun 14, 2007 9:08 pm    Post subject: Reply with quote

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
View user's profile Send private message
xces
Guru
Guru


Joined: 11 Oct 2002
Posts: 515

PostPosted: Thu Jun 14, 2007 9:27 pm    Post subject: Reply with quote

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
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3337
Location: de

PostPosted: Fri Jun 15, 2007 9:23 am    Post subject: Reply with quote

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
View user's profile Send private message
Fauli
l33t
l33t


Joined: 24 Apr 2004
Posts: 760
Location: Moers, Germany

PostPosted: Fri Jun 15, 2007 9:57 am    Post subject: Reply with quote

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
View user's profile Send private message
SvenFischer
Veteran
Veteran


Joined: 05 Feb 2003
Posts: 1033
Location: Berlin

PostPosted: Fri Jun 15, 2007 10:40 am    Post subject: Reply with quote

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
View user's profile Send private message
sirro
Veteran
Veteran


Joined: 20 Jul 2003
Posts: 1472
Location: aachen.nrw.de.eu

PostPosted: Fri Jun 15, 2007 11:07 am    Post subject: Reply with quote

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
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3337
Location: de

PostPosted: Fri Jun 15, 2007 11:12 am    Post subject: Reply with quote

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
View user's profile Send private message
hurra
Apprentice
Apprentice


Joined: 11 Apr 2004
Posts: 224

PostPosted: Fri Jun 15, 2007 11:19 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum