Базы данных B-tree

  Рет қаралды 23,157

Sergey Nemchinskiy

Sergey Nemchinskiy

5 жыл бұрын

Описание способа хранения данных на основе страничной модели. Исторические предпосылки. Устройство B-tree индексов. Особенности реализации, сильные и слабые стороны этого подхода. Oracle

Пікірлер: 45
@EshkinKot1980
@EshkinKot1980 5 жыл бұрын
Где бы можно было послушать этого замечательного лектора? Рассказывает просто супер, жаль что это, всего лишь, обзор. Как правило, про базы данных рассказывают либо люди, хорошо их знающие, но не способные двух слов связать, либо люди мало в них понимающие. Этот дядька - приятное исключение.
@asvitin
@asvitin 4 жыл бұрын
Отлично выбраны ключевые моменты( для всех лекций в серии). Прекрасное изложение. Шикарный юмор. В общем - редкое сочетание для технического материала. Спасибо большое за лекции! Хочется добавить, что довольно часто в том или ином виде базы используют разные подходы к хранению. Как было сказано в лекции, в Oracle мы храним данные в блоках, но пишем redo-log для Durability (из ACID), и чтобы минимизировать издержки на запись, мы используем буферный кэш ( который в некотором виде присутсвует в LSM деревьях). Уровень Memtable в LSM деревьях может быть организован как B-tree ( и вроде как есть примеры с такой реализацией) и в них(LSM деревьях) так же есть redo-log для той же Durability. В общем берут лучшее друг у друга. :) Для логического развития лекций может подойти тема MPP систем ( например Teradata). ИМХО, эта СУБД (как и oracle) ключевая по инновациям и многие NOSQL и BigData решения в том или ином виде тянули идеи из нее (шардинг, Shared nothing подход, алгоритмы расределения данных ( hash map table), дублирование по разным шардам для отказоустойчивости, вторичные индексы поверх шардированных данных и т.п.).
@kosivanov659
@kosivanov659 5 жыл бұрын
Крутой дядька) Давайте его побольше)
@DmitrijRuss
@DmitrijRuss 5 жыл бұрын
Шикарная подача информации. Давайте ещё!)
@sinystas
@sinystas 4 жыл бұрын
Очень, очень познавательно! Огромное спасибо!
@testweb5425
@testweb5425 4 жыл бұрын
огонь как понятно подаете информацию! спасибо огромное!
@oleksandrvoron_ko580
@oleksandrvoron_ko580 2 жыл бұрын
Цікаві та корисні усі 7 відео! даже для початківців) Дякую!
@aleksandrkobelev8868
@aleksandrkobelev8868 4 жыл бұрын
А где же продолжение? (( Еще интересен разбор примеров. Можно например взять мой сайт на опенкарт и тяжелый запрос.))) буду очень рад)
@alexxx4434
@alexxx4434 4 жыл бұрын
Ждем продолжения )
@prognostik
@prognostik 2 жыл бұрын
Супер объяснение, спасибо!
@telychkomykola
@telychkomykola 5 жыл бұрын
Отлично, спасибо
@drovoseg
@drovoseg 5 жыл бұрын
В MyIsam ускорена производительность за счет отсутствия журнала. Но как-то получилась у нас забавная ситуация когда огромная таблица испортилась и восстановить ее не получилось.
@Anton_Zaviriukhin
@Anton_Zaviriukhin 4 жыл бұрын
Очень здорово и доходчиво. Мелкое замечание: 18:56 в Оракл запись в индекс как и запись в таблицу не блокирует чтение. Чтение происходит из версий блоков актуальных на момент начала запроса (либо на момент начала транзакции serializable или readonly).
@vladymyrkuznietsov8815
@vladymyrkuznietsov8815 4 жыл бұрын
Да, но это справедливо для продвинутых реализаций, типа того же Oracle, с поддержкой версионности и т.д. Тут есть проблема: с одной стороны надо говорить о принципах, а не описывать конкретную реализацию, с другой - все равно скатываешься на конкретные примеры для конкретной базы :)
@vitaliihanzha5930
@vitaliihanzha5930 3 жыл бұрын
Все бы было хорошо, да вот только размер сектора диска испокон веков был 512 байт. 8Кб - это, вероятнее всего, имелся ввиду размер кластера, а кластер - это понятие файловой системы, и его размер может задаваться при форматировании.
@vladymyrkuznietsov8815
@vladymyrkuznietsov8815 3 жыл бұрын
512 - это минимальный размер, который может диск адресовать физически. physical_block_size, а есть logical_block_size - это обычно 4k, но тру DBA выбирают (ну ок, сейчас на это не заморачиваются обычно) 8k, но согласен, точнее было бы говорить блок или кластер :)
@zhuch9277
@zhuch9277 5 жыл бұрын
Спасибо)
@user-zh8sj9wx2t
@user-zh8sj9wx2t 4 жыл бұрын
а можете сказать был ли Владимир на wcs spring в киеве? уж больно лицо знакомо, мне кажется я его видел в кибер арене
@vladymyrkuznietsov8815
@vladymyrkuznietsov8815 4 жыл бұрын
Если посмотреть на правую руку Владимира, на которой "проходки" висят, например тут: kzbin.info/www/bejne/ioKkq6Cmmdx9faM, то можно предположить, что его и на отборочных WESG можно встретить... Ну и в Катовице, чего уж там :)
@sergey5565
@sergey5565 4 жыл бұрын
Вся серия скринкастов по книге Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Прям даже порядок тем и примеры один в один. Не скажу, что это плохо, но если хотите больше информации, то крайне советую книгу. Автор рассказал лишь первые 10% книги.
@vladymyrkuznietsov8815
@vladymyrkuznietsov8815 4 жыл бұрын
Год я ждал этого каммента! И вот, хотя и под роликом, который отошел от нее довольно далеко... Тут все же больше Оракловые доки в основе. Но "книжка с кабанчиком" - это наше все :)
@sergey5565
@sergey5565 4 жыл бұрын
@@vladymyrkuznietsov8815 Рад, что закрыл ваш гештальт с комментом :) Было бы здорово посмотреть скринксты по темам из оставшейся части книги с добавлением информации из личного опыта. Такой формат легче усваивается, чем чтение книги.
@vladymyrkuznietsov8815
@vladymyrkuznietsov8815 4 жыл бұрын
@@sergey5565 Сейчас вот над транзакциями потею, там надо примеров много придумать, да и феномены четче прописать, думаю намиксовать с букварем от Vlad Mihalcea... Имхо репликацию надо давать после транзакций...
@cosmo_polit
@cosmo_polit 2 жыл бұрын
спасибо
@TeuFortMan
@TeuFortMan 2 жыл бұрын
У древних дисков сектора разве не 512байт были?
@user-cg6pt6nd5l
@user-cg6pt6nd5l 4 жыл бұрын
У вас формулы по оценке высоты не точные. Нужно брать логарифм по основанию [m/2]. Ив определении B-дерева, у вас не сказано,что корневой узел имеет как минимум два потомка. Это по Кнуту
@vladymyrkuznietsov8815
@vladymyrkuznietsov8815 4 жыл бұрын
угу, вставки я поленился вычитать, и напрасно :(
@MrCter
@MrCter 5 жыл бұрын
Так это и был clustered index. На жёстких дисках эти блоки тоже ведь кластерами зовутся?
@vladymyrkuznietsov8815
@vladymyrkuznietsov8815 5 жыл бұрын
Нет-нет-нет, clustered index это совсем другое: он может быть один на таблицу, и идея в том, что записи(rows) записываются упорядочено по ключу. В результате запись медленная, но чтение, особенно если читаются все поля записи, очень быстрое.
@MrCter
@MrCter 5 жыл бұрын
@@vladymyrkuznietsov8815 хм, ок буду копать дальше. Владимир, а Вы можете выделить в отдельное видео тему о классификации индексов по разным критериям. Простой-составной; кластеред-нонкластеред, етк... Спасибо заранее )
@DimaVort
@DimaVort 4 жыл бұрын
Кластер индекс это кодга несколько колонок обьединены одним индексом поиска. Причем в строгой последовательности. Например в индекс заисан ключ "склад+товар+партия". И если мы хотим найти записи по товару не зная склад, индекс перестает работать и таблица сканируется полностью. Но если мы знаем склад и товар, но не знаем партию то записи выбираются по индексу.
@o3bvv
@o3bvv 3 жыл бұрын
Оператору: en.wikipedia.org/wiki/30-degree_rule
@ekaterynaberkhmiller8979
@ekaterynaberkhmiller8979 4 жыл бұрын
Очень здорово! А где продолжение?)
@SergeyNemchinskiy
@SergeyNemchinskiy 4 жыл бұрын
как это? kzbin.info/aero/PLmqFxxywkatS8Hfj6-aYgXfrpvV6OoKSc
@ekaterynaberkhmiller8979
@ekaterynaberkhmiller8979 4 жыл бұрын
Спасибо, я посмотрела весь плейлист )В конце видео Владимир обещал рассказать о более экзотических способах хранения данных(столбцы, кубы). Дальше планируете продолжить эту серию классных уроков?)
@vladymyrkuznietsov8815
@vladymyrkuznietsov8815 4 жыл бұрын
@@ekaterynaberkhmiller8979 Да, столбцы надо будет осветить... Но пока надо добить транзакции...
@Kubzay
@Kubzay 4 жыл бұрын
@@vladymyrkuznietsov8815 ну очень ждём!
@vlera4198
@vlera4198 3 жыл бұрын
не объяснил почему не стоит делать много индексов (или можно?). Кому интересно про Б дерево наберите b-tree visualisation - наглядно можно посмотреть как заполняется дерево www.cs.usfca.edu/~galles/visualization/BTree.html
@Elmirill
@Elmirill Жыл бұрын
А вот музыка на фоне явно лишняя. Если кому-то она нужна, каждый сам поставит себе по вкусу.
@user-zl5vi6bn3j
@user-zl5vi6bn3j 4 жыл бұрын
Слушайте, так невозможно камеру качают из строны в сторону, то приближают то удаляют. Ребяты ЗАЧЕМ ВЫ ЭТО ДЕЛАЕТЕ ? Мы не на дискотеке и т.п. !
@vladymyrkuznietsov8815
@vladymyrkuznietsov8815 4 жыл бұрын
Проверка на фокус-группе показала, что если этого не делать, то зритель засыпает в среднем через 3 минуты :)
@user-zl5vi6bn3j
@user-zl5vi6bn3j 4 жыл бұрын
@@vladymyrkuznietsov8815 И в правду не заснешь.... после такого говолокружительного показа... Дело конечно Ваше, мне данный ролик запомнился постоянной колбасней камеры, а не содержимым ! Кому не интересно и так уснет. постоянный перемещения отнимают внимание, внимание это силы. Когда в рот смотришь начинаешь засыпать... Мое предложение сосредоточить внимание на информации в схемах, диаграммах и т.п. а не на перемещении от лица на диаграммы и обратно. В рот смотреть интересно, но по факту вся информация на листе бумаги... Дальще решать Вам.
@user-zl5vi6bn3j
@user-zl5vi6bn3j 4 жыл бұрын
Да спасибо за юмор, вот он точно в тему и не дает заснуть !
@user-zl5vi6bn3j
@user-zl5vi6bn3j 4 жыл бұрын
Оператора колбасит...
@tvoidrug2902
@tvoidrug2902 4 жыл бұрын
Слишком много воды
Базы данных LSM tree
17:01
Sergey Nemchinskiy
Рет қаралды 13 М.
😱СНЯЛ СУПЕР КОТА НА КАМЕРУ⁉
00:37
OMG DEN
Рет қаралды 1,8 МЛН
路飞关冰箱怎么关不上#海贼王 #路飞
00:12
路飞与唐舞桐
Рет қаралды 2,7 МЛН
ISSEI funny story😂😂😂Strange World | Magic Lips💋
00:36
ISSEI / いっせい
Рет қаралды 110 МЛН
The World's Fastest Cleaners
00:35
MrBeast
Рет қаралды 130 МЛН
KAN: Kolmogorov-Arnold Networks Paper Explained
13:38
AI Researcher
Рет қаралды 246
Реляционные базы данных
19:16
Sergey Nemchinskiy
Рет қаралды 54 М.
Индексы баз данных - Почему так быстро - проще некуда
44:54
Почему все ненавидят PHP
12:48
Алёша Погромист
Рет қаралды 2,8 М.
Декартово дерево: правила построения и базовые операции
26:26
Олимпиадное программирование в УлГТУ
Рет қаралды 8 М.
Какие бывают индексы | ХЭШ-ИНДЕКС, SSTABLES, LSM-TREE, B-TREE
12:29
Сашка Программирует
Рет қаралды 9 М.
😱СНЯЛ СУПЕР КОТА НА КАМЕРУ⁉
00:37
OMG DEN
Рет қаралды 1,8 МЛН