Spec-Zone.ru › MySQL 5.7

15.11.2 Общий слой сервера базы данных

Подключаемый к MySQL движок хранилища — это компонент сервера базы данных MySQL, отвечающий за выполнение фактических операций ввода-вывода данных для базы данных, а также за включение и обеспечение определенных наборов функций, ориентированных на конкретные потребности приложения. Основное преимущество использования конкретных движков хранилища заключается в том, что вы получаете только необходимые функции для конкретного приложения, а это снижает системную нагрузку на базу данных, что в конечном итоге приводит к более эффективной и высокой производительности базы данных. Это одна из причин, по которой MySQL всегда известен своей высокой производительностью, соответствовавшей или превосходившей проприетарные монолитные базы данных в отраслевых эталонных тестах.

С технической точки зрения, какие уникальные поддерживающие инфраструктурные компоненты входят в состав движка хранилища? Некоторые ключевые отличия функций включают в себя:

  • Конкурентность: Некоторые приложения имеют более тонкие требования к блокировкам (например, к блокировкам на уровне строк), чем другие. Выбор правильной стратегии блокировки может снизить нагрузку и, следовательно, повысить общую производительность. Эта область также включает поддержку таких возможностей, как управление конкурентностью с несколькими версиями или чтение с «“моментальным снимком“».

  • Поддержка транзакций: Не каждое приложение нуждается в транзакциях, но для тех, которые нуждаются, существуют четко определенные требования, такие как соответствие ACID и другие.

  • Ссылочная целостность: Необходимость в том, чтобы сервер обеспечивал соблюдение ссылочной целостности реляционной базы данных с помощью внешних ключей, определенных в DDL.

  • Физическое хранилище: Это включает в себя все, начиная от общего размера страницы для таблиц и индексов и заканчивая форматом, используемым для хранения данных на физическом диске.

  • Поддержка индексов: Различные сценарии приложений часто извлекают выгоду из различных стратегий индексирования. Каждый движок хранилища обычно имеет свои собственные методы индексирования, хотя некоторые (такие как B-дерево) распространены практически во всех движках.

  • Кэши памяти: Различные приложения лучше реагируют на некоторые стратегии кэширования памяти, чем на другие. Поэтому, хотя некоторые кэши памяти являются общими для всех движков хранилища (например, кэши, используемые для подключений пользователей или высокоскоростной кэша запросов MySQL), другие уникально определяются только при включении конкретного движка хранилища.

  • Средства повышения производительности: Это включает в себя несколько потоков ввода-вывода для параллельных операций, конкурентность потоков, создание контрольных точек базы данных, обработку массовых вставок и многое другое.

  • Дополнительные целевые функции: Это может включать поддержку геопространственных операций, ограничения безопасности для определенных операций манипулирования данными и другие аналогичные функции.

Каждый набор компонентов инфраструктуры подключаемого движка хранилища разработан для предоставления селективного набора преимуществ для конкретного приложения. И наоборот, избегание набора функций компонентов помогает снизить ненужную нагрузку. Понятно, что понимание определенного набора требований приложения и выбор соответствующего движка хранилища MySQL может оказать значительное влияние на общую эффективность и производительность системы.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/pluggable-storage-common-layer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API