Пишу о работе системным аналитиком в IT: кейсы, ошибки, рост и жизнь по ту сторону процессов.
Автор — @Pacifica_cathul, аналитик, ментор и человек, который всё это пережил лично.
Post #490
435
Когда индексы БД вредят: мой практический опыт и исследование основ
Рассказываю:
Стали очевидными все недостатки индексации:
👀 самый оптимальный способ записи данных при больших объёмах делает БД бесполезной для их выдачи. То есть лишает нас одной из двух основных функций БД: доступа к данным.
👀 На помощь приходит индексация, позволяющая оптимально искать данные, но тогда страдает производительность при создании, модификации и особенно удалении данных.
Рулят в итоге компромиссы
Здесь мне уже захотелось копнуть глубже вне работы.
И какое же было моё удивление, когда я обнаружила, что вся глава 3.1 знаменитого «Кабанчика» Клеппмана посвящена именно этой теме. В целом там хорошо объясняются структуры SS и B-tree. А вот хэш-индексацию и LSM-tree из Клеппмана мне уложить в голове не удалось.
Более подробное и наглядное объяснение, особенно с точки зрения влияния структур на работу БД, я нашла у Алекса Петрова в «Распределённые данные». Она стоит безумных денег в бумаге, что смешно, учитывая, что первая ссылка в поиске ведёт на бесплатное скачивание. Пока прочитала только одну главу по диагонали, но уже вижу, что материала много и глубоко. Но для уровня аналитика это, пожалуй, излишне.
А вот что действительно помогло - это визуализаторы. Например, потрясающий симулятор работы B-деревьев. Можно самому нагенерировать ключи и посмотреть как они распределяются в структуре с неплохим описанием, наблюдаемого действия.
Ещё один отличный инструмент, уже визуализатор хэш-таблиц Здесь можно посмотреть поведение при вставке, поиске и удалении - самое ценное для пониманией БД с таким способом индексирования.
В общем, увлекательный мир индексации только начинает открываться для меня. Возможно, позже я напишу о нём подробнее с учётом практического опыта. В теме много интересного и полезного для аналитика, например забавный факт:
Господа аналитики, а вам знания о структурах БД на таком уровне помогают в работе?
👍 - да, постоянно (поделитесь в комментариях как), 👎🏼 - нет,
😐 - банальщина, как можно было это не знать?
😱 - только сейчас от тебя услышал(а).
#структурыданныхБД #СистемныйАнализ #btree
Рассказываю:
Мы столкнулись с проблемой падения производительности БД при работе с группами, содержащими большое количество объектов. Исследовать проблему поручили отделу RnI (как же замечательно, когда такой отдел есть в команде). Как результат, целый час они напоминали мне основы и рассказывали про бинарные деревья, B-tree и хэш-индексацию. Честно, до такого уровня работы БД я ранее не погружалась
Стали очевидными все недостатки индексации:
👀 самый оптимальный способ записи данных при больших объёмах делает БД бесполезной для их выдачи. То есть лишает нас одной из двух основных функций БД: доступа к данным.
👀 На помощь приходит индексация, позволяющая оптимально искать данные, но тогда страдает производительность при создании, модификации и особенно удалении данных.
Рулят в итоге компромиссы
Здесь мне уже захотелось копнуть глубже вне работы.
И какое же было моё удивление, когда я обнаружила, что вся глава 3.1 знаменитого «Кабанчика» Клеппмана посвящена именно этой теме. В целом там хорошо объясняются структуры SS и B-tree. А вот хэш-индексацию и LSM-tree из Клеппмана мне уложить в голове не удалось.
Более подробное и наглядное объяснение, особенно с точки зрения влияния структур на работу БД, я нашла у Алекса Петрова в «Распределённые данные». Она стоит безумных денег в бумаге, что смешно, учитывая, что первая ссылка в поиске ведёт на бесплатное скачивание. Пока прочитала только одну главу по диагонали, но уже вижу, что материала много и глубоко. Но для уровня аналитика это, пожалуй, излишне.
А вот что действительно помогло - это визуализаторы. Например, потрясающий симулятор работы B-деревьев. Можно самому нагенерировать ключи и посмотреть как они распределяются в структуре с неплохим описанием, наблюдаемого действия.
Ещё один отличный инструмент, уже визуализатор хэш-таблиц Здесь можно посмотреть поведение при вставке, поиске и удалении - самое ценное для пониманией БД с таким способом индексирования.
В общем, увлекательный мир индексации только начинает открываться для меня. Возможно, позже я напишу о нём подробнее с учётом практического опыта. В теме много интересного и полезного для аналитика, например забавный факт:
Индексация в большинстве реляционных и NoSQL БД строится на одних и тех же структурах.
Господа аналитики, а вам знания о структурах БД на таком уровне помогают в работе?
👍 - да, постоянно (поделитесь в комментариях как), 👎🏼 - нет,
😐 - банальщина, как можно было это не знать?
😱 - только сейчас от тебя услышал(а).
#структурыданныхБД #СистемныйАнализ #btree
- 👍 10
- 👎 2









