Wikipedia:Technik/Datenbank/Download

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 15. Mai 2008 um 18:21 Uhr durch 78.49.191.140 (Diskussion) (WikiTaxi: New version number and new URL (www.wikitaxi.org).). Sie kann sich erheblich von der aktuellen Version unterscheiden.


Über Wikipedia

Die Wikipedia kann nicht nur online gelesen werden, es besteht auch die Möglichkeit, sich die Wikipedia komplett auf den eigenen Rechner herunter zu laden, um offline darin zu lesen. Voraussetzung ist ein installiertes MediaWiki, die PHP-Software, die Wikipedia nutzt. Das Ganze ist allerdings ziemlich kompliziert, also eher etwas für fortgeschrittene Benutzer.

Daher empfiehlt sich zum einfachen Offline-Lesen der deutschen Wikipedia die DVD-Version, welche es auch zum freien Download gibt, oder die offline HTML-Version der Wikipedia ohne Bilder mit dem Stand vom Februar 2008. Wesentlich kompakter, aber ebenfalls denkbar einfach, lassen sich die aktuellen Datenbank-Snapshots mit WikiTaxi offline lesen und durchsuchen.

Im August 2007 wurde eine Offline-Version auf Mobipocket (WPMP)-Basis (ohne Bilder) veröffentlicht.

Es ist auch möglich, die Wikipedia im TomeRaider 3-Format offline zu nutzen. Bei der Testversion von TomeRaider 3 wird jeder fünfte Wikipedia-Artikel nicht angezeigt. Die aktuelle Version ohne Bilder ist vom 27. Juli 2007.

Hier eine ausführliche Anleitung für Windows-Nutzer ohne jedes Vorwissen für die XML-Version - vom blanken Desktop bis zur fertigen Wikipedia (man benötigt einen Internetanschluss an dem Computer, an dem man die Offline-Wikipedia installieren möchte, oder transportiert die Daten per USB-Stick oder CD auf den Offline-Rechner).

Herunterladen aller Seiten als XML-Dump

Die gewünschten Datensätze herunterladen von

Import in MySQL

Der Import der XML-Daten kann entweder über das langsame PHP-Skript importDump.php der MediaWiki-Software erfolgen, oder über das etwas schneller arbeitende Java-Paket MWDumper [1]. Dieses benötigt eine funktionierende Java-Installation. Der Import erfolgt dann mit folgendem Befehl:

java -jar mwdumper.jar --format=sql:1.5 pages_meta_current.xml.bz2 | mysql -u <username> -p<password> <databasename>

Es ist wichtig, dass die Datenbanktabellen bis auf site_stats, user, user_groups und interwiki vollständig leer sind (TRUNCATE TABLE...), da sonst der Import fehlschlagen kann. Sollte ein Fehler auftreten, wird MWDumper dennoch weiter fröhlich das XML in SQL konvertieren, aber der mySQL-Server importiert nicht mehr. In diesem Fall prüfen, ob wirklich alle Tabellen leer sind und von vorn beginnen.

Damit hat man die Artikelseiten in die Datenbank importiert und kann im Wiki lesen.

Linktabellen bauen

Für viele interessante Datenbankabfragen sind Informationen darüber notwendig, welcher Artikel auf welche anderen Ressourcen verlinkt. Die Selbsterstellung dieser Linktabellen ist allerdings ein zeitaufwändiger Prozess.

php refreshlinks.php

In seiner gegenwärtigen Fassung ist dieses Skript ein riesiges Memory-Leak. Sobald der Rechner wegen Speichermangels auf die Auslagerungsdatei zurückgreifen muss, geht die ohnehin schon niedrige Performance des Skripts immer rascher gegen Null. Die Linktabelle sollte daher abschnittsweise erstellt werden, indem das Skript zwischendrin abgebrochen wird, man sich die letzte Position merkt und folgendermaßen wieder startet:

php refreshlinks.php -- 228600

Auf diese Weise wird der unnötigerweise verbrauchte Speicher wieder freigegeben und die Erstellung der Linktabelle bei Artikel Nr. 228600 fortgesetzt.

Optional: Textindex
Wenn man Volltextsuchen durchführen möchte, muss ein Textindex erzeugt werden. Dies geschieht über

php rebuildtextindex.php

Wikipedia selbst arbeitet übrigens nicht mit dieser relativ langsamen MySQL-basierten Suche, sondern verwendet Apache Lucene.

Optional: Recentchanges aktualisieren
Wenn man wissen möchte, bis zu welcher Uhrzeit der installierte Datenbank-Dump reicht, kann man kurz

php rebuildrecentchanges.php

sagen, um die Seite "Letzte Änderungen" zu aktualisieren.

Optional: Artikelanzahl neu berechnen
Die Anzahl der im Wiki vorhandenen Artikel und einige andere Zahlen können mit initStats.php neu berechnet werden:

php initStats.php

Ein Wort zur Hardware

Die Wikipedia-Datenbank stellt mittlerweile recht hohe Ansprüche an leistungsfähige Hardware. Zur besseren Einschätzung daher einige Erfahrungen aus der Praxis: Wenn man nur lesen möchte, genügt ein Rechner der 1-GHz-Klasse mit wenig RAM. Für anspruchsvollere Aufgaben wie Wartungsseiten, SQL-Abfragen, selbst gebaute Linktabellen oder den Import der old-Tabelle sollte man aber eine bessere Hardware zur Verfügung stellen: 1 GB RAM oder mehr und ein möglichst schneller Prozessor mit mehr als 3 GHz oder Multicore-Prozessoren sind sehr sinnvoll, ebenso wie schnelle Festplatten (am besten als RAID). Die Tabellen sollten im MySQL-Server möglichst als InnoDB abgelegt sein, damit die Performance besser wird (allerdings auf Kosten des Speicherverbrauchs). Anmerkung von Benutzer:Echoray: Diese Faustregel basiert noch auf Erfahrung mit der alten MediaWiki-Software 1.3 und MySQL 4.0. Mit MyISAM performten die Linktabellen einfach nicht. Ich habe den Verdacht, dass der Rückgriff auf den Filesystem-Cache des Betriebssystems einfach nicht so optimal ist wie der dedizierte Cache, den InnoDB bietet. Das kann mit neuerer Software inzwischen anders sein. Jemand könnte das mal benchmarken...

Herunterladen einzelner Seiten

Unter Spezial:Export kann man sich einzelne oder mehrere Seiten in XML herunterladen.

WikiTaxi

Name: WikiTaxi
Anbieter: Ralf Junker
Typ: Offline-Reader
Systeme: Microsoft Windows: Win32, Win2k, WinXP, Vista, Window 2003, etc.
Software: WikiTaxi
Version: 1.0.1
Download: WikiTaxi
Website: WikiTaxi
Beschreibung: WikiTaxi ist ein portabler Offline-Reader für Wikipedia, Wiktionary, Wikiquote, auch in unterschiedlichen Sprachen. Dazu benutzt es die original und vollständigen Texte im Wiki Format, die als Datenbankdump heruntergeladen und in eine WikiTaxi Datenbank importiert werden. So ist WikiTaxi brandaktuell und leicht auf dem neuesten Stand zu halten. Nach dem Import funktioniert WikiTaxi wie ein HTML-Browser. Artikelsuche ist volltext über Seitennamen möglich. Da WikiTaxi ohne Installation auskommt, läuft es auch von USB-Sticks, DVDs, externen Festplatten, und Speicherkarten. Sehr performant, auch mit riesigen englischen Wikipedia.
Screenshot: [[Datei: |200px|{{{Screenshot-Beschreibung}}}]]