2009-02-02 6 views

ответ

3

У MySQL есть подключаемые системы хранения. Это означает, что двигатель может использовать разные хранилища. В настоящее время у вас есть 5-6 из них, которые вы можете использовать. И поскольку это открытый исходный код, вы можете видеть, как это делается.

SQLite использует собственную реализацию B-Tree с ведением журнала. Открытый исходный код - вы можете посмотреть на него.

Firebird и Interbase используют B-дерева с несколькими системами контроля версий записей для хранения. Firebird - с открытым исходным кодом. Стоит посмотреть.

Не могу сказать, для Oracle, MS SQL Server или других проприетарных систем баз данных, так как они сохраняют информацию о хранении в тайне.

+0

Спасибо за ответ! – Prabu

+0

Oracle, MS и Sybase являются собственностью, но внутренняя структура doco не является секретом вообще. Свободно доступно для покупателей. Может быть немного сложнее найти его в Интернете. Во всяком случае, B-Trees - это всего лишь одна структура хранилища, а что другие? – PerformanceDBA

5

Обычно умный реализация B-Trees

Из приведенной выше связанной Статьи Википедии:

В-дерево порядка т (максимального число детей, для каждого узла) представляет собой дерево, которое удовлетворяет следующие свойства:

  1. В каждом узле не более детей.
  2. Каждый узел (кроме корня и листьев) имеет как минимум m/2 детей.
  3. Корень имеет не менее двух детей, если он не является листовым узлом.
  4. Все листья отображаются на одном уровне и несут информацию.
  5. Узел не-лист с K детей содержит K-1 ключи

преимущества, которые, что данные могут быть доступны в логарифмическом времени, как и в большинстве деревьев поиска (например, стандартных бинарных деревьев) , но временные свойства лучше в среднем случае.

+0

спасибо, его информативный – Prabu

 Смежные вопросы

  • Нет связанных вопросов^_^