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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Новый релиз MariaDB Community Server: версии 11.4.7 и 10.11.13 уже доступны. Обновления содержат важные исправления и улучшения. Подробнее о нововведениях и скачивании можно узнать в официальных заметках разработчиков.

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

#en

@database_design | Другие наши каналы
От таблицы в Excel до собственного инструмента: как мы строили в VK Cloud решение для работы с внешними партнерами

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

Меня зовут Елена Климанова. Я ведущий дата-аналитик в компании VK. В этой статье расскажу, как и почему мы прошли путь от использования excel-файлов при работе с внешними партнерами-вендорами до создания собственного продукта.


Читать: https://habr.com/ru/companies/vktech/articles/911960/

#ru

@database_design | Другие наши каналы
Сервер, которому не суждено было жить



На днях я прочитал новость, которая оживила воспоминания о важном — и болезненном — эпизоде моей карьеры.

Это история о доверии, технологиях… и задачах, которые не всегда можно решить.

Где-то 16 лет назад со мной связался давний друг. Его беспокоила ситуация, связанная с одним общим знакомым.

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

Читать: https://habr.com/ru/companies/ruvds/articles/911044/

#ru

@database_design | Другие наши каналы
Работа с длинными строками в PostgreSQL

Если в таблицах БД PostgreSQL есть поля большого размера, при выгрузке часть строк таких таблиц может не выгружаться с выдачей ошибки ERROR: out of memory. Столкнуться с подобной ситуацией можно, например, при выгрузке утилитой pg_dump таблиц, в которых хранятся XML-документы, или при выгрузке таблицы public.config системы «1C:Предприятие». В статье рассматриваются причины возникновения подобных ошибок и способы решения проблемы.


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

#ru

@database_design | Другие наши каналы
Программист опубликовал жесткий манифест против «ИИ-зависимых» разработчиков

Программист опубликовал манифест против ИИ-зависимых разработчиков — сарказм, злость и призыв вернуться к настоящему кодингу

Читать: «Программист опубликовал жесткий манифест против «ИИ-зависимых» разработчиков»

#ru

@database_design | Другие наши каналы
Новое в архитектуре баз данных для ИИ: объединённый подход MongoDB Atlas позволяет хранить и искать векторы и традиционные данные в одной системе. Это упрощает разработку, повышает надёжность и снижает задержки, обеспечивая быстрый выход инноваций на рынок. MongoDB Atlas представил интеграцию векторного поиска прямо в базу данных. Это упрощает работу с векторными данными, устраняя сложности синхронизации и снижая задержки по сравнению с разделённой архитектурой с несколькими системами. Выбор архитектуры для AI-приложений: разделённая или объединённая? Статья рассказывает, когда стоит использовать отдельные системы для поиска и хранения, а когда выгоднее объединить всё в одной платформе, как MongoDB Atlas Vector Search, чтобы упростить разработку и повысить эффективность.

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

#en

@database_design | Другие наши каналы
Google Keep как инбокс, интеграция с Telegram

Ссылки, скриншоты, статьи, заметки на ходу, важные сообщения — всё это появляется спонтанно, быстро, в разных местах. А потом так же быстро теряется. Закладки, “Избранное” в Telegram, “Посмотреть позже” — удобны в моменте, но со временем превращаются в захламлённые корзины. И главное — всё это разбросано по разным сервисам.

Я искал инструмент, который позволял бы мне фиксировать все интересное быстро, удобно и централизованно. И таким инструментом стал Google Keep - инбокс, точка входа для всего. Расскажу, почему выбрал именного его и как сделал интеграцию с Telegram.


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

#ru

@database_design | Другие наши каналы
Как мы уменьшали размер базы данных

