#btree — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #btree, aggregated by home.social.
-
HTAP внутри OLTP: как мы строили векторизованный движок с самого начала
Как встроить векторизованный движок в OLTP-ядро с нуля — без отдельного аналитического слоя. Разбираем PhysicalType, SelectionVector, RowToColumnBridge, SIMD на листовых страницах B-Tree и Hash Join. Бенчмарк на 2,25 млн строк: от 1.22× на простых агрегатах до 2.67× на GROUP BY.
https://habr.com/ru/articles/1032894/
#htap #векторизация #база_данных #simd #btree #Hash_Join #rust #oltp
-
HTAP внутри OLTP: как мы строили векторизованный движок с самого начала
Как встроить векторизованный движок в OLTP-ядро с нуля — без отдельного аналитического слоя. Разбираем PhysicalType, SelectionVector, RowToColumnBridge, SIMD на листовых страницах B-Tree и Hash Join. Бенчмарк на 2,25 млн строк: от 1.22× на простых агрегатах до 2.67× на GROUP BY.
https://habr.com/ru/articles/1032894/
#htap #векторизация #база_данных #simd #btree #Hash_Join #rust #oltp
-
HTAP внутри OLTP: как мы строили векторизованный движок с самого начала
Как встроить векторизованный движок в OLTP-ядро с нуля — без отдельного аналитического слоя. Разбираем PhysicalType, SelectionVector, RowToColumnBridge, SIMD на листовых страницах B-Tree и Hash Join. Бенчмарк на 2,25 млн строк: от 1.22× на простых агрегатах до 2.67× на GROUP BY.
https://habr.com/ru/articles/1032894/
#htap #векторизация #база_данных #simd #btree #Hash_Join #rust #oltp
-
HTAP внутри OLTP: как мы строили векторизованный движок с самого начала
Как встроить векторизованный движок в OLTP-ядро с нуля — без отдельного аналитического слоя. Разбираем PhysicalType, SelectionVector, RowToColumnBridge, SIMD на листовых страницах B-Tree и Hash Join. Бенчмарк на 2,25 млн строк: от 1.22× на простых агрегатах до 2.67× на GROUP BY.
https://habr.com/ru/articles/1032894/
#htap #векторизация #база_данных #simd #btree #Hash_Join #rust #oltp
-
BRIN, GIN, B‑Tree: полный гайд по индексам PostgreSQL для highload
Индексы есть, а запросы всё равно тормозят? Или наоборот — индексов слишком много, и они только увеличивают нагрузку на запись? Многие разработчики и администраторы баз данных попадают в ловушку: ставят B-Tree на всё подряд и надеются на лучшее. Но в highload-системах это может привести к катастрофе. В этой статье я делюсь реальным опытом работы с PostgreSQL. Статья будет полезна разработчикам, архитекторам и администраторам, которые хотят не просто «поставить индекс», а понять, как работает PostgreSQL под капотом и как проектировать базы данных, выдерживающие миллионы запросов в секунду.
https://habr.com/ru/companies/otus/articles/1008372/
#архитектура #PostgreSQL #индексы #оптимизация_запросов #highload #базы_данных #BTree #BRIN
-
BRIN, GIN, B‑Tree: полный гайд по индексам PostgreSQL для highload
Индексы есть, а запросы всё равно тормозят? Или наоборот — индексов слишком много, и они только увеличивают нагрузку на запись? Многие разработчики и администраторы баз данных попадают в ловушку: ставят B-Tree на всё подряд и надеются на лучшее. Но в highload-системах это может привести к катастрофе. В этой статье я делюсь реальным опытом работы с PostgreSQL. Статья будет полезна разработчикам, архитекторам и администраторам, которые хотят не просто «поставить индекс», а понять, как работает PostgreSQL под капотом и как проектировать базы данных, выдерживающие миллионы запросов в секунду.
https://habr.com/ru/companies/otus/articles/1008372/
#архитектура #PostgreSQL #индексы #оптимизация_запросов #highload #базы_данных #BTree #BRIN
-
BRIN, GIN, B‑Tree: полный гайд по индексам PostgreSQL для highload
Индексы есть, а запросы всё равно тормозят? Или наоборот — индексов слишком много, и они только увеличивают нагрузку на запись? Многие разработчики и администраторы баз данных попадают в ловушку: ставят B-Tree на всё подряд и надеются на лучшее. Но в highload-системах это может привести к катастрофе. В этой статье я делюсь реальным опытом работы с PostgreSQL. Статья будет полезна разработчикам, архитекторам и администраторам, которые хотят не просто «поставить индекс», а понять, как работает PostgreSQL под капотом и как проектировать базы данных, выдерживающие миллионы запросов в секунду.
https://habr.com/ru/companies/otus/articles/1008372/
#архитектура #PostgreSQL #индексы #оптимизация_запросов #highload #базы_данных #BTree #BRIN
-
BRIN, GIN, B‑Tree: полный гайд по индексам PostgreSQL для highload
Индексы есть, а запросы всё равно тормозят? Или наоборот — индексов слишком много, и они только увеличивают нагрузку на запись? Многие разработчики и администраторы баз данных попадают в ловушку: ставят B-Tree на всё подряд и надеются на лучшее. Но в highload-системах это может привести к катастрофе. В этой статье я делюсь реальным опытом работы с PostgreSQL. Статья будет полезна разработчикам, архитекторам и администраторам, которые хотят не просто «поставить индекс», а понять, как работает PostgreSQL под капотом и как проектировать базы данных, выдерживающие миллионы запросов в секунду.
https://habr.com/ru/companies/otus/articles/1008372/
#архитектура #PostgreSQL #индексы #оптимизация_запросов #highload #базы_данных #BTree #BRIN
-
[Перевод] Нетипичные оптимизации в PostgreSQL, или Креативное ускорение запросов
Когда речь заходит об оптимизации базы данных, разработчики обычно перечисляют привычный набор приёмов: слегка переписать запрос, накинуть индекс на колонку, денормализовать, сделать analyze, vacuum, cluster, и так по кругу. Классические техники, конечно, работают, но иногда креативный подход даёт гораздо больше. В этой статье Haki Benita показывает нетипичные техники оптимизации в PostgreSQL.
https://habr.com/ru/companies/postgrespro/articles/1001194/
#optimisation #hash #btree #indexes #postgresql #администрирование #администрирование_бд #индекс
-
[Перевод] Нетипичные оптимизации в PostgreSQL, или Креативное ускорение запросов
Когда речь заходит об оптимизации базы данных, разработчики обычно перечисляют привычный набор приёмов: слегка переписать запрос, накинуть индекс на колонку, денормализовать, сделать analyze, vacuum, cluster, и так по кругу. Классические техники, конечно, работают, но иногда креативный подход даёт гораздо больше. В этой статье Haki Benita показывает нетипичные техники оптимизации в PostgreSQL.
https://habr.com/ru/companies/postgrespro/articles/1001194/
#optimisation #hash #btree #indexes #postgresql #администрирование #администрирование_бд #индекс
-
[Перевод] Нетипичные оптимизации в PostgreSQL, или Креативное ускорение запросов
Когда речь заходит об оптимизации базы данных, разработчики обычно перечисляют привычный набор приёмов: слегка переписать запрос, накинуть индекс на колонку, денормализовать, сделать analyze, vacuum, cluster, и так по кругу. Классические техники, конечно, работают, но иногда креативный подход даёт гораздо больше. В этой статье Haki Benita показывает нетипичные техники оптимизации в PostgreSQL.
https://habr.com/ru/companies/postgrespro/articles/1001194/
#optimisation #hash #btree #indexes #postgresql #администрирование #администрирование_бд #индекс
-
[Перевод] Нетипичные оптимизации в PostgreSQL, или Креативное ускорение запросов
Когда речь заходит об оптимизации базы данных, разработчики обычно перечисляют привычный набор приёмов: слегка переписать запрос, накинуть индекс на колонку, денормализовать, сделать analyze, vacuum, cluster, и так по кругу. Классические техники, конечно, работают, но иногда креативный подход даёт гораздо больше. В этой статье Haki Benita показывает нетипичные техники оптимизации в PostgreSQL.
https://habr.com/ru/companies/postgrespro/articles/1001194/
#optimisation #hash #btree #indexes #postgresql #администрирование #администрирование_бд #индекс
-
Как не получилось сделать PostgreSQL лучше (и почему это нормально)
Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву. Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.
https://habr.com/ru/companies/yandex/articles/964778/
#postgresql #wal #btree #btree_индекс #синхронная_репликация #lz4 #pglz
-
Как не получилось сделать PostgreSQL лучше (и почему это нормально)
Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву. Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.
https://habr.com/ru/companies/yandex/articles/964778/
#postgresql #wal #btree #btree_индекс #синхронная_репликация #lz4 #pglz
-
Как не получилось сделать PostgreSQL лучше (и почему это нормально)
Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву. Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.
https://habr.com/ru/companies/yandex/articles/964778/
#postgresql #wal #btree #btree_индекс #синхронная_репликация #lz4 #pglz
-
Как не получилось сделать PostgreSQL лучше (и почему это нормально)
Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву. Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.
https://habr.com/ru/companies/yandex/articles/964778/
#postgresql #wal #btree #btree_индекс #синхронная_репликация #lz4 #pglz
-
OrioleDB's #Bridged Indexes: because who doesn't love yet another revolutionary #database feature that promises to fix problems nobody knew existed? 🤔🎉 Let's all pretend this complex #tech jargon will change our lives while we secretly Google "Btree" like it's a trendy new diet. 🍽️📚
https://www.orioledb.com/blog/orioledb-bridged-indexes #OrioleDB #Indexes #innovation #Btree #databasefeatures #HackerNews #ngated -
OrioleDB's #Bridged Indexes: because who doesn't love yet another revolutionary #database feature that promises to fix problems nobody knew existed? 🤔🎉 Let's all pretend this complex #tech jargon will change our lives while we secretly Google "Btree" like it's a trendy new diet. 🍽️📚
https://www.orioledb.com/blog/orioledb-bridged-indexes #OrioleDB #Indexes #innovation #Btree #databasefeatures #HackerNews #ngated -
OrioleDB's #Bridged Indexes: because who doesn't love yet another revolutionary #database feature that promises to fix problems nobody knew existed? 🤔🎉 Let's all pretend this complex #tech jargon will change our lives while we secretly Google "Btree" like it's a trendy new diet. 🍽️📚
https://www.orioledb.com/blog/orioledb-bridged-indexes #OrioleDB #Indexes #innovation #Btree #databasefeatures #HackerNews #ngated -
OrioleDB's #Bridged Indexes: because who doesn't love yet another revolutionary #database feature that promises to fix problems nobody knew existed? 🤔🎉 Let's all pretend this complex #tech jargon will change our lives while we secretly Google "Btree" like it's a trendy new diet. 🍽️📚
https://www.orioledb.com/blog/orioledb-bridged-indexes #OrioleDB #Indexes #innovation #Btree #databasefeatures #HackerNews #ngated -
Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR
Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности? В этой статье я расскажу, как подходить к построению составных индексов в PostgreSQL, на что реально влияет порядок колонок. Также разберём простое правило ESR, которое помогает упростить выбор и получать стабильный прирост производительности на всех стендах.
https://habr.com/ru/articles/911688/
#postgresql #Btree #составной_индекс #многоколонковый_индекс #ESR_правило #оптимизация_запросов #селективность #план_выполнения #explain_analyze #индексный_скан
-
Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR
Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности? В этой статье я расскажу, как подходить к построению составных индексов в PostgreSQL, на что реально влияет порядок колонок. Также разберём простое правило ESR, которое помогает упростить выбор и получать стабильный прирост производительности на всех стендах.
https://habr.com/ru/articles/911688/
#postgresql #Btree #составной_индекс #многоколонковый_индекс #ESR_правило #оптимизация_запросов #селективность #план_выполнения #explain_analyze #индексный_скан
-
Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR
Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности? В этой статье я расскажу, как подходить к построению составных индексов в PostgreSQL, на что реально влияет порядок колонок. Также разберём простое правило ESR, которое помогает упростить выбор и получать стабильный прирост производительности на всех стендах.
https://habr.com/ru/articles/911688/
#postgresql #Btree #составной_индекс #многоколонковый_индекс #ESR_правило #оптимизация_запросов #селективность #план_выполнения #explain_analyze #индексный_скан
-
Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR
Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности? В этой статье я расскажу, как подходить к построению составных индексов в PostgreSQL, на что реально влияет порядок колонок. Также разберём простое правило ESR, которое помогает упростить выбор и получать стабильный прирост производительности на всех стендах.
https://habr.com/ru/articles/911688/
#postgresql #Btree #составной_индекс #многоколонковый_индекс #ESR_правило #оптимизация_запросов #селективность #план_выполнения #explain_analyze #индексный_скан
-
B-Tree — сбалансированный куст поиска
В реляционных СУБД есть дефолтный тип индекса — B‑Tree: Tree в названии однозначно указывает на дерево, ну а В это, наверно, Binary? Или Balanced? Или Balanced Binary? Почему‑то долгое время я полагал, что это Balanced Binary, и эта версия даже «работала». На деле всё куда интереснее, предлагаю проследовать под кат, чтобы посмотреть на этот на самом деле скорее низкорослый куст и сравнить его с Red‑Black Tree на Java. Точно куст?
-
Хеш-индексы в PostgreSQL: быстрый поиск или скрытые проблемы?
Хеш-индексы в PostgreSQL - мощный, но недооценённый инструмент. Когда они быстрее B-Tree, а когда наоборот? Простое объяснение, тесты и ключевые нюансы, которые помогут ускорить запросы...
https://habr.com/ru/articles/882106/
#базы_данных #sql #оптимизация_запросов #индексы #btree #hash #производительность #BTree_vs_Hash #разработка #dba
-
[Перевод] Насколько быстры B-деревья по сравнению с хэш-таблицами?
Во многих «скриптовых» языках для стандартных ассоциативных структур данных используется хэш-таблица (hashmap) (объекты Javascript, словари Python и так далее). Хэш-таблицы обладают множеством раздражающих свойств: Уязвимость к hash flooding . В случае защиты от hash flooding случайными seed порядок итераций становится недетерминированным, что мешает при тестировании снэпшотов, создании воспроизводимых сборок и так далее. При вставке может требоваться рехэширование, что в наихудших случаях создаёт для больших хэш-таблиц ужасные задержки. Многократное увеличение больших распределений памяти без фрагментации сложно реализовать в целевых платформах wasm, потому что трюки с виртуальной памятью недоступны, а для страниц невозможно выполнить unmapping. Векторные команды в wasm ограничены, а команды AES отсутствуют. Это делает многие хэш-функции ещё более медленными. Упорядоченные структуры данных наподобие B-деревьев не имеют этих недостатков. Обычно они медленнее хэш-таблиц, но меня удивило, насколько разнятся ожидания людей относительно их скорости.
https://habr.com/ru/articles/849654/
#bдерево #хэштаблицы #btree #hashmap #поисковые_алгоритмы #бенчмарки
-
[Перевод] Насколько быстры B-деревья по сравнению с хэш-таблицами?
Во многих «скриптовых» языках для стандартных ассоциативных структур данных используется хэш-таблица (hashmap) (объекты Javascript, словари Python и так далее). Хэш-таблицы обладают множеством раздражающих свойств: Уязвимость к hash flooding . В случае защиты от hash flooding случайными seed порядок итераций становится недетерминированным, что мешает при тестировании снэпшотов, создании воспроизводимых сборок и так далее. При вставке может требоваться рехэширование, что в наихудших случаях создаёт для больших хэш-таблиц ужасные задержки. Многократное увеличение больших распределений памяти без фрагментации сложно реализовать в целевых платформах wasm, потому что трюки с виртуальной памятью недоступны, а для страниц невозможно выполнить unmapping. Векторные команды в wasm ограничены, а команды AES отсутствуют. Это делает многие хэш-функции ещё более медленными. Упорядоченные структуры данных наподобие B-деревьев не имеют этих недостатков. Обычно они медленнее хэш-таблиц, но меня удивило, насколько разнятся ожидания людей относительно их скорости.
https://habr.com/ru/articles/849654/
#bдерево #хэштаблицы #btree #hashmap #поисковые_алгоритмы #бенчмарки
-
[Перевод] Насколько быстры B-деревья по сравнению с хэш-таблицами?
Во многих «скриптовых» языках для стандартных ассоциативных структур данных используется хэш-таблица (hashmap) (объекты Javascript, словари Python и так далее). Хэш-таблицы обладают множеством раздражающих свойств: Уязвимость к hash flooding . В случае защиты от hash flooding случайными seed порядок итераций становится недетерминированным, что мешает при тестировании снэпшотов, создании воспроизводимых сборок и так далее. При вставке может требоваться рехэширование, что в наихудших случаях создаёт для больших хэш-таблиц ужасные задержки. Многократное увеличение больших распределений памяти без фрагментации сложно реализовать в целевых платформах wasm, потому что трюки с виртуальной памятью недоступны, а для страниц невозможно выполнить unmapping. Векторные команды в wasm ограничены, а команды AES отсутствуют. Это делает многие хэш-функции ещё более медленными. Упорядоченные структуры данных наподобие B-деревьев не имеют этих недостатков. Обычно они медленнее хэш-таблиц, но меня удивило, насколько разнятся ожидания людей относительно их скорости.
https://habr.com/ru/articles/849654/
#bдерево #хэштаблицы #btree #hashmap #поисковые_алгоритмы #бенчмарки
-
[Перевод] Насколько быстры B-деревья по сравнению с хэш-таблицами?
Во многих «скриптовых» языках для стандартных ассоциативных структур данных используется хэш-таблица (hashmap) (объекты Javascript, словари Python и так далее). Хэш-таблицы обладают множеством раздражающих свойств: Уязвимость к hash flooding . В случае защиты от hash flooding случайными seed порядок итераций становится недетерминированным, что мешает при тестировании снэпшотов, создании воспроизводимых сборок и так далее. При вставке может требоваться рехэширование, что в наихудших случаях создаёт для больших хэш-таблиц ужасные задержки. Многократное увеличение больших распределений памяти без фрагментации сложно реализовать в целевых платформах wasm, потому что трюки с виртуальной памятью недоступны, а для страниц невозможно выполнить unmapping. Векторные команды в wasm ограничены, а команды AES отсутствуют. Это делает многие хэш-функции ещё более медленными. Упорядоченные структуры данных наподобие B-деревьев не имеют этих недостатков. Обычно они медленнее хэш-таблиц, но меня удивило, насколько разнятся ожидания людей относительно их скорости.
https://habr.com/ru/articles/849654/
#bдерево #хэштаблицы #btree #hashmap #поисковые_алгоритмы #бенчмарки
-
#PGSession16 : mercredi prochain, Frédéric Yhuel nous mettra en garde contre les pièges de l'interprétation des plans d'exécution. Comme les précédentes, sa #conférence sera retransmise en direct sur https://dali.bo/2023_site_pgsessions
-
#PGSession16 : mercredi prochain, Frédéric Yhuel nous mettra en garde contre les pièges de l'interprétation des plans d'exécution. Comme les précédentes, sa #conférence sera retransmise en direct sur https://dali.bo/2023_site_pgsessions
-
#PGSession16 : mercredi prochain, Frédéric Yhuel nous mettra en garde contre les pièges de l'interprétation des plans d'exécution. Comme les précédentes, sa #conférence sera retransmise en direct sur https://dali.bo/2023_site_pgsessions
-
#PGSession16 : mercredi prochain, Frédéric Yhuel nous mettra en garde contre les pièges de l'interprétation des plans d'exécution. Comme les précédentes, sa #conférence sera retransmise en direct sur https://dali.bo/2023_site_pgsessions
-
#PGSession16 : mercredi prochain, Frédéric Yhuel nous mettra en garde contre les pièges de l'interprétation des plans d'exécution. Comme les précédentes, sa #conférence sera retransmise en direct sur https://dali.bo/2023_site_pgsessions
-
[Перевод] Почему B-деревья быстрые?
B-дерево — это структура, помогающая выполнять поиск в больших объёмах данных. Она была изобретена более сорока лет назад, однако по-прежнему используется в большинстве современных баз данных. Хотя существуют и более новые структуры индексов, например, LSM-деревья, B-дерево пока никто не победил в обработке большинства запросов баз данных. После прочтения этого поста вы будете знать, как B-дерево упорядочивает данные и выполняет поисковые запросы.
https://habr.com/ru/articles/783012/
#btree #bдерево #индексация #базы_данных #алгоритмы_на_графах #двоичное_дерево_поиска
-
[Перевод] Почему B-деревья быстрые?
B-дерево — это структура, помогающая выполнять поиск в больших объёмах данных. Она была изобретена более сорока лет назад, однако по-прежнему используется в большинстве современных баз данных. Хотя существуют и более новые структуры индексов, например, LSM-деревья, B-дерево пока никто не победил в обработке большинства запросов баз данных. После прочтения этого поста вы будете знать, как B-дерево упорядочивает данные и выполняет поисковые запросы.
https://habr.com/ru/articles/783012/
#btree #bдерево #индексация #базы_данных #алгоритмы_на_графах #двоичное_дерево_поиска
-
[Перевод] Почему B-деревья быстрые?
B-дерево — это структура, помогающая выполнять поиск в больших объёмах данных. Она была изобретена более сорока лет назад, однако по-прежнему используется в большинстве современных баз данных. Хотя существуют и более новые структуры индексов, например, LSM-деревья, B-дерево пока никто не победил в обработке большинства запросов баз данных. После прочтения этого поста вы будете знать, как B-дерево упорядочивает данные и выполняет поисковые запросы.
https://habr.com/ru/articles/783012/
#btree #bдерево #индексация #базы_данных #алгоритмы_на_графах #двоичное_дерево_поиска
-
#федичитальня #postgresql #postgresql15
Сортировка по индексу.
#Btree #индексы можно и для сортировки за O(n) использовать без буферизации всех строк где-либо. Но с неопределёнными значениями и порядком сортировки есть нюанс - положение их в индексе задаётся при создании и, если запрашиваемое положение отличается, то индекс не может быть использован.
Вообще странно, что не воткнули костыль для простейших случаев, если nulls не там, просто читаем индекс с другого конца, до тех пор, пока не наткнёмся на не #null, после чего начнём читать индекс так, как изначально и планировалось, до тех пор, пока не на кнёмся на null, который послужит нам эдаким EOF. Сложность чтения бы сохранилась линейной, всего пару переменных и ифников для стейт-контрола добавить. Не думаю, что это был бы значимый оверхед.
-
A good explanation of trade-offs between hashes and b-trees: https://www.evanjones.ca/ordered-vs-unordered-indexes.html
Written in simple language, well-scoped and short. It's destined to become a piece people link to all the time.