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:38:51 CEST 2004


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

<snip>
> ja, die hab ich angeschaut.. auch hier ist das problem die 
> abhängigkeiten (siehe andere antwort) - es müsste etwas natives sein, 
> also php only..
Das wird immer langsam. 
Scriptsprachen sind gut für high-level-Anweisungen, wie das Ansteuern
von Interpreter-Extensions/C-Library-Bindings, aber nicht wirklich
für Datenbank-Maschinen.

Ich verwende selbst in einigen Projekten von php geparste Textfile-DBs,
aber dann nur für _kleine_ und konstante bzw. nur manuell gepflegte 
Datenbestände wie Menus oder andere Teile meines Website-Baukasten.

Meinetwegen kann ich Dir den Code ja mal schicken - ist nicht 
besonders wild.

Wenn noch jemand mitmacht, dann würde ich auch gern eine kleine lib
mit verschiedenen datasource-loadern veröffentlichen - dort wäre
auch der von mir kürzlich angesprochene XML-Loader für Artikel 
mit dabei ...

> ich hab prinzipiell auch schon ein konzept um das umzusetzen.. wär ein 
> geniales projekt, aber braucht wohl viel development zeit ;(
> -> wir alle kennen doch `fortune`, das tool welches uns bei jedem 
> shell-login mit einem quote begrüsst. es arbeitet mit riesigen textfiles 
> und hat byte-positionen in einem index.. so öffnet man das file, springt 
> mit fseek() zur position und liest dort aus - soweit wär das problem 
> gelöst, die daten abzulegen und abzufragen - aber die suchfunktion fehlt 
> ;-( wenn ich den soeben erwähnten teil erstellen würd, bräucht ich noch 
> einen text indexer, wortbasiert..

Was spricht denn gegen berkeley-db ? 
Dort wird ja u.A. auch genau das implementiert. Sendmail verwendet z.b. 
auch Teile davon: dort kannst Du z.b. Deine maps als Textfile schreiben 
und dann mittels kleinem Tool einen Index dazu anlegen bzw. eine andere 
Form von mapfile compilieren lassen (man makemap)

Vielleicht wäre das auch eine Lösung für Dein Problem. 
Es gibt für php auch schon lang eine berkeley-db-extesion:

http://de.php.net/manual/de/ref.dba.php


BTW: gibts eigentlich in PHP auch sowas wie tie() in perl ?
(damit kann man einen hash an einen externen handler binden, der 
z.b. dann alle Zugriffe über eine DB abwickelt ...)


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