Больше года назад мы в LEADS.SU задумались над высокодоступностью нашей БД и начали искать различные варианты. Круг решений сужало то, что мы используем TokuDB, который уже не поддерживается. Вариантов было несколько, но точно было понятно что запуск кластера повлечет за собой полное клонирование файлов /var/lib/mysql, к тому моменту размер этой директории уже перевалил за пару сотен гигабайт и мы задумались над ревизией данных, что привело к долгоиграющему процессу по уменьшению размера БД.

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


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

#ru

@database_design | Другие наши каналы
👍1
Pytest-xdist: как распараллелить тесты без конфликтов в базе

Привет! Я Андрей Сташок, бэкенд-разработчик в KTS. В этой статье я расскажу о запуске параллельных тестов через pytest-xdist.

Почему это важно?

Объясню на нашем примере. При разработке продуктов мы постоянно выполняем юнит-тестирование. Раньше мы проверяли все последовательно, и с расширением тестовой базы время проведения испытаний заметно возрастало. Распараллеливание через pytest-xdist помогло нам сильно ускориться, и сегодня я хочу поделиться этим трюком с вами.

Я расскажу, как запускать параллельные тесты для реляционной БД PostgreSQL (с драйверами asyncpg и psycopg2) и key-value БД Redis. Для подключения к реляционной БД мы будем использовать SQLAlchemy, а для Redis — библиотеку redis. Кроме того, я рассмотрю, как автоматизировать выполнение миграций при каждом запуске тестов с использованием alembic.


Читать: https://habr.com/ru/companies/kts/articles/912840/

#ru

@database_design | Другие наши каналы
Какие есть альтернативы Prometheus, если для метрик его стало недостаточно

Prometheus прекрасно подходит для краткосрочного мониторинга, но у этого решения есть свои ограничения по масштабу, и если вы столкнулись с высоким потреблением памяти/CPU, снижением скорости запросов или вам требуются уникальные лейблы вида user ID, то стоит подумать над внедрением альтернатив. На наш взгляд следующими после Prometheus в линейке стоят Thanos, Cortex, Mimir или VictoriaMetrics. Объективное, насколько это возможно, сравнение характеристик этих решений мы и проведем ниже.
СОДЕРЖАНИЕ

0. В каких случаях нужно задуматься о замене Prometheus
1. Обзор решений для долгосрочного хранения метрик
2. Сравнение решений: Thanos, Cortex, Mimir и VictoriaMetrics
3. Как выбрать подходящее решение

* 3.1. Что важнее: простота или масштаб?
* 3.2. Стоимость
* 3.3. Надёжность и высокая доступность
* 3.4. Насколько подходит по задачам?
4. Миграция с Prometheus на долгосрочное хранилище
5. Сохранение алертов и дашбордов
6. Как избежать потери данных при миграции

* 6.1. Параллельный запуск и проверка
* 6.2. Мониторинг очередей remote_write
* 6.3. Аккуратное отключение Prometheus
* 6.4. Резервное копирование
* 6.5. Тестирование
7. Лучшие практики эксплуатации долгосрочного хранилища метрик
8. Высокая доступность и избыточность
9. Мониторинг состояния хранилища метрик
10. Обработка долгосрочных запросов и типовые ошибки


* 10.1 Используйте recording rules для тяжёлых агрегаций
* 10.2 Не злоупотребляйте лейблами с высокой кардинальностью
* 10.3 Downsample старые точки данных
* 10.4 Осторожно с федерацией Prometheus
11. Обслуживание и обновления (Maintenance & Upgrades)
12. Итого. Как жить с продакшн-наблюдением



Читать: https://habr.com/ru/companies/itsumma/articles/912804/

#ru

@database_design | Другие наши каналы
Увидеть за секунду: как единая CDN в VK позволяет доставлять контент без задержек

Сегодня VK — это технологическая компания с комплексом цифровых продуктов и сервисов, объединяющая десятки миллионов пользователей с разными интересами. Среди наших сервисов — ВКонтакте, VK Видео, VK Музыка, Одноклассники, Дзен, RuStore, Почта Mail, а также игровые, образовательные и облачные платформы. Каждый продукт генерирует огромные объёмы контента: видео, статьи, приложения, почтовый трафик, стримы и многое другое.

