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 MaxScale 25.01 бесплатно! MaxScale Trial — это временный бесплатный доступ ко всем функциям мощного прокси для баз данных: продвинутое маршрутизирование запросов, балансировка нагрузки и гибкая фильтрация ждут вас. Подробнее по ссылке.

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

#en

@database_design | Другие наши каналы
Автономные AI-агенты меняют обработку страховых случаев, помогая ускорить оценку ущерба и повысить точность решений. В новой статье обсуждается, как такие системы с MongoDB облегчают работу страховщиков и улучшают клиентский опыт. BioIntelliSense и Enpal трансформируют свои отрасли с помощью MongoDB Atlas. Биотехнологии и возобновляемая энергетика получают масштабируемые решения для обработки больших потоков данных в реальном времени, экономя ресурсы и ускоряя инновации. Узнайте подробности в статье.

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

#en

@database_design | Другие наши каналы
Новое слово в базах данных: объединение SQL и NoSQL. В статье рассказывается, как сочетание JSON-документов и реляционных возможностей открывает новые горизонты для разработки и управления данными. Узнайте, что это значит для будущего технологий.

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

#en

@database_design | Другие наши каналы
Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR

Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности?

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


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

#ru

@database_design | Другие наши каналы
«Светлые планы на будущее»: новые RISC-V процессоры, GPU и СХД

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

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

#ru

@database_design | Другие наши каналы
Снапшоты, клоны и не только: как устроен и что умеет маппер в СХД TATLIN

Привет, Хабр! Меня зовут Алексей, я главный эксперт по разработке ПО в компании YADRO. В этой статье я расскажу об устройстве такого важного программного компонента СХД, как маппер, о реализуемой с его помощью функциональности TATLIN.UNIFIED — полноценных тонких томах, снапшотах, клонах — и о планах по развитию этого компонента.


Читать: https://habr.com/ru/companies/yadro/articles/911514/

#ru

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

Чувство юмора, как известно, присуще не всем людям и тем более не всем ИИ-системам. Чтобы ваш чат-бот или ИИ-ассистент мог шутить, нужна основа в виде большой языковой модели типа GPT-4o и ей подобных, API к которым стоит дорого. А что если чувство юмора нужно «привить» сервису, базирующемуся на открытой LLM с меньшим количеством параметров? Причем так, чтобы модель не выдавала шутки, за которые в приличном обществе, мягко скажем, можно получить порицание, выражающееся не только в словесной форме.

Способность открытых LLM шутить, причем по-доброму, могла бы расширить применение ИИ во многих сферах – образовании, терапии, обслуживании клиентов. Так что мы с коллегами из Лаборатории естественного языка НИУ ВШЭ задались этим вопросом и попытались разработать собственную методологию курирования (фильтрации и аннотирования) наборов данных для генерации доброго юмора на малых LM. По всем научным канонам мы ее описали и оценили в этом препринте. А здесь я постараюсь рассказать о ней чуть короче и менее научно.

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


Читать: https://habr.com/ru/companies/mts_ai/articles/911860/

#ru

@database_design | Другие наши каналы
Повышаем эффективность хранения данных до 300 раз с помощью таблиц SCD-2

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

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

Разберем, что из себя представляют Slowly Changing Dimensions-2 (далее SCD-2) таблицы и самостоятельно реализуем на PySpark алгоритм сохранения данных в них. Попутно поговорим о том, как находить изменения в любой таблице, даже если отсутствуют поля для выбора изменившихся записей, и научимся получать из созданной SCD-2 таблицы срезы на требуемую дату в прошлом.


Читать: https://habr.com/ru/companies/X5Tech/articles/911716/

#ru

@database_design | Другие наши каналы
Унифицированная архитектура баз данных для AI снижает сложности разработки и обеспечивает консистентность данных благодаря атомарным операциям. MongoDB Atlas объединяет в себе векторный поиск и транзакции, упрощая масштабирование и ускоряя внедрение AI-функций без синхронизации нескольких систем. Единая архитектура MongoDB с векторным поиском упрощает работу с данными, объединяя хранение документов и их векторных представлений. Это устраняет проблемы синхронизации, повышает надежность и ускоряет разработку AI-приложений без сложных механизмов согласования и «призрачных» документов. Технологии меняют бизнес: как компании используют MongoDB для адаптации и инноваций. В статьях рассказывается о реальных историях успеха LG U+, Citizens Bank и других, которые внедряют AI и облачные решения для повышения эффективности и безопасности. Узнайте больше!

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

#en

@database_design | Другие наши каналы
Прощание с Atlas Device Sync: как WeKan и MongoDB помогут безболезненно перейти на новые технологии и построить современные приложения с высокой производительностью и масштабируемостью. Узнайте, как подготовиться к миграции и обеспечить будущее ваших продуктов. Как упростить AI-поиск: разделённая архитектура с двумя базами данных требует сложной синхронизации и увеличивает риски рассогласования данных. В отличие от неё, unified-архитектура MongoDB Atlas объединяет в одном хранилище операции с векторами и основными данными, повышая надёжность и снижая сложность разработки. Единая архитектура данных в MongoDB решает проблему рассинхронизации между документами и векторными индексами. Благодаря транзакциям обновления и удаление выполняются одновременно, исключая «призрачные» документы и улучшая точность поиска и надежность AI-приложений.

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

#en

@database_design | Другие наши каналы
Obsidian: исчерпывающее руководство по Templater

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


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

#ru

@database_design | Другие наши каналы
Новый релиз 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 | Другие наши каналы