Движок БД - что это такое?



Если немного упростить понятия, то база данных (БД) - это обертка вокруг движка хранения данных. Она занимается приемом запро­сов и управлением ими, кэшированием и прочими обслуживающи­ми функциями, обеспечивая работу с низкоуровневым АРI движка. Последний, в свою очередь, собственно и хранит данные (на диске или в памяти), работает с операционной системой и обеспечивает выдачу нужных выборок по запросу от сервера.

Если раньше СУБД (связка «сервер + движок») была монолитная, то теперь во всех системах используется структура с плагинами. Движок в такой организации является просто модулем, а сам сервер не за висит от системы хранения данных. В последних редакциях классиче­ского MySQL также используется плагинная архитектура. Поэтому встроенный движок InnoDB (правда, обычно устаревшей версии) можно легко заменить на модуль другого проекта, который часто будет лучше. В альтернативных мускулу разработках, в том числе МагiаDВ или Dгizzlе, все движки изначально выполнены как пла­гины.

Попробуем кратко пробежаться по современным движкам хранения данных в MySQL-совместимых СУБД.

- InnoDB - основной движок для мускула, который с версии 5.5 наконец-то сделали дефолтным. Поддерживает транзакции, репли­кацию, построчную блокировку. Достаточно устойчив к сбоям.

- MyS -очень проблемный движок, плохо переносящий крах сервера. Не поддерживает транзакци и, но зато может похвастаться полнотекстовыми индексами и быстротой работы. Долгое время был стандартным для всех версий MySQL, а потому до сих пор является самым популярным.

- Аria - замена для MylSAM с поддержкой транзакций и улучшен­ной работой с памятью. Движок гарантирует целостность данных и при этом не уступает в скорости MyISAM.

- CVS - специализированный движок на случай, когда требуется хранить и обрабатывать большие массивы строковых данных, раз­деляемых запятой.

- Federated/FederatedX - этот движок специализируется на прозрачном разнесении данных по нескольким серверам (физическим) на уровне таблицы.

- РВХ - призванный заменить InnoDB новый движок, в котором реализована полная поддержка транзакций, многоверсионность, автоматическая обработка дедлоков. Движок оптимизирован для большого количества одновременных транзакций.

- Blackhole - служебный движок, представляющий собой, по сути, /dev/null для СУБД и фактически не производящий никаких записей на диск. Используется для репликации.

- Archive - движок, который максимально быстро работает на
запись. Используется в тех случаях, когда необходимо хостить большие массивы данных. Для эффективности хранения исполь­зуется сжатие, что приводит к медлительности во время выборок. Движок хорошо подходит для долговременного хранения логов и другой служебной информации.

- XtraDB - расширенная и исправленная в некоторых проблем­ных местах InnoDB от компании Регсоnа.

- MERE - схожий с Fеdегаtеd движок для разнесения данных в одной таблице на несколько разных.

- MEMOR -движок, использующийся для хранения данных не на диске, а в памяти. Информация из базы доступна только во время работы сервера, но это дает колоссальный прирост в про­изводительности.

- BlitzDB - еще одна замена для MylSAM с хорошей произво­дительностью за счет встроенного построчного кэширования и автоматического восстановления после сбоев. Движок не под­держивает транзакции.

- NDB - движок для кластера, обладающий, впрочем, кучей про­блем и удручающе плохой производительностью.

- Falcon - легендарный движок от компании MySQL АВ, раз­рабатываемый еще со времен Sun, когда было принято решение заменить оракловский InnoDB.

- SphinxSE - полнотекстовый движок от создателя поискового сервера Sphinx. Лучший вариант для полнотекстового поиска и индексации по правилам русского языка. Легко оперирует тера­байтами данных, обеспечивая при этом все возможности совре­менной БД.
Copyright © 2010 - 2024 Smela-Info.biz. Контакты.
Яндекс.Метрика