Автор: Limeinan
Подключаемый модуль хранения данных MySQL — это компонент сервера базы данных MySQL, который отвечает за выполнение реальных операций ввода-вывода данных для базы данных и может разрешать и применять определенные наборы функций для особых потребностей приложений. Одним из основных преимуществ использования специального механизма хранения является то, что предоставляются только те функции, которые необходимы для конкретного приложения, поэтому в базе данных меньше системных накладных расходов, а конечным результатом является более эффективная и более высокая производительность базы данных. Это одна из причин, по которой MySQL неизменно рассматривается как высокопроизводительная система, соответствующая или превосходящая собственные монолитные базы данных по стандартным отраслевым тестам.
С технической точки зрения, какие уникальные компоненты механизма хранения поддерживают базовую структуру? Некоторые ключевые отличия включают в себя:
· Параллелизм: некоторые приложения предъявляют более детальные требования к блокировке уровня (например, блокировка на уровне строк), чем другие. Выбор правильной стратегии блокировки может снизить накладные расходы и повысить общую производительность. Он также включает поддержку таких возможностей, как управление многоверсионным параллелизмом или чтение «снимков».
· Поддержка транзакций: не все приложения требуют транзакций, но для приложений, которым транзакции необходимы, существуют четко определенные требования, такие как совместимость с ACID.
· Ссылочная целостность: посредством внешних ключей, определенных в DDDL, серверу необходимо обеспечить ссылочную целостность связанной базы данных.
· Физическое хранилище: сюда входит множество вещей, от общего размера страниц таблиц и индексов до формата, необходимого для хранения данных, и физического диска.
· Поддержка индексов: разные приложения обычно используют разные стратегии индексации. Каждая система хранения обычно имеет свой собственный метод индексации, но некоторые методы индексации (например, индексы B-дерева) являются общими почти для всех механизмов хранения.
Кэширование памяти: разные приложения лучше реагируют на определенные стратегии кэширования памяти, чем другие, поэтому, хотя некоторое кэширование памяти является общим для всех механизмов хранения (например, для кэша соединений пользователей, высокоскоростного кэша запросов MySQL и т. д.), другие стратегии кэширования только определены. уникально при использовании специального механизма хранения.
·Помощь в производительности: включая несколько потоков ввода-вывода для параллельных операций, параллелизм потоков, контрольные точки базы данных, пакетную обработку вставки и т. д.
·Другие целевые функции: могут включать поддержку геопространственных операций, ограничения безопасности для конкретных операций обработки данных и т. д.
Каждый набор базовых компонентов подключаемого модуля хранения разработан соответствующим образом, чтобы обеспечить выбираемый набор функций для конкретных приложений. С другой стороны, отказ от сбора атрибутов компонентов помогает избежать ненужных накладных расходов. Следовательно, очевидно, что следует понимать набор требований конкретного приложения и выбирать соответствующий механизм хранения MySQL, который может значительно повысить общую эффективность и производительность системы.