У меня есть таблица MyISAM, которая в основном содержит журнал. Кластер машин выполняет операции INSERT
с одной записью в этой таблице со скоростью максимум 50 в секунду, но та же самая таблица также обрабатывается SELECT
из веб-приложения и индексируется с учетом этого. Однако нет ни UPDATE
, ни DELETE
.
Итак, из того, что я собрал, я должен использовать одновременные вставки. (Правильно?) MyISAM обычно сделает это за меня без дополнительной работы. (Это правильно?)
Но чего я не могу найти, так это способа гарантировать, что данный INSERT
обрабатывается одновременно. Я знаю, что могу установить глобальную переменную concurrent_insert
в 2
, но я бы не хотел устанавливать это глобально.
Итак, мои вопросы:
Есть ли какой-то способ, которым мне не хватает, чтобы гарантировать одновременную вставку?
Если нет, есть ли команда, которую я могу использовать, чтобы увидеть, соответствует ли таблица требованиям одновременной вставки? (Я считаю, что просто знать, есть ли в столе отверстия, должно быть достаточно?) Потому что я также соглашусь на возможность просто следить за столом.
И мне также любопытно, есть ли какая-нибудь другая система баз данных, которая лучше справляется с такой нагрузкой? Я полностью согласен с решением NoSQL, если это так. Пока я могу говорить с ним из Ruby и C.