У нас есть приложение для сбора данных с двумя основными модулями, взаимодействующими с БД (через Hibernate) - одно для записи собранных данных в БД и одно для чтения / представления собранных данных из БД.
Средняя скоростьчисло вставок составляет 150-200 в секунду, средняя скорость выбора составляет 50-80 в секунду.
Требования к производительности для обоих сценариев записи / чтения можно определить следующим образом:
- Запись вБД - здесь нет особых временных требований или требований к производительности, БД должна нормально работать со скоростью 150-200 вставок в секунду
- Чтение из БД - вновь собранные данные должны быть доступны пользователю в течение 3-5 секунд после попадания вDB
Посоветуйте, пожалуйста, лучший подход для настройки политик кэширования / буферизации / работы Hibernate для оптимальной поддержки этого сценария.
BTW - MySQL с механизмом InnoDB используется под Hibernate.
Спасибо.
PS: Говоря "150-200 вставкаs в секунду "Я имею в виду среднюю скорость входящих пакетов данных, а не фактическое количество записей, вставляемых в БД.Но в любом случае - мы должны нацеливать здесь очень высокий уровень вставок в секунду.