Pull to refresh
16K+
5
Дмитрий Попов@dixmod

Head of Backend

35
Rating
Send message

Индекс как алфавитный указатель: как база ищет и почему иногда не находит

Level of difficultyMedium
Reading time6 min
Reach and readers10K

В первой статье я объяснял кэш через холодильник. Продолжу тем же способом. Сейчас будет про индексы, а потом про то, почему индекс есть, а база его игнорирует.

Статья для тех, кто индексы ставил, но EXPLAIN читал по диагонали.

Читать далее

Почему O(1) проигрывает O(n): структуры данных в Go на реальном железе

Level of difficultyMedium
Reading time11 min
Reach and readers12K

Объясню структуры данных через очередь в поликлинике, а потом покажу, где эта аналогия ломается: почему связный список с «вставкой за O(1)» в прикладном Go обычно проигрывает обычному массиву.

Спойлер: асимптотика здесь не ошибается. Ошибается вывод, который мы из неё делаем.

Статья для тех, кто асимптотику знает, но не проверял её замером.

Читать далее

Кэш — это холодильник: TTL, инвалидация и cache stampede

Level of difficultyMedium
Reading time6 min
Reach and readers6.9K

Объясню кэш через холодильник, а потом покажу, где эта аналогия ломается, и что с этим делают в проде.

Статья для тех, кто кэш уже ставил, но не разбирался, почему он иногда роняет сервис вместо того, чтобы его ускорять.

Читать далее

Information

Rating
265-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик, Архитектор программного обеспечения
Ведущий