Описание способа хранения данных на основе страничной модели. Исторические предпосылки. Устройство B-tree индексов. Особенности реализации, сильные и слабые стороны этого подхода. Oracle
КОМЕНТАРІ: 45
@EshkinKot19805 років тому
Где бы можно было послушать этого замечательного лектора? Рассказывает просто супер, жаль что это, всего лишь, обзор. Как правило, про базы данных рассказывают либо люди, хорошо их знающие, но не способные двух слов связать, либо люди мало в них понимающие. Этот дядька - приятное исключение.
@DmitrijRuss5 років тому
Шикарная подача информации. Давайте ещё!)
@sinystas4 роки тому
Очень, очень познавательно! Огромное спасибо!
@kosivanov6595 років тому
Крутой дядька) Давайте его побольше)
@testweb54254 роки тому
огонь как понятно подаете информацию! спасибо огромное!
@asvitin4 роки тому
Отлично выбраны ключевые моменты( для всех лекций в серии). Прекрасное изложение. Шикарный юмор. В общем - редкое сочетание для технического материала. Спасибо большое за лекции! Хочется добавить, что довольно часто в том или ином виде базы используют разные подходы к хранению. Как было сказано в лекции, в Oracle мы храним данные в блоках, но пишем redo-log для Durability (из ACID), и чтобы минимизировать издержки на запись, мы используем буферный кэш ( который в некотором виде присутсвует в LSM деревьях). Уровень Memtable в LSM деревьях может быть организован как B-tree ( и вроде как есть примеры с такой реализацией) и в них(LSM деревьях) так же есть redo-log для той же Durability. В общем берут лучшее друг у друга. :) Для логического развития лекций может подойти тема MPP систем ( например Teradata). ИМХО, эта СУБД (как и oracle) ключевая по инновациям и многие NOSQL и BigData решения в том или ином виде тянули идеи из нее (шардинг, Shared nothing подход, алгоритмы расределения данных ( hash map table), дублирование по разным шардам для отказоустойчивости, вторичные индексы поверх шардированных данных и т.п.).
@telychkomykola5 років тому
Отлично, спасибо
@prognostik2 роки тому
Супер объяснение, спасибо!
@alexxx44344 роки тому
Ждем продолжения )
@zhuch92775 років тому
Спасибо)
@oleksandrvoron_ko5802 роки тому
Цікаві та корисні усі 7 відео! даже для початківців) Дякую!
@Anton_Zaviriukhin4 роки тому
Очень здорово и доходчиво. Мелкое замечание: 18:56 в Оракл запись в индекс как и запись в таблицу не блокирует чтение. Чтение происходит из версий блоков актуальных на момент начала запроса (либо на момент начала транзакции serializable или readonly).
@vladymyrkuznietsov88154 роки тому
Да, но это справедливо для продвинутых реализаций, типа того же Oracle, с поддержкой версионности и т.д. Тут есть проблема: с одной стороны надо говорить о принципах, а не описывать конкретную реализацию, с другой - все равно скатываешься на конкретные примеры для конкретной базы :)
@aleksandrkobelev88684 роки тому
А где же продолжение? (( Еще интересен разбор примеров. Можно например взять мой сайт на опенкарт и тяжелый запрос.))) буду очень рад)
@cosmo_polit2 роки тому
спасибо
@drovoseg5 років тому
В MyIsam ускорена производительность за счет отсутствия журнала. Но как-то получилась у нас забавная ситуация когда огромная таблица испортилась и восстановить ее не получилось.
@vitaliihanzha59303 роки тому
Все бы было хорошо, да вот только размер сектора диска испокон веков был 512 байт. 8Кб - это, вероятнее всего, имелся ввиду размер кластера, а кластер - это понятие файловой системы, и его размер может задаваться при форматировании.
@vladymyrkuznietsov88153 роки тому
512 - это минимальный размер, который может диск адресовать физически. physical_block_size, а есть logical_block_size - это обычно 4k, но тру DBA выбирают (ну ок, сейчас на это не заморачиваются обычно) 8k, но согласен, точнее было бы говорить блок или кластер :)
@sergey55654 роки тому
Вся серия скринкастов по книге Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Прям даже порядок тем и примеры один в один. Не скажу, что это плохо, но если хотите больше информации, то крайне советую книгу. Автор рассказал лишь первые 10% книги.
@vladymyrkuznietsov88154 роки тому
Год я ждал этого каммента! И вот, хотя и под роликом, который отошел от нее довольно далеко... Тут все же больше Оракловые доки в основе. Но "книжка с кабанчиком" - это наше все :)
@sergey55654 роки тому
@@vladymyrkuznietsov8815 Рад, что закрыл ваш гештальт с комментом :) Было бы здорово посмотреть скринксты по темам из оставшейся части книги с добавлением информации из личного опыта. Такой формат легче усваивается, чем чтение книги.
@vladymyrkuznietsov88154 роки тому
@@sergey5565 Сейчас вот над транзакциями потею, там надо примеров много придумать, да и феномены четче прописать, думаю намиксовать с букварем от Vlad Mihalcea... Имхо репликацию надо давать после транзакций...
@user-zh8sj9wx2t4 роки тому
а можете сказать был ли Владимир на wcs spring в киеве? уж больно лицо знакомо, мне кажется я его видел в кибер арене
@vladymyrkuznietsov88154 роки тому
Если посмотреть на правую руку Владимира, на которой "проходки" висят, например тут: ukposts.info/have/v-deo/jIFyrqOnm617qHU.html, то можно предположить, что его и на отборочных WESG можно встретить... Ну и в Катовице, чего уж там :)
@o3bvv3 роки тому
Оператору: en.wikipedia.org/wiki/30-degree_rule
@ekaterynaberkhmiller89794 роки тому
Очень здорово! А где продолжение?)
@SergeyNemchinskiy4 роки тому
как это? ukposts.info/slow/PLmqFxxywkatS8Hfj6-aYgXfrpvV6OoKSc
@ekaterynaberkhmiller89794 роки тому
Спасибо, я посмотрела весь плейлист )В конце видео Владимир обещал рассказать о более экзотических способах хранения данных(столбцы, кубы). Дальше планируете продолжить эту серию классных уроков?)
@vladymyrkuznietsov88154 роки тому
@@ekaterynaberkhmiller8979 Да, столбцы надо будет осветить... Но пока надо добить транзакции...
@Kubzay4 роки тому
@@vladymyrkuznietsov8815 ну очень ждём!
@TeuFortMan2 роки тому
У древних дисков сектора разве не 512байт были?
@MrCter5 років тому
Так это и был clustered index. На жёстких дисках эти блоки тоже ведь кластерами зовутся?
@vladymyrkuznietsov88155 років тому
Нет-нет-нет, clustered index это совсем другое: он может быть один на таблицу, и идея в том, что записи(rows) записываются упорядочено по ключу. В результате запись медленная, но чтение, особенно если читаются все поля записи, очень быстрое.
@MrCter5 років тому
@@vladymyrkuznietsov8815 хм, ок буду копать дальше. Владимир, а Вы можете выделить в отдельное видео тему о классификации индексов по разным критериям. Простой-составной; кластеред-нонкластеред, етк... Спасибо заранее )
@DimaVort4 роки тому
Кластер индекс это кодга несколько колонок обьединены одним индексом поиска. Причем в строгой последовательности. Например в индекс заисан ключ "склад+товар+партия". И если мы хотим найти записи по товару не зная склад, индекс перестает работать и таблица сканируется полностью. Но если мы знаем склад и товар, но не знаем партию то записи выбираются по индексу.
@user-cg6pt6nd5l4 роки тому
У вас формулы по оценке высоты не точные. Нужно брать логарифм по основанию [m/2]. Ив определении B-дерева, у вас не сказано,что корневой узел имеет как минимум два потомка. Это по Кнуту
@vladymyrkuznietsov88154 роки тому
угу, вставки я поленился вычитать, и напрасно :(
@ElmirillРік тому
А вот музыка на фоне явно лишняя. Если кому-то она нужна, каждый сам поставит себе по вкусу.
@vlera41983 роки тому
не объяснил почему не стоит делать много индексов (или можно?). Кому интересно про Б дерево наберите b-tree visualisation - наглядно можно посмотреть как заполняется дерево www.cs.usfca.edu/~galles/visualization/BTree.html
@user-zl5vi6bn3j4 роки тому
Слушайте, так невозможно камеру качают из строны в сторону, то приближают то удаляют. Ребяты ЗАЧЕМ ВЫ ЭТО ДЕЛАЕТЕ ? Мы не на дискотеке и т.п. !
@vladymyrkuznietsov88154 роки тому
Проверка на фокус-группе показала, что если этого не делать, то зритель засыпает в среднем через 3 минуты :)
@user-zl5vi6bn3j4 роки тому
@@vladymyrkuznietsov8815 И в правду не заснешь.... после такого говолокружительного показа... Дело конечно Ваше, мне данный ролик запомнился постоянной колбасней камеры, а не содержимым ! Кому не интересно и так уснет. постоянный перемещения отнимают внимание, внимание это силы. Когда в рот смотришь начинаешь засыпать... Мое предложение сосредоточить внимание на информации в схемах, диаграммах и т.п. а не на перемещении от лица на диаграммы и обратно. В рот смотреть интересно, но по факту вся информация на листе бумаги... Дальще решать Вам.
@user-zl5vi6bn3j4 роки тому
Да спасибо за юмор, вот он точно в тему и не дает заснуть !