sonnenblen.de - Das unabhängige Sun User Forum

Software => Datenbanken => Thema gestartet von: tassilo am 17. Januar 2008, 22:34:53

Titel: mysql auf e3500 komplett im ram
Beitrag von: tassilo am 17. Januar 2008, 22:34:53
hallo

ich hab hier eine db die zwar recht klein (max 2mb) ist aber sehr oft (mehrmals pro sekunde) geändert wird (update table ...).
ich denke die platten sind zwar schnell aber könnte man solch eine db nicht kopmplett "im ram" halten ? quasi in einer ramdisk oder so?
wie sollte man das am besten machen.. wirklch als ramdisk (gibts sowas für solaris 10) oder einfay "type=memory" aussuchen ?
und ja es muss mysql sein denn die "clientanwendung" will das so...

grüße

tassilo
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: escimo am 18. Januar 2008, 00:18:05
Es geht eigentlich recht einfach: man stelle die DB-Files in das /tmp-Verzeichnis. Nur wenn dann der Strom mal weg ist, Pech. ;D

Habe ich bei MySQL noch zumindest noch nirgends gelesen. Was sagt google dazu?

Gruß
escimo

Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: tassilo am 18. Januar 2008, 00:38:33
hallo

ist das /tmp verzeichis eine "ramdisk" ?

nett..

jo das mit dem strom weg, daten weg ist der nachteil aber dafür sollte es um einiges schneller sein (imho).

was meinst du mit "habe ich bei mysql noch nicht gelesen" ? was gelesen ? den "memory table" ? da sacht mysql :  MEMORY       Hash based, stored in memory, useful for temporary tables.

grüße und danke

Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: tassilo am 18. Januar 2008, 00:44:13
hallo

hab gleich nochmal geguckt... also :

-bash-3.00# df -h
Dateisystem           Größe belegt verfügbar Kapazität Eingehängt auf
/dev/md/dsk/d0         5,2G   4,1G   1,0G    81%    /
/devices                 0K     0K     0K     0%    /devices
ctfs                     0K     0K     0K     0%    /system/contract
proc                     0K     0K     0K     0%    /proc
mnttab                   0K     0K     0K     0%    /etc/mnttab
swap                   3,4G   1,1M   3,4G     1%    /etc/svc/volatile
objfs                    0K     0K     0K     0%    /system/object
fd                       0K     0K     0K     0%    /dev/fd
swap                   3,4G   648K   3,4G     1%    /tmp
swap                   3,4G    48K   3,4G     1%    /var/run
/dev/dsk/c0t0d0s7      256M   107M   123M    47%    /export/home

das irritiert mich etwas da ich nur 2 gig ram in dem system habe. aber vielleicht versteh ich das nur nicht so richtig (bin ja froh das es überhaupt ein df auf solaris gibt)

grüße
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: Ten Little Indyans am 18. Januar 2008, 08:52:32
-bash-3.00# df -h
Dateisystem           Größe belegt verfügbar Kapazität Eingehängt auf
swap                   3,4G   648K   3,4G     1%    /tmp

das irritiert mich etwas da ich nur 2 gig ram in dem system habe. aber vielleicht versteh ich das nur nicht so richtig (bin ja froh das es überhaupt ein df auf solaris gibt)

Da zählt die Swap-Partition auf der Platte mit dazu! Wenn Du also in /tmp mehr reinschreibst als Du noch freien physikalischen Speicher hast dann landet es sowieso auf der Platte.
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: Toktar am 18. Januar 2008, 09:35:26
Gibt es unter Solaris kein tmpfs?

Ich hab grad keine Kiste hier, um das zu testen, aber unter Linux ist das recht einfach.

Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: escimo am 18. Januar 2008, 11:46:38
was meinst du mit "habe ich bei mysql noch nicht gelesen" ? was gelesen ? den "memory table" ? da sacht mysql :  MEMORY       Hash based, stored in memory, useful for temporary tables.
Haha. Ehrlich, das habe ich bis jetzt noch nicht probiert. Da gibt es schon so einige Sachen, die wirklich interessant sind, wie z.B. MySQL-Cluster. ::)

Gibt es unter Solaris kein tmpfs?
Das will ich nicht meinen. Solaris hat mit /tmp auch ein tmpfs. Suche auf Google mal nach "solaris tmpfs" ;)
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: meti am 19. Januar 2008, 10:23:20
Da fällt mir eine mögliche Lösung ein (ob das schon mal jemand probiert hat?):

Ein Software-Raid 1 aufsetzen, bei dem ein Teil als Ramdisk ausgeführt und der andere Teil auf einer Festplatte oder ähnlichem liegt.
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: Toktar am 19. Januar 2008, 17:27:40
Da fällt mir eine mögliche Lösung ein (ob das schon mal jemand probiert hat?):

Ein Software-Raid 1 aufsetzen, bei dem ein Teil als Ramdisk ausgeführt und der andere Teil auf einer Festplatte oder ähnlichem liegt.

Um dann wieder den Vorteil des schnellen Ram aufzugeben?

Bei Oracle fallen mir Lösungen ein, die Daten zu retten. Mysql kenne ich nicht so gut.
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: tassilo am 25. Januar 2008, 22:40:49
hmm scheint eigentlich recht gut zu funken.

tassilo
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: escimo am 26. Januar 2008, 15:20:25
Was, wie, hä?  Ich komme gerade net mit. Was funktioniert jetzt gut? ???
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: tassilo am 28. Januar 2008, 21:33:15
die geschichte mit /tmp
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: escimo am 29. Januar 2008, 13:28:34
Was passiert wenn du das System ausschaltest? ::)
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: tassilo am 29. Januar 2008, 14:47:04
hallo

dann ist es aus und plötzlich ganz leise im raum :)

grüße

tassilo
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: tassilo am 29. Januar 2008, 14:53:26
hi

ok man könnte meine letzte antwort missverstehen also nochmal :

ich denke du willst darauf hinaus das das ganze nur im ram liegt und dadurch z.b. bei einem stromausfall einfach weg ist.
und ja das stimmt. allerdings ist mir der "gewinn" das  "risiko" (hier war der letzte stromausfall *vor* meiner zeit und ich bin nun schon seit 8 jahren hier) wert. vor allem kann man das ganze ja noch per ups etc abfangen. alle stunde ein kleinen dump der db und gut. das dauert nicht mal ne sekunde bis die 2 mb geschrieben sind und im worst case sind nur die daten von einer stunde futsch was zu verkraften ist.

grüße

tassilo
Titel: Re: mysql auf e3500 komplett im ram
Beitrag von: tassilo am 30. Oktober 2008, 16:09:41
Hallo

kleiner nachtrag zu dem thema...

heap bringt in dem bereich keinen vorteil gegenüber innodb. beides bleibt mehr oder minder komplett im ram, mit dem vorteil das bei innodb der aufwand einer "wiederherstellung" kleiner ist.

grüße

tassilo