У меня интересная проблема с базой данных. У меня есть БД размером 150 ГБ. Мой буфер памяти составляет 8 ГБ.
Большинство моих данных редко извлекаются или, в основном, извлекаются бэкэнд-процессами. Я бы очень предпочел держать их рядом, потому что некоторые функции требуют их.
Некоторые из них (а именно, некоторые таблицы и некоторые идентифицируемые части определенных таблиц) очень часто используются в обращенной к пользователю манере
Как я могу убедиться, что последний всегда хранится в памяти? (места для них более чем достаточно)
Дополнительная информация:
Мы на Руби на рельсах. База данных MYSQL, наши таблицы хранятся с использованием INNODB. Мы разделяем данные на 2 раздела. Поскольку мы его защищаем, мы храним большую часть наших данных с использованием больших двоичных объектов JSON, а индексируем только первичные ключи
Обновление 2
Хитрость заключается в том, что данные на самом деле используются как для внутренних процессов, так и для пользовательских функций. Но к последним к ним обращаются гораздо реже
Обновление 3
Некоторые люди комментируют, что 8Gb это игрушка в эти дни. Я согласен, но увеличение размера БД - это чистая ЛЕННОСТЬ, если есть более разумное и эффективное решение