MERGE и её улучшение производительности с помощью work_mem

С выходом PostgreSQL 15 мы застали появление долгожданной команды MERGE, которая позволяет реализовывать эффективные способы синхронизации обновлений.

Суть MERGE заключается в ее универсальности: она позволяет объединить операции INSERTUPDATE и DELETE в одном запросе, автоматически выбирая нужное действие в зависимости от того, существует ли соответствующая запись в целевой таблице.

Читать далее


Кратко про NewSQL

NewSQL — это класс систем управления реляционными БД, представляет собой слияние преимуществ SQL-бд с инновациями, направленными на решение проблем масштабируемости и производительности.

В основе NewSQL лежит стремление сохранить полную совместимость с SQL, т.е разработчики, уже знакомые с SQL, могут легко адаптироваться к использованию NewSQL систем без необходимости изучения чего-либо другого.

Читать далее


Индексирование полнотекстовых данных в PostgreSQL с использованием модуля pg_trgm

PostgreSQL, одна из самых мощных и гибких реляционных СУБД, предлагает нам свой модуль pg_trgm, чтобы решить сложную задачу полнотекстового поиска.

Когда речь идет о поиске, просто LIKE запросы больше не всегда могут удовлетворить технические требования. Полнотекстовый поиск подразумевает не только поиск точных соответствий, но и учет схожести слов, учет морфологии, а также поддержку более сложных запросов. PostgreSQL, конечно, предоставляет средства для выполнения таких задач, и модуль pg_trgm — один из инструментов, с помощью которого это можно сделать.

Читать далее


PITR в PostgreSQL

Cколько раз вы сталкивались с ситуацией, когда что-то пошло не так и вам необходимо было в срочном порядке восстановить данные из бдшки, причем так, чтобы это было максимально близко к определенному моменту в прошлом? PITR – наш герой, спасающий наши нервы.

Читать далее


Управление загрузкой с помощью PostgreSQL и pg_headerkit

Supabase – это крутой open-source аналог Firebase, с его помощью можно организовать крутые штуки вроде ограничения скорости запросов.

Supabase – это инструмент, который дает возможность создавать масштабируемые серверные решения, используя PostgreSQL. С его помощью можно легко управлять базами данных, аутентификацией, хранением данных и реальным временем, но без всяких vendor lock-ins

Читать далее


Популярные расширения на PostgreSQL

В чем сила, бр..Постгреса? Сила PostgreSQL во многом заключается в его расширяемости, которая позволяет открыть больше функциональности.

В статье рассмотрим четыре популярных расширения на PostgreSQL на 2024 год.

Читать далее


Готовимся к собеседованию: 82 вопроса по MongoDB

С момента своего появления MongoDB успела завоевать огромную популярность благодаря своей способности обрабатывать большие объемы данных. Ее принятие только растет, впрочем, как и сам рынок, на котором она востребована. Если вы нацелены связать свою карьеру с MongoDB, то сейчас самое время. Чтобы помочь вам на этом пути, мы подготовили список часто задаваемых вопросов по MongoDB с собеседований и ответов на них.

Читать далее


Модели данных в NoSQL

NoSQL (от «Not Only SQL») представляют собой семейство баз данных, разработанных для решения проблем, связанных с хранением, извлечением и обработкой больших объемов разнообразных данных. Они отличаются от традиционных реляционных баз данных, таких как MySQL или PostgreSQL, тем, что не требуют жесткой схемы данных и предоставляют более гибкую структуру хранения.

Читать далее


Почему реляционные базы победили

Когда-то давно идея хранить данные в виде таблиц не была мейнстримом. Вспомним, как ей удалось за короткое время отодвинуть все прочие концепции на второй план.

Читать далее


Второе дыхание реляционной модели

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

Читать далее


Большие языковые модели и векторные базы данных

