J'ai une table MyISAM qui contient essentiellement un journal. Un cluster de machines enregistre seul INSERT
s sur cette table à un taux de 50 par seconde, mais la même table est également SELECT
édité par une application Web, et indexé pour s'adapter à cela. Il n'y a pas UPDATE
s ou DELETE
s, cependant.Assurez-vous que `INSERT`s sont simultanés pour une table MyISAM spécifique?
Donc, d'après ce que j'ai compris, je devrais utiliser des insertions concurrentes. (Bon?) MyISAM le fera normalement pour moi sans travail supplémentaire. (Est-ce correct?)
Mais ce que je ne peux pas trouver est un moyen de garantir qu'un INSERT
donné est traité simultanément. Je sais que je peux définir la variable globale concurrent_insert
à 2
, mais je préfère ne pas définir globalement.
Mes questions sont les suivantes:
Est-il possible que je suis absent pour garantir une insertion simultanée?
Sinon, existe-t-il une commande que je peux utiliser pour voir si une table répond aux exigences d'insertion simultanées? (Je crois juste savoir si une table a des trous devrait être suffisant?) Parce que je vais aussi me contenter de pouvoir suivre la table.
Et je suis également curieux, y at-il un autre système de base de données qui peut mieux gérer ce type de charge? Je suis totalement d'accord avec une solution NoSQL, si c'est le cas. Tant que je peux parler à partir de Ruby et C.
Il y a d'autres bases de données et tables pour lesquelles je considère que indésirable. J'aime le pointeur 'DELAYED', cependant. Merci! –