PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Riesen Mysql/Oracle Frage



BluePeer
01-09-2006, 10:58
Hi Leute

Ich hab mal ne frage
Unzwar habe ich eine neue aufgabe für mich gefunden ^^
Ich möchte mir eine datenbank anlegen die aus 1 tabelle und 2 spalten bestelt
beides text eine 32 zeichen lang (immer 32) und eine variabel von 1-20 stellen

Das ganze wird ungefähr 11324620800000000000000000000 einträge in der endphase haben

am Tag werden ca 50-70 Mio einträge hinzu kommen
Jetzt meine frage
Wie skalire ich das am besten mit mysql

Hardware: Blade center 7x 2,4GHZ Intel 1GB ram 2x40GB hdd

Ist es sinvoller 7xlinux und 7xmysql zu installen und die inserts über ein script zu verteilen oder wie könnte man das am besten löse ?

Es kommen später noch weitere blades hinzu nur zum start werden erstmal nur 7 verwendet

ein wichtiger faktor ist eine halbwechs akzeptable suchzeit
1-60 sekunden (system wird nur von personen verwendet keine script suchen) gibt ca 100-500 anfragen pro tag

verwenden wolte ich eine standart mysql db mit standart tabelle (myisam oder wie das hieß) mit standart index (wenn dies bezüglich verbesserungen eurer seits kommen auch gerne)

MfG
BluePeer

Christoph
01-09-2006, 11:46
Wenn Deine Tabelle nur aus zwei Spalten besteht (vermutlich Index, Wert), dann nimm keine Datenbank, sondern eine indizierte Datei. Allerdings musst Du dann ggf. irgendein Transaktionsmanagement selber programmieren.

BluePeer
01-09-2006, 11:54
hm mit datein arbeiten hm
Meinste nicht das es bei der datenmenge nicht ein bisl extrem langsam wird ?

Christoph
01-09-2006, 12:58
hm mit datein arbeiten hm
Meinste nicht das es bei der datenmenge nicht ein bisl extrem langsam wird ?
Vorteile einer Datenbank gegenüber Dateien wären:
- relationale Datenstruktur
- Netzwerkzugriff über eigenes Protokoll
- Transaktionsmanagement (Achtung: bei MySQL defaultmäßig abgeschaltet bzw. noch experimentell!) für sicheren Mehrbenutzerbetrieb (z.B parallele Schreibzugriffe)
- Sicherheit gegen Stromausfall (Achtung: bei MySQL defaultmäßig nicht gegeben!)

Wenn nur über einen Index auf Daten zugegriffen wird, sind Dateien schneller. Natürlich darf nicht sequentiell die datei durchsucht werden, sondern Du mußt eine ISAM Datei oder vergleichbares benutzen.

BluePeer
01-09-2006, 17:44
Ok mit isam KP ^^
Also das wäre mir dann doch wieder etwas viel lern arbeit
Bleiben wir da lieber bei den datenbank systemen

aber trotzdem danke für den tip für andere sachen werd ich mir das mal vormerken

so wichtig ist das jetzt aber nicht das ich dafür extra etwas neues lernen *möchte*

Greez
Blue

RHBaum
07-09-2006, 12:35
11324620800000000000000000000 ^^

32+20 (unguensitgster Fall) = 52 byte kein verwaltungsoverhaed gerechnet ^^

52 * 11324620800000000000000000000 = 588880281600000000000000000000 Byte = 548437500000000000000 GByte

548437500000000000000 / 320 = 1713867187500000000 Festplatten die man dafuer brauchte ^^

1713867187500000000 / 7 (ohne beruecksichtung von BS und overhaed) ~ 244838169642857143 Festplatten pro cluster ^^

Nur fuer die reinen daten.
In dem moment wo Du da auf create Index drueckst, explodiert wahrscheinlich dann das Universum ^^

Ich glaub ned dass du sowas mit Mysql loesen woelltest ^^

Im ernst, schaetz mal genauer deinen wirklichen datenbestand ab ....
Dann sag auf was es dir ankommt, performance oder Datensicherheit ....

Ich denk mal performancetechnisch wuerde ich auch von der DB weggehen und nen file nehmen .... die DBs machen nix anderes, nur hasst da den overhaed ned bei ....

Ciao ...

cplinux
17-09-2006, 17:49
Wie wäre es mit einem mySQL-Cluster? :cool:
Eine einzige Tabelle mit 2 Spalten bei derart viel Datensätzen, da sollte man vielleicht "ältere" Datensätze auslagern.
Ich gehe mal davon aus, dass hier auch Auswertungen gefahren werden?
Mit indizierten Dateien wird es hier bei der Datenmenge aber auch recht langsam - meine Meinung.

Waxolunist
25-09-2006, 09:45
Ich würde die rechte Spalte in Cluster (Gruppen) unterteilen. Sagen wir mal die Tabelle wo das erste Zeichen zwischen 0 und 8 liegt usw.

So kannst du die Tabellen kleiner halten.

Auf alle Fälle würde ich die Daten anders organisieren.

Tuxist
03-10-2006, 19:39
schon mal an postgresql gedacht ? :)

Turbohummel
03-10-2006, 19:56
PostGre kann das Universum darstellen, genau.