У меня есть high-end архитектура, которая получает много запросов каждую секунду (на самом деле, она может получать много запросов каждые миллисекунды). Архитектура спроектирована таким образом, что некоторые элементы управления полагаются на определенный уникальный идентификатор, назначенный каждому запросу.Стратегии использования последовательностей базы данных?
Для создания такого UID мы используем последовательность DB2. Сейчас я уже понимаю, что этот подход ошибочен, поскольку использование базы данных является дорогостоящим, но имеет смысл сделать это, потому что это значение также будет использоваться для регистрации информации в базе данных.
Моя команда только что обнаружила увеличение на 1000% за прошедшее время для каждой транзакции, которую мы предполагаем, произошло из-за последовательности. Теперь интересно, с использованием последовательностей будет сериализовать доступ к моему приложению? Поскольку они должны гарантировать, что приращения работают так, как они должны, им нужно, правильно?
Итак, существуют ли стратегии при использовании последовательностей? Предположим, что у меня нет другого способа получить уникальный идентификатор, кроме как полагаться на базу данных.
Существует команда, посвященная анализу производительности приложения. Мы собрали некоторые данные из профилирования базы данных и профилирования среды. Однако мы не можем быть уверены, что это действительно введение последовательности, которая вызывает большое влияние, потому что инструменты профилирования несколько ограничены. Тем не менее, я попытаюсь удостовериться, что увеличение времени связано с последовательностью. О параметрах последовательности, какие из них следует настроить в параллельном приложении, таком как это? –