Появление генеративных моделей, а что еще более важно, появление их в широком доступе, разом изменило привычный «ландшафт» информационных технологий. Базы данных не остались в стороне. Как оказалось, с языком SQL большие языковые модели дружат чуть ли не лучше, чем со всеми остальными языками программирования. И это определенно дает новый импульс реляционным базам данных. Но только ли реляционным?

Читать далее


Системы управления временными рядами

Временные ряды играют огромную роль в множестве областей и исследований. Ведь они дают нам уникальную возможность изучать прошлое и делать предсказания о будущем. Например, в финансовой аналитике они позволяют нам анализировать изменения в ценах на акции, что помогает в принятии решений о инвестициях. В метеорологии, временные ряды используются для моделирования погоды и предсказания стихийных бедствий.

Читать далее


CAP-теорема: принципы согласованности, доступности и устойчивости

CAP-теорема, сформулированная Эриком Брюэром в 2000 году, сразу же приковала внимание специалистов в области распределенных систем и стала неотъемлемой частью арсенала знаний для разработчиков, стремящихся к созданию эффективных и устойчивых систем. 

Теорема Брюэра гласит, что в распределенной системе невозможно одновременно обеспечить полное выполнение всех трех принципов: согласованности, доступности и устойчивости к разделению (partition tolerance). То есть, при наличии разделения сети между узлами, система должна выбирать между согласованностью и доступностью.

Читать далее


Семантические базы данных: RDF, SPARQL и Linked Data

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

Основными строительными блоками семантических баз данных являются RDF (Resource Description Framework) – формальный язык для описания ресурсов и их отношений, SPARQL – язык запросов к RDF данным, и Linked Data – концепция объединения данных разных источников через общие семантические структуры

Читать далее


Установка и безопасная настройка Redis

Сегодня мы поговорим о СУБД Redis, рассмотрим процесс установки и настройки. В отличие от реляционных систем управления базами данных, Redis является СУБД класса NoSQL с открытым исходным кодом, работающей  со структурами данных типа «ключ — значение».

Читать далее


Организация SQL скриптов крупного проекта

Если проект использует реляционную СУБД обязательно возникнет вопрос — как организовать скрипты (миграции) для сохранения гибкости и уменьшения трудозатрат.

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

Читать далее


Кратко про Raft и Paxos: путь к надежным распределенным базам данных

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

Среди множества подходов к решению проблемы достижения консенсуса в распределенных системах, Paxos и Raft являются самыми эффективными. Рассмотрим их подробней.

Читать далее


SQL Server 2022: что можно сделать с VLF?

Виртуальные файлы журналов (Virtual Log Files – VLF) — это внутреннее разбиение реальных физических файлов, которое создает Database Engine SQL Server для работы с журналом транзакций. У VLF нет четко определенного размера, и их количество на один физический файл не является фиксированным. VLF создаются компонентом Database Engine во время создания или расширения файлов журналов.

Размер VLF рассчитывается динамически на основе размеров существующего журнала и нового файла приращения. За VLF, однако, числится дурная слава, которая заключается в том, что слишком большое количество VLF может вызвать ряд проблем, среди которых можно выделить существенное снижение скорости запуска базы данных, операции резервного копирования и восстановления журналов. Чем больше VLF было сгененрировано, тем дольше процесс восстановления базы данных, что может привести к превышению времени ожидания, ошибкам, связанным с памятью, и целому ряду других проблемам.

Читать далее


Повышение эффективности SQL-запросов: советы и рекомендации

В данном контексте, подчеркивается важность умения настраивать («в нужный режим») SQL-запросы для обеспечения их оптимальной производительности. Этот навык полезен для всех, кто работает с базой данных SQL Server — от обычных пользователей до администраторов и разработчиков, которые пишут собственные SQL-запросы.

В статье представлен ряд советов и методов, которые помогут читателям оценить производительность своих SQL-запросов и улучшить ее при необходимости. Здесь будут рассмотрены некоторые ключевые аспекты оптимизации запросов для SQL Server, чтобы помочь пользователям сделать их более эффективными и быстрыми.

Читать далее