mySQL et fichier de log tournant

Le
Kevin Denis
Bonjour,

sous mySQL 5, est il possible d'utiliser un fichier de log tournant d'une
taille fixe?

i.e. que mon fichier .MYD fasse une taille donnée et lorsque la taille
est atteinte, les nouveaux enregistrements écrasent les plus anciens.

L'idée derrière est de pouvoir coller l'ensemble de ma base en RAM
afin d'avoir des perfs I/O excellentes. Ce sont juste des
enregistrements successifs qui s'ajoutent (pas de modifs de données
existantes). Et je n'ai besoin de faire des requêtes que sur les
derniers enregistrements, donc une quantité limitée n'est pas génante.

Merci
--
Kevin
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ph. B.
Le #22726001
Kevin Denis a écrit :
Bonjour,

sous mySQL 5, est il possible d'utiliser un fichier de log tournant d'une
taille fixe?

i.e. que mon fichier .MYD fasse une taille donnée et lorsque la taille
est atteinte, les nouveaux enregistrements écrasent les plus anciens.

L'idée derrière est de pouvoir coller l'ensemble de ma base en RAM
afin d'avoir des perfs I/O excellentes. Ce sont juste des
enregistrements successifs qui s'ajoutent (pas de modifs de données
existantes). Et je n'ai besoin de faire des requêtes que sur les
derniers enregistrements, donc une quantité limitée n'est pas génante.

Merci



Bonjour,

cf. la doc ici :
http://dev.mysql.com/doc/refman/5.0/fr/log-file-maintenance.html

--
Philippe.
Kevin Denis
Le #22728791
Le 27-10-2010, Ph. B.
sous mySQL 5, est il possible d'utiliser un fichier de log tournant d'une
taille fixe?





Je me suis sans doute mal exprimé, il s'agit bien d'un fichier de data.

i.e. que mon fichier .MYD fasse une taille donnée et lorsque la taille
est atteinte, les nouveaux enregistrements écrasent les plus anciens.

L'idée derrière est de pouvoir coller l'ensemble de ma base en RAM
afin d'avoir des perfs I/O excellentes. Ce sont juste des
enregistrements successifs qui s'ajoutent (pas de modifs de données
existantes). Et je n'ai besoin de faire des requêtes que sur les
derniers enregistrements, donc une quantité limitée n'est pas génante.



cf. la doc ici :
http://dev.mysql.com/doc/refman/5.0/fr/log-file-maintenance.html



Pour le log interne de mySQL, mais pour les fichiers de données?
--
Kevin
Jean-Max Reymond
Le #22728981
Le 28/10/2010 12:01, Kevin Denis a écrit :
Le 27-10-2010, Ph. B.
sous mySQL 5, est il possible d'utiliser un fichier de log tournant d'une
taille fixe?





Je me suis sans doute mal exprimé, il s'agit bien d'un fichier de data.



sans doute du partitionnement de table comme sait le faire Postgres:
http://docs.postgresqlfr.org/9.0/ddl-partitioning.html
je ne pense pas que ça soit possible avec Mysql

--
Jean-Max Reymond
Éruption de l'Etna: http://jmreymond.free.fr/Etna2002
Sebastien Lardiere
Le #22729591
On 10/27/2010 05:45 PM, Kevin Denis wrote:
Bonjour,

sous mySQL 5, est il possible d'utiliser un fichier de log tournant d'une
taille fixe?

i.e. que mon fichier .MYD fasse une taille donnée et lorsque la taille
est atteinte, les nouveaux enregistrements écrasent les plus anciens.

L'idée derrière est de pouvoir coller l'ensemble de ma base en RAM
afin d'avoir des perfs I/O excellentes. Ce sont juste des
enregistrements successifs qui s'ajoutent (pas de modifs de données
existantes). Et je n'ai besoin de faire des requêtes que sur les
derniers enregistrements, donc une quantité limitée n'est pas génante.

Merci




Comme une base RRD, mais dans MySQL, en quelque sorte ?

J'ai trouvé ça, ça semble faire l'affaire :
http://www.fromdual.com/round-robin-database-storage-engine

Mais pas testé.

--
Sébastien
Ph. B.
Le #22729621
Kevin Denis a écrit :
Le 27-10-2010, Ph. B.
sous mySQL 5, est il possible d'utiliser un fichier de log tournant d'une
taille fixe?





Je me suis sans doute mal exprimé, il s'agit bien d'un fichier de data.

i.e. que mon fichier .MYD fasse une taille donnée et lorsque la taille
est atteinte, les nouveaux enregistrements écrasent les plus anciens.

L'idée derrière est de pouvoir coller l'ensemble de ma base en RAM
afin d'avoir des perfs I/O excellentes. Ce sont juste des
enregistrements successifs qui s'ajoutent (pas de modifs de données
existantes). Et je n'ai besoin de faire des requêtes que sur les
derniers enregistrements, donc une quantité limitée n'est pas génante.



cf. la doc ici :
http://dev.mysql.com/doc/refman/5.0/fr/log-file-maintenance.html



Pour le log interne de mySQL, mais pour les fichiers de données?



Dans ce cas, je dirais un déclencheur (trigger) sur l'insertion.

Dans celui-ci, il suffit de compter les lignes.
select count(*) from ma_table
Dès que le seuil que tu définiras sera atteint, les lignes les plus
anciennes seront supprimées. Un Id auto incrémenté dans ta table
permettra de les sélectionner en prenant les plus petites valeurs...

--
Philippe.
Publicité
Poster une réponse
Anonyme