phpbar.de logo

Mailinglisten-Archive

[php] [Gesucht] performante filedb für viele daten

[php] [Gesucht] performante filedb für viele daten

Enrico Weigelt weigelt at metux.de
Sam Mai 8 15:56:14 CEST 2004


* Dario Nuevo <php at xbe.ch> schrieb:

<snip>
> ich bin auf der suche nach einem engine (eine klasse oder script) 
> welches grosse mengen text verwalten kann. mein problem ist, dass mysql 
> mit einer merged table von 100mb seine performance-probleme hat 
Schonmal mit postgresql versucht ? 
Indices richtig gesetzt ?

> (wenigstens auf meinem lahmen server) und nun suche ich nach 
Welche Hardware ?
Welches OS ?

<snip>
> möglichkeiten, um die grossen inhalte in files auszulagern wo sie ev. 
> schneller gelesen werden können.
Wiso sollte das schneller gehen, wenn Du evtl. mit jedem request das 
File neu aufmachst und vielleicht auch keinen sinnvollen Cache hast ?

> dazu bräuchte ich z.b. eine klasse welche die texte verwaltet und man 
> einzelne "datensätze" anfordern kann - und die daten sollten 
> durchsuchbar sein. das ist das eben die zentrale frage. wenn ich die 
> daten in files auslagere, wie kann ich sie durchsuchbar halten?
Index drüberlegen. 
htdig ist Dein Freund :)

Etwas ähnliches gibt es auch für postgreSQL. Der "Trick" besteht 
halt darin, daß man alle Wörter in den Texten indiziert (also eine 
Map Wort<->Text baut) und das Suchmuster auch in Wörter zerlegt und dann 
erstmal die passenden Wörter aus dem Dictionary raussucht, um dann danach
in ersterer map Suchen zu können.

<snip>
> ich habe bereits im web nach indexer gesucht, jedoch nichts wirklich 
> schlaues gefunden. viele benötigen binaries (kann ich schlecht in die 
> applikation nehmen) oder sind anscheinend zu langsam bei grösseren 
> datenmengen. meine 100mb gehen jetzt ja noch aber es kann schnell 
> wesentlich mehr werden und mysql hält da nicht mit, wohl wegen meiner 
> alten ide-harddisk ;)
Vielleicht kannst Du der box auch etwas mehr Ram geben und die sort 
bufffers grösser machen.

Aber wahrscheinlich liegt Dein Problem eher darin, daß Du bisher keinen
brauchbaren Index verwendet hast, sondern einfach nur mittels 
pattern-matching direkt in der Textmenge gesucht hast, was natürlich
auf einen sehr teuren sequentiellen Scan hinausläuft.

<snip>
> ps: ja, ich habe indexes definiert in der mysql table ;-)
Und wie sieht Deine Query aus ?
Ich vermute mal, daß in Deinem Fall keiner der gebotenen keytypes
greifen kann :)


cu
-- 
---------------------------------------------------------------------
 Enrico Weigelt    ==   metux IT service

  phone:     +49 36207 519931         www:       http://www.metux.de/
  fax:       +49 36207 519932         email:     contact at metux.de
  cellphone: +49 174 7066481
---------------------------------------------------------------------
 -- DSL ab 0 Euro. -- statische IP -- UUCP -- Hosting -- Webshops --
---------------------------------------------------------------------

php::bar PHP Wiki   -   Listenarchive