По мере роста компании и появления новых направлений для каждого крупного продукта мы создавали собственные решения по доставке контента. В итоге внутри VK возникла россыпь частных CDN, что осложняло развитие и сопровождение инфраструктуры. В 2024 году мы решили изменить подход и сделали первые шаги к созданию единой CDN для всей VK. Это инфраструктура, которая сможет эффективно обслуживать все наши сервисы и миллионы пользователей по всей стране.

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


Читать: https://habr.com/ru/companies/vk/articles/911752/

#ru

@database_design | Другие наши каналы
👍1
Все что нужно PostgreSQL: быстрые диски, дорогой процессор и терабайты RAM

В облачном мире PostgreSQL возникает много вопросов. Какую конфигурацию выбрать для старта кластера? Сколько оперативной памяти и ядер CPU нужно под мою базу данных? Нужны ли под такой профиль нагрузки высокочастотные процессоры? Какое должно быть соотношение RAM к Storage в кластере? Хватает ли ресурсов и на системные службы, и на кэширование запросов? Не переплачиваю ли я?

Всем привет! Меня зовут Гришин Александр, я руководитель по развитию продуктов хранения данных в Selectel, отвечаю за объектное S3-хранилище и облачные базы данных. В этой статье я поделюсь своими практическими рекомендациями и ориентирами по планированию использования ресурсов кластера в PostgreSQL — в зависимости от типа и профиля нагрузки, размера данных, и характера доступа к ним. Погнали!

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

#ru

@database_design | Другие наши каналы
Защита AI-приложений с MongoDB и Enkrypt AI
Новый альянс MongoDB и Enkrypt AI повышает безопасность генеративного ИИ, предотвращая атакующие внедрения вредоносных данных в RAG-работочие процессы. Это важный шаг для надежного и масштабируемого внедрения ИИ в бизнесе. MongoDB обвиняет FerretDB в недобросовестной конкуренции и нарушении патентов

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

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

#en

@database_design | Другие наши каналы
MongoDB усиливает защиту: теперь бесплатный уровень Atlas участвует в публичной программе bug bounty, а сотрудничество с GitHub помогает быстрее находить утечки ключей доступа. Это важный шаг к более безопасной работе с данными и уменьшению рисков для клиентов. Безопасность ИИ: новые риски и решение с MongoDB и Enkrypt AI

Статья раскрывает, как уязвимости в инструкциях генеративных ИИ могут привести к мошенничеству и финансовым потерям. Партнёрство MongoDB и Enkrypt AI помогает эффективно защищать данные и снижать риски при внедрении ИИ.

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

#en

@database_design | Другие наши каналы
CasaOS: персональное облако на домашнем сервере

Представьте, что можно управлять всеми приложениями, трансляциями фильмов и музыки, бэкапами, дисковым хранилищем, устройствами умного дома — с домашнего сервера. Это есть личное или персональное облако, то есть аналог публичных облачных сервисов, но на своём сервере, дома или на VPS.

Например, система CasaOS изначально создавалась для одноплатника ZimaBoard (на фото), который позиционируется как мини-NAS. Главная ценность — отшлифованный UI с системными гаджетами для домашнего сервера, отобранный список приложений в каталоге, полезных именно для личного облака, и установка всех программ в докер-контейнерах в один клик. Плюс минимальные системные требования, поддержка старых ПК и одноплатников, включая Intel NUC и Raspberry Pi.

Читать: https://habr.com/ru/companies/ruvds/articles/913392/

#ru

@database_design | Другие наши каналы
Новая интеграция MongoDB Atlas и Enkrypt AI усиливает защиту данных в AI-приложениях. Вместе они предотвращают угрозы и обеспечивают безопасность генеративного AI, позволяя компаниям внедрять технологии без риска и с соблюдением нормативов. MongoDB усиливает безопасность: бесплатный уровень Atlas теперь включён в программу bug bounty, а компания присоединилась к GitHub secret scanning. Это помогает быстрее выявлять уязвимости и предотвращать утечки данных, повышая защиту пользователей и разработчиков.

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

#en

@database_design | Другие наши каналы
PondPilot: как мы сделали локальный SQL-редактор в браузере на DuckDB и WASM

Любой, кто хоть раз пытался «по-быстрому» проанализировать CSV-файл или прототип БД, сталкивался с выбором из неудобств: открывать в Excel, запускать Jupyter, возиться с pandas, или поднимать Postgres/ClickHouse ради пары запросов. Мне показалось странным, что в 2025 году до сих пор нет удобной zero-setup SQL-песочницы для локальных данных.

Так родился PondPilot - open-source инструмент для анализа данных, работающий прямо в браузере, без серверов и настройки.


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

#ru

@database_design | Другие наши каналы
S3 в мире Kubernetes: как объектное хранилище сделать частью контейнеров (подоход от команды Deckhouse)

Статья рассказывает о том, как облачное объектное хранилище S3 можно интегрировать с Kubernetes с помощью решений от Deckhouse и файловой системы GeeseFS. Автор объясняет, зачем вообще подключать S3 как том для контейнерных приложений, какие задачи это решает и почему для этого выбран именно GeeseFS. А ещё честно указывает на подводные камни — ограничения по скорости, отсутствие привычных файловых атрибутов, особенности кэширования и диагностику.


Читать: https://habr.com/ru/companies/flant/articles/910938/

#ru

@database_design | Другие наши каналы
Как мы храним 20000+ метрик и миллиарды комбинаций разрезов в одной таблице

Привет! Меня зовут Влад Божьев, я старший разработчик юнита АБ-тестирования Авито. Один из наших ключевых инструментов – M42, сервис для визуализации метрик. Он позволяет быстро проверять гипотезы, анализировать отклонения и оценивать инициативы.

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

В нашем семантическом слое данных больше  20 000 метрик, и есть десятки разрезов для каждой из них. Под катом рассказываю, как мы храним терабайты данных и автоматизируем добавление новых разрезов в отчёт M42.


Читать: https://habr.com/ru/companies/avito/articles/913694/

#ru

@database_design | Другие наши каналы
Цель — ваша компания: как защитить данные от кибератак

Алексей Власов, партнер и коммерческий директор ИТ-интегратора Notamedia, рассказывает, с какими киберугрозами сталкиваются B2B- и B2G-сектора и как организациям защитить свои данные.

Читать: «Цель — ваша компания: как защитить данные от кибератак»

#ru

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

Когда вы разворачиваете веб-приложение, чаще всего у вас веб-сервер, бэкенд, база данных и авторизация оказываются на одном сервере. Первые пользователи, обычно тестировщики и менеджер, счастливы — все летает. Но потом приложение выходит в продакшн и начинается боль. Запросы тормозят и отвечают по пять секунд, CPU не загружен даже на треть, веб-сервер швыряет 504 Gateway Timeout и т. д. И вот вы сидите ночью и чините прод, потому что PostgreSQL — не просто «табличка с данными», а сложный инструмент с кэшем, индексами, буферами и планировщиком запросов.

Привет, Хабр! Меня зовут Александр Гришин, я продакт-менеджер в Selectel и отвечаю за развитие облачных баз данных и объектного S3 хранилища. В работе я часто сталкиваюсь с вопросами о производительности PostgreSQL, поэтому собрал практические советы для разработчиков, инженеров и архитекторов облачной инфраструктуры. В статье рассмотрим, как правильно использовать индексы, анализировать планы выполнения запросов и избегать типичных ошибок при проектировании схемы. Погнали!

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

#ru

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