Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> что такое хэш-таблицы и В-деревья? применительно к MySQL 
:(
    Опции темы
ida
  Дата 26.4.2004, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 1
Всего: 58



В переводе документации на MySQL есть такие вещи:

Цитата
Очень быстрая система распределения памяти, базирующаяся на потоках.
Очень быстрые соединения, использующие оптимизированный метод однопроходного мультисоединения (one-sweep multi-join).
Очень быстрые дисковые таблицы на основе В-деревьев со сжатием индексов.
Хеш-таблицы в памяти, используемые как временные таблицы.


Вопрос - что такое хэш-таблицы? что здесь подразумевается под дисковыми таблицами? что такое В-деревья? что означает "сжатие индексов"? что такое однопроходные мультисоединения?

Это сообщение отредактировал(а) ida - 26.4.2004, 10:27
PM WWW   Вверх
HalkaR
Дата 26.4.2004, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 3
Всего: 42



B-деревья - это двоичные деревья, т.е. деревья, где у каждого узла два потомка. Хэш таблицы, знаю, но обьяснить не смогу notify.gif
PM MAIL   Вверх
ida
Дата 26.4.2004, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 1
Всего: 58



Мдя... как бы еще понять что все это значит применительно к БД и на фиг оно все там нужно... smile.gif
PM WWW   Вверх
sergejzr
Дата 26.4.2004, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



Зачем БД деревья?
В БД необходима структура которая:
  • позволяет хранить отсортированные данные.
  • позволяет добавлять новые данные. При этом сортировка не имеет права нарушаться.
  • позволяет частичную выгрузку данных в память. При этом сортировка тоже не имеет права нарушаться.
  • итд..
В БД данные хранятся парами [даты/дата ключ].
Пример таблица
имя,фамилия,рост,вес,цвет глаз,дата рождения:
вася|иванов|170|80|зелёный|12.01.1975|
петя|синицын|165|60|чёрный|12.01.1974|

допустим ключ это имя. Тогда ведь совсем необязательно при работе с БД грузить в оперативку все данные. Достаточно загрузить только имена. Ключ содержит дополнительно позицию данных в файле.
Для быстрого поиска конкретного ключа, собирается дерево. В нём ключи частично просортированы. Как конкретно, тут уже надо тебе читать/разбираться.
-----------------------------------------------------------------------------------------------------------------------------------------------
Грубо про хэш (он тоже для быстрого поиска):

Xэш -функция:
индех(стринг) (как f(x));
существует массив ([0..N]), существуют данные (стринги) в хаш-функцию передаём стринг, она высчитывет некое число у 0<=у<=N. Это и есть индекс в массиве. На этот индекс в массив записываются данные.

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


Надеюсь обьяснил более-менее понятно в двух словах. Но! Теория идёт значительно глубже! Так что читай обязательно подробные материалы.

Добавлено @ 22:26
Немного странно что в теме указано "применительно к MySQL". Эти вещи для любой БД.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Cashey
Дата 27.4.2004, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Цитата(sergej @ 26.4.2004, 22:22)
Грубо про хэш (он тоже для быстрого поиска):

Xэш -функция:
индех(стринг) (как f(x));
существует массив ([0..N]), существуют данные (стринги) в хаш-функцию передаём стринг, она высчитывет некое число у 0<=у<=N. Это и есть индекс в массиве. На этот индекс в массив записываются данные.


Странно, помоему хэш-функции это основа алгоритма криптографирования данных, основанных на открытом и закрытых ключах


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
sergejzr
Дата 27.4.2004, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



А чего мешает её применять (немного модифицировав) в обоих случаях?
В криптографии она так же выдаёт число. Число это идентифицирует мессагу.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 7.5.2004, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



ida
Тут подробнее по тематике. Так же конкретный линьк по индексации в Мускуле.
http://forum.vingrad.ru/index.php?showtopic=22020

PS: Неплохо было бы услышать, пригодилась информация или нет..... bored.gif



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
ida
Дата 7.5.2004, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


замужем
****


Профиль
Группа: Завсегдатай
Сообщений: 2277
Регистрация: 14.5.2002
Где: Санкт-Петербург

Репутация: 1
Всего: 58



Медленно пригождается вместе со всей документацией, читаемой перед защитой диплома smile.gif Спасибо. Просто не люблю плавать в терминологии на экзаменах.
PM WWW   Вверх
stron
Дата 7.5.2004, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Консультант
***


Профиль
Группа: Комодератор
Сообщений: 1654
Регистрация: 17.7.2003
Где: Питер

Репутация: нет
Всего: 36



Вспоминается кое-что из ТИЛСа (Теории инф. логич. систем)

B-деревья (пример):
...........................
[*10*20*] - узел
/ | \
5 15 25 - лист

В В-деревьях очень быстро происходит поиск сложность алгоритма, если не напутал, log2(n)

Применительно к БД:
замени числа (5,15,25...) на значения индекса, и получишь ускорение SELECT'ов по индексируемому полю


--------------------
подписи нет
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.