DATABASE DESIGN – Telegram
DATABASE DESIGN
1.41K subscribers
2.09K photos
3 videos
5.31K links
Лучшие материалы по работе с хранилищами данных на русском и английском языке

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Бенчмарк бенчмарка Lakehouse-движков, в котором побеждает объективная реальность

Недавно на хабре вышла статья с громким заголовком “Бенчмарк lakehouse-движков, часть 1: StarRocks и Doris падают под нагрузкой, Presto аутсайдер, CedrusData быстрее всех”. В своей статье авторы из Кверифай Лабс выбрали методику TPC-DS, но вместо 99 запросов остановилась на одном, который к тому же запускается на одной машине. Обосновывается это тем, что на одном конкретном запросе нужно разобрать работу оптимизаторов. По результатам исследования делается вывод, что решение, разработанное авторами, является лучшим, в том числе для запуска одного конкретного запроса на одном узле. Давайте попробуем разобраться, действительно ли это так.


Читать: https://habr.com/ru/companies/datasapience/articles/964052/

#ru

@database_design | Другие наши каналы
От слов к делу: как Postgres Pro строит будущее в Академгородке

Большинство IT-компаний говорят, что поддерживают open source. На деле это часто означает использование чужого кода и PR-активность. Мы считаем, что настоящий вклад — это коммиты в ядро. И чтобы делать это системно, мы открыли инженерный центр не в столичном бизнес-парке, а в месте, где фундаментальная наука — часть культурного кода. Рассказываем, почему будущее системного программирования мы строим в новосибирском Академгородке.


Читать: https://habr.com/ru/companies/postgrespro/articles/964274/

#ru

@database_design | Другие наши каналы
1
Горизонтальное шардирование: проблемы, решения, практические рекомендации

Рано или поздно один сервер перестает справляться. Вы можете купить ему больше памяти, больше CPU, более быстрые диски (вертикальное масштабирование), но в конце концов вы упретесь в потолок. Самый большой сервер конечен. Горизонтальное шардирование — это признание этого факта.

Это философия разделяй и властвуй, примененная к данным. Вместо одной гигантской таблицы users на одном сервере, вы создаете 10, 100 или 1000 маленьких таблиц users, разбросанных по разным серверам (шардам). Это дает почти безграничную масштабируемость на запись и чтение.


Читать: https://habr.com/ru/articles/963960/

#ru

@database_design | Другие наши каналы
Адский эксперимент: личный сайт на нищих микросервисах

Микросервисы тут, микросервисы там… Из каждого утюга доносится дивный сказ про прекрасный мир микросервисов. А ведь это всего лишь один вид из десятка архитектурных стилей, который имеет свои достоинства и недостатки.
В этом эксперименте мы внедрим микросервисы в личный сайт, нарушив ключевые принципы DDD. Я создам антипаттерн «бедных сервисов» (Anemic Domain Model) и покажу, чем опасен прямой доступ к данным между микросервисами.
Эта статья о том, что за прекрасным внешним видом, большой функциональностью, высокопроизводительным исправным кодом может скрываться абсолютное зло.


Читать: https://habr.com/ru/articles/964450/

#ru

@database_design | Другие наши каналы
Разработчик Yandex Cloud вошел в топ-50 контрибьюторов PostgreSQL в мире

Разработчик Yandex Cloud Андрей Бородин вошел в топ-50 контрибьюторов PostgreSQL — 10 лет в проекте и сотни апстрим-патчей в ядро

Читать: «Разработчик Yandex Cloud вошел в топ-50 контрибьюторов PostgreSQL в мире»

#ru

@database_design | Другие наши каналы
Всё, что я знаю о хорошем системном дизайне

Хороший системный дизайн редко выглядит эффектно. В нём нет модных паттернов, десятков сервисов и Kafka на каждый чих. Он скучен — и именно поэтому работает. В этой статье автор рассуждает о том, почему простота — не наивность, а зрелость инженерного мышления; как состояние становится главным врагом стабильности; и почему настоящая архитектура рождается не из гениальных трюков, а из понимания границ и закономерностей сложных систем.
Разобраться в сути

Читать: https://habr.com/ru/companies/otus/articles/960948/

#ru

@database_design | Другие наши каналы
Как не получилось сделать PostgreSQL лучше (и почему это нормально)

Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе.

Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву.

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


Читать: https://habr.com/ru/companies/yandex/articles/964778/

#ru

@database_design | Другие наши каналы
Как мы перенесли данные из Google Drive на облачный диск с Nextcloud

К хостинг-провайдеру HB.BY, где я работаю, обратился клиент. Он просил перенести документы компании из Google Drive на облачный диск с развёрнутым и настроенным Nextcloud.

Почему мы выбрали не самый простой способ и как исправили две внезапные проблемы, которые не давали начать копирование файлов. Но в итоге всё перенесли. И вот как это было…


Читать: https://habr.com/ru/articles/964910/

#ru

@database_design | Другие наши каналы
Как отследить трафик PostgreSQL

Недавно я изучал детали реализации взаимодействия клиента PostgreSQL с базой данных и был удивлён, насколько легко просматривать трафик PostgreSQL с помощью wireshark. Когда я поделился своим удивлением в социальной сети, меня попросили привести пример того, как это сделать.


Читать: https://habr.com/ru/companies/gnivc/articles/962184/

#ru

@database_design | Другие наши каналы
MariaDB Enterprise Manager — нативное управление MariaDB
В материале описано решение для централизованного наблюдения и управления окружениями MariaDB: топологически осведомленный мониторинг и визуальные инструменты для разработки запросов и управления схемой, созданное командой MariaDB.

Читать подробнее

#en

@database_design | Другие наши каналы
СУБД Tantor Postgres 17.6: обзор улучшений для 1С

Продолжаем знакомить вас с улучшениями СУБД Tantor Postgres для работы с продуктами 1С. В рамках предыдущей статьи о нововведениях версии 17.5 мы разобрали арсенал специализированных функций, призванных существенно ускорить выполнение типичных для 1С операций, снизить нагрузку на инфраструктуру и упростить администрирование. Сегодня мы рассмотрим, с какими проблемами можно столкнуться при высоких значениях default_statistics_target, расскажем о новых оптимизациях для ускорения выполнения запросов, и, конечно, коснемся временных таблиц.


Читать: https://habr.com/ru/companies/tantor/articles/965264/

#ru

@database_design | Другие наши каналы
Что лучше — код или drag-and-drop в BI? Дайте и то, и другое

В последние годы анализ данных прошел путь от диаграмм в Excel до сложных интерактивных дашбордов, которые помогают принимать взвешенные решения. Одновременно с этим сформировалось устойчивое представление о дашборде как о наборе диаграмм, таблиц и фильтров, собранных в визуальном редакторе методом drag-and-drop. Этот подход действительно сделал аналитику доступной: он быстрый, понятный и не требует знаний в программировании.

Но! В нашей работе все чаще появляются нетривиальные задачи, поэтому помимо Self-Service мы, команда интерактивной аналитики Инновационного центра «Безопасный транспорт», находим новые способы реализации интересных проектов. В этой статье мы хотим поговорить о том, какую пользу приносит разработка в BI.


Читать: https://habr.com/ru/companies/visiology/articles/965324/

#ru

@database_design | Другие наши каналы
Repository Pattern в управлении базами данных: пример интеграции NocoDB в Django

Классический сценарий: есть база данных и приложение на бэкенде. Для подключения достаточно знать адрес, порт, имя пользователя, пароль — и прямой доступ перед вами. Но что делать, если необходимо подключить no-code базу данных, которой можно управлять только через REST API? Есть ли способ интегрировать такие подключения в логику «красиво», не поломав архитектуру?

Привет, Хабр! Меня зовут Влад, в свободное время я занимаюсь разработкой. В этой статье расскажу, как мне удалось относительно нативно интегрировать работу с платформой NocoDB на бэкенде, какие можно использовать паттерны и зачем мне понадобилось разработать собственный Python-модуль. Подробности под катом!


Читать: https://habr.com/ru/companies/selectel/articles/965536/

#ru

@database_design | Другие наши каналы
Очереди сообщений в Postgres Pro: отказ от внешних брокеров ради транзакционной надёжности

Ваш сервис отправил сообщение в RabbitMQ, но в момент коммита транзакция в базе данных откатилась. Классический кошмар распределенных систем, порождающий данные-призраки и часы отладки. Обычно эту проблему решают сложным кодом, двухфазными коммитами или просто надеждой на лучшее. А что, если бы откат транзакции в PostgreSQL мог автоматически «откатить» и отправку сообщения, вернув его в очередь без единой строчки вашего кода? Рассказываем, как это работает.


Читать: https://habr.com/ru/companies/postgrespro/articles/965632/

#ru

@database_design | Другие наши каналы
Новый этап в MongoDB — смена CEO
Dev Ittycheria объявила о решении уйти с поста CEO; с 10 ноября 2025 Chirantan «CJ» Desai станет новым CEO. Dev останется в совете и поможет с переходом. Компания готовится к следующему этапу роста. Завтра пройдёт общая встреча для вопросов.

Читать подробнее

#en

@database_design | Другие наши каналы
GFS2 — файловая система для новой виртуализации: наш опыт интеграции в SpaceVM

Рассказываем о своем опыте ее внедрения в нашу платформу виртуализации SpaceVM.

Современные ИТ-инфраструктуры часто строятся вокруг виртуализации и облаков, где несколько серверов одновременно обращаются к одним и тем же данным. В таких системах ключевым становится не просто объем или скорость хранилища, а способ доступа к данным — общий или локальный, файловый или блочный. От того, как именно организовано взаимодействие с хранилищем, зависит архитектура всего решения: от производительности виртуальных машин до отказоустойчивости кластера.

Локальные хранилища привычны для одиночных серверов: диск или массив принадлежит конкретному узлу, который управляет им напрямую. Общие (shared) хранилища, напротив, предоставляют единое пространство данных для нескольких серверов. Именно они лежат в основе высокодоступных кластеров и виртуализационных платформ, где важно, чтобы виртуальные машины могли мигрировать между узлами без потери доступа к своим дискам.

Но общий доступ — это не только вопрос архитектуры, но и способа взаимодействия с данными. Файловые протоколы (NFS, SMB и др.) дают возможность работать с файлами на уровне операционной системы, но вносят дополнительные задержки и ограничения. Блочные протоколы (iSCSI, Fibre Channel) предоставляют более низкоуровневый доступ — сервер видит удаленное устройство как локальный диск. Однако при этом возникает другая проблема: как синхронизировать работу нескольких узлов с одним и тем же блочным устройством, не разрушив файловую систему?

Ответ на этот вызов дают кластерные файловые системы, специально разработанные для совместного блочного доступа. Одна из самых зрелых и функциональных среди них — GFS2 (Global File System 2). В нашем опыте ее интеграция в собственный продукт - платформу виртуализации SpaceVM - позволила приблизиться к созданию устойчивой, масштабируемой и по-настоящему отказоустойчивой среды.


Читать: https://habr.com/ru/companies/spacevm/articles/965388/

#ru

@database_design | Другие наши каналы
Text-to-SQL нового поколения: как мультиагентная система решает задачу

В этой статье хочу рассказать о нашей передовой системе Text-to-SQL, построенной на базе динамической мультиагентной архитектуры. Вместо одной модели — команда из шести специализированных агентов. Каждый отвечает за свой участок работы: один проверяет безопасность на входе, второй понимает намерение пользователя, третий ищет нужные таблицы, четвертый пишет код, пятый проверяет его на уязвимости, шестой безопасно выполняет и логирует результат.

Это универсальная платформа, где данные под полным контролем, а точность запросов на порядок выше. Text-to-SQL — лишь первое применение. Архитектура позволяет решать любые AI-задачи, где критична надежность.


Читать: https://habr.com/ru/companies/gazprombank/articles/965292/

#ru

@database_design | Другие наши каналы
Почему важны семантические слои — и как собрать такой слой на DuckDB

Многие задаются вопросом: «Зачем мне семантический слой? Что это вообще такое?» В этом практическом руководстве мы соберём самый простой семантический слой — всего лишь из файла YAML и Python-скрипта. Цель не в том, чтобы построить слой ради самого слоя, а в том, чтобы понять его ценность. Затем мы выполним запросы к данным о 20 миллионах поездок нью-йоркских такси, используя согласованные бизнес-метрики, при этом запросы выполняются через DuckDB и Ibis. К концу вы точно будете понимать, когда семантический слой действительно решает проблемы, а когда это избыточно.
К семантике данных

Читать: https://habr.com/ru/companies/otus/articles/966196/

#ru

@database_design | Другие наши каналы
JSON? JSONB? BSON? CBOR? MsgPack? А, VaryPackǃ

VaryPack - новый, простой, гибкий, шустрый и компактный формат бинарной сериализации произвольных данных.
Что за модная тема?

Читать: https://habr.com/ru/articles/966270/

#ru

@database_design | Другие наши каналы
JSON? JSONB? BSON? CBOR? MsgPack? А, VaryPackǃ

VaryPack - новый, простой, гибкий, шустрый и компактный формат бинарной сериализации произвольных данных.
Что за модная тема?

Читать: https://habr.com/ru/articles/966270/

#ru

@database_design | Другие наши каналы
Интеграция OpenSearch: от функционального тестирования до проверки интеллекта поиска

Привет, меня зовут Ирина, я тестировщик в продуктовой команде iSpring.

В этой статье я на реальном примере интеграции OpenSearch в LMS iSpring Learn расскажу, как протестировать полнотекстовый поиск, сохранив баланс между качеством и трудозатратами. Мы не только разберём базовые проверки, но и погрузимся в тестирование стемминга, релевантности, работу в распределённой системе и отказоустойчивости. Материал будет полезен тестировщикам и разработчикам, которые хотят понять, что скрывается за фразой «протестировать поиск».

Я поделюсь опытом интеграции OpenSearch с web-продуктом, чтобы другим тестировщикам было проще избежать возможных ошибок и сэкономить время на этапе проверок.


Читать: https://habr.com/ru/companies/ispring/articles/966096/

#ru

@database_design | Другие наши каналы