Welche Datenbank für Wahrenverzeichnis

kab

Member
Hallo zusammen, ich möchte demnächst anfangen PHP zu lernen und habe auch schon ein konkretes Projekt. Ich möchte ein Datenbank basiertes Wahrenverzeichnis mit Webfrontend entwickeln. Nun frage ich mich:
1. Welche Datenbank am geeignetsten ist? Was eventuell Probleme bereiten könnte ist die Volltextsuche für den Produktebeschreib und dessen Tempo.
2. Mit was für Hardwareanforderungen muss ich so rechnen wenn mehr als 100'000 Produkt einträge gemacht sind?

Als Betriebsystem möchte ich FreeBSD benutzen. (Oder Linux).
 
1. Welche Datenbank am geeignetsten ist? Was eventuell Probleme bereiten könnte ist die Volltextsuche für den Produktebeschreib und dessen Tempo.
Das ist in erster Linie wohl eine Glaubensfrage. Du kannst sowohl MySQL als auch PostgreSQL hernehmen.
Die Vorteile bei MySQL sind sicherlich, dass gerade was PHP betrifft sich endlos Ressourcen im Netz finden lassen. Seit der Version 4 nähert MySQL sich auch langsam featuretechnisch an "richtige" Datenbanksystem an.
PostgreSQL hat verglichen mit MySQL allerdings noch ein paar mehr nette Features, wie z.B. Trigger und Stored Procedures. Ob dir diese Features den meiner Meinung nach höheren Administrationsaufwand von PostgreSQL wert sind, musst du wohl selber entscheiden.
2. Mit was für Hardwareanforderungen muss ich so rechnen wenn mehr als 100'000 Produkt einträge gemacht sind?
Die Anzahl der Datensätze ist nicht das einzige Kriterium für die Performance. Es kommt ungemein auf die Struktur der gesamten Datenbank an, also ob die Daten zum Beispiel über 200 Tabellen oder nur 2 verteilt sind und so Sachen. Ein IMHO viel wichtigeres Kriterium ist die Anzahl der simultanen Zugriffe. Wenn 4000 Leute gleichzeitig auf die Datenbank zugreifen, sollte die Hardware natürlich schon entsprechend dimensioniert sein.
Bei Datenbanken gilt allgemein: die Planung der Abfragen und Strukturierung der Daten ist extrem wichtig. Ansonsten, RAM und CPU-Power kann man nie genug haben ;)

Gruß
 
> 1. Welche Datenbank am geeignetsten ist? Was eventuell
> Probleme bereiten könnte ist die Volltextsuche für den
> Produktebeschreib und dessen Tempo.
Also, Suchen nach Texten bzw. Worten sind generell ein Problem
in Datenbanken.
Erfahrungen habe ich bislang nur mit MySQL.
Dazu kann ich Dir sagen, daß die Volltextsuche ab ca. 2 Gigabyte Datenvolumen bei gleichzeitigen (!) Schreiboperationen massiv
einbricht.
MySQL skaliert ohnehin bei vielen gleichzeitigen Schreibprozesse nicht mehr richtig.
Wenn Du aber vor allem Lesevorgänge hast (was ich bei Deiner Beschreibung vermute), ist MySQL top.

> 2. Mit was für Hardwareanforderungen muss ich so rechnen
> wenn mehr als 100'000 Produkt einträge gemacht sind?
Öhm, das kann man nicht pauschal sagen.
Es hängt weniger von der Anzahl der Datensätze als vielmehr von der Optimierung der Queries und Indizes ab.
Mit einer schlechten Datenbankstruktur kann man jeden Server in die Knie zwingen.

Ich persönlich würde Dir für den Anfang MySQL empfehlen.
Weil es einfacher zu erlernen ist und ein Umstieg von MySQL auf
PostgreSQL nach meiner Erfahrung ohne größere Probleme möglich ist.
(Wobei letzteres von der Qualität der Applikation abhängig ist,
aber da ja heute ohnehin alle objektorientiert programmieren und
Datenbankwrapper benutzen, sollte das auch nich so das Problem darstellen)

Hoffend, geholfen zu haben

Der Indy
 
Um konkreter zu werden. Ich möchte ein kleines Verzeichnis für die Firmen der umligenden Gemeinden erstellen. Firmen die etwas Produzieren sollen die Möglichkeit haben ihre Produkte mit Kurzbeschreib und eventuell Foto in die Datenbank einzutragen. Die Kunden können befohr sie etwas kaufen mit hilfe der Volltextsuche nachschlagen ob und welche Firmen in der Region die gewünschten Produkte feilbieten. Dadurch soll der Umsatz der einheimischen Wirtschaft eventuell gesteigert werden. Viele Kunden wissen manchmal erst gar nich das es einheimische Brillen oder Skipoduzenten gibt.

Dies ist nur so eine Idee von mir aber ich möchte testen ob dieses Konzept, im kleinen Ramen, funktioniert. Später möchte ich noch Funktionen wie, "wer ist der nächste Lieferant" oder Ratings für Prdukte und eventuell ein Forum einbauen.

mfg kab

PS: Vielen dank für die Antworten
 
Stell Dir ne AS/400 hin die Du billig bei ebay bekommst. Bestens dazu geeignet.
 
Wir haben hier noch ne AS/1000 stehen mit defektem Prozessor... aber die verkaufen wir nicht. :D

Auf Alpha's sollte doch mittlerweile so ziemlich alles Linux/Unix zum laufen zu kriegen sein, oder?
 
Original geschrieben von Kathse
@asg:

Die muss aber auch erst mal einer bedienen können ;-)

Hehe, ok, ich gebe zu, meine Aussage war unqualifiziert und am Thema vorbei. Die ganzen Redbooks möchte wohl kaum einer lesen...
 
Zurück
Oben