Sinnvoll: Sessiontabelle mit Memory Engine?

Sinnvoll: Sessiontabelle mit Memory Engine?

am 12.03.2007 11:45:15 von Christian Franzen

Hi!

Ist es sinnvoll, Tabellen, die nur "flüchtige" Daten enthalten, mit
Memory-Engine zu betreiben. Das verlangsamt zwar die Zugriffszeit, was bei
hochfrequenten Daten wie etwa Session-Daten durchaus bemerkbar wird, aber
irgendwann bekomm ich doch das Problem das der Speicher voll ist und dann
verlangsamt die eine Tabelle die Abfragen von allen anderen negativ. Oder
hat MySQL dahingehend Auslagerungsstrategien, so dass man bestimmen kann,
dass die Tabelle nur eine bestimmte Größe erreicht und danach die Daten nach
einer bestimmten Strategie (FiFo, LFU,...) auf der Festplatte ausgelagert
werden?

mfg Xion

Re: Sinnvoll: Sessiontabelle mit Memory Engine?

am 12.03.2007 13:01:22 von Axel Schwenke

"Christian Franzen" wrote:
>
> Ist es sinnvoll, Tabellen, die nur "flüchtige" Daten enthalten, mit
> Memory-Engine zu betreiben.

Ja. Noch sinnvoller ist die Verwendung spezieller Session-Speicher
wie z.B. msession.

> Das verlangsamt zwar die Zugriffszeit, was bei
~~~~~~~~~~~ Häh?
> hochfrequenten Daten wie etwa Session-Daten durchaus bemerkbar wird, aber
> irgendwann bekomm ich doch das Problem das der Speicher voll ist und dann
> verlangsamt die eine Tabelle die Abfragen von allen anderen negativ. Oder
> hat MySQL dahingehend Auslagerungsstrategien

Lies doch einfach mal die *eine* Seite im Handbuch:
http://dev.mysql.com/doc/refman/5.0/en/memory-storage-engine .html


XL

Re: Sinnvoll: Sessiontabelle mit Memory Engine?

am 12.03.2007 16:47:12 von Christian Franzen

>> Das verlangsamt zwar die Zugriffszeit, was bei
> ~~~~~~~~~~~ Häh?

ups, ich meinte natürlich beschleunigt!

>> hochfrequenten Daten wie etwa Session-Daten durchaus bemerkbar wird, aber
>> irgendwann bekomm ich doch das Problem das der Speicher voll ist und dann
>> verlangsamt die eine Tabelle die Abfragen von allen anderen negativ. Oder
>> hat MySQL dahingehend Auslagerungsstrategien
>
> Lies doch einfach mal die *eine* Seite im Handbuch:
> http://dev.mysql.com/doc/refman/5.0/en/memory-storage-engine .html

Die Seite hab ich schon gelesen

mfg Xion

Re: Sinnvoll: Sessiontabelle mit Memory Engine?

am 12.03.2007 16:57:45 von Christian Franzen

> Die Seite hab ich schon gelesen

Ups, offensichtlich nicht gründlich genung. Hab es gearde gesehen. Danke!

mfg Xion

Re: Sinnvoll: Sessiontabelle mit Memory Engine?

am 13.03.2007 10:49:43 von joachim.zobel

On 12 Mrz., 11:45, "Christian Franzen" aachen.de> wrote:
> Ist es sinnvoll, Tabellen, die nur "flüchtige" Daten enthalten, mit
> Memory-Engine zu betreiben.

Du solltest bedenken, das Du dann keinen Neustart mehr machen kannst,
ohne Datenverluste bei Usern zu verursachen.

Gruß,
Joachim

Re: Sinnvoll: Sessiontabelle mit Memory Engine?

am 13.03.2007 11:32:28 von Christian Franzen

>Du solltest bedenken, das Du dann keinen Neustart mehr machen kannst,
>ohne Datenverluste bei Usern zu verursachen.

>Gruß,
>Joachim

Das müsste bei einer Sessiontabelle eigentlich egal sein. Wenn ich den
Datenbank Server neustartet kann die Seite eh nicht mehr genutzt werden.
Dann können sich die User auch einfach neu einloggen und bekommen dann einen
neue Session.

mfg Xion

Re: Sinnvoll: Sessiontabelle mit Memory Engine?

am 13.03.2007 16:09:00 von joachim.zobel

On 13 Mrz., 11:32, "Christian Franzen" aachen.de> wrote:
> >Du solltest bedenken, das Du dann keinen Neustart mehr machen kannst,
> >ohne Datenverluste bei Usern zu verursachen.
>
> Das müsste bei einer Sessiontabelle eigentlich egal sein. Wenn ich den
> Datenbank Server neustartet kann die Seite eh nicht mehr genutzt werden.
> Dann können sich die User auch einfach neu einloggen und bekommen dann =
einen
> neue Session.

Das kommt drauf an. Wenn Entwickler den Warenkorb in der Session
untergebracht haben, kann man den Umsatzverlust eines Neustarts direkt
messen. Dasselbe gilt, wenn der Server durch den Neustart die
Sessionids vergisst

Ansonsten kann man ggfs. den Datenbankserver neustarten und nach 1-2
Minuten können alle ihre Einkäufe oder was auch immer fortsetzen.

Gruß,
Joachim