WAP паттерн в data-engineering
Несмотря на бурное развитие дата инжиниринга, WAP паттерн долгое время незаслуженно обходят стороной. Кто-то слышал о нем, но не применяет. Кто-то применяет, но интуитивно. В этой статье хочу на примере детально описать паттерн работы с данными, которому уже почти 8 лет, но за это время ни одна статья не была написана с принципом работы.
Читать: https://habr.com/ru/articles/937738/
#ru
@database_design | Другие наши каналы
Несмотря на бурное развитие дата инжиниринга, WAP паттерн долгое время незаслуженно обходят стороной. Кто-то слышал о нем, но не применяет. Кто-то применяет, но интуитивно. В этой статье хочу на примере детально описать паттерн работы с данными, которому уже почти 8 лет, но за это время ни одна статья не была написана с принципом работы.
Читать: https://habr.com/ru/articles/937738/
#ru
@database_design | Другие наши каналы
От GreenPlum к Mirrorship: Кейс трансформации Bank of Hangzhou Consumer Finance на основе архитектуры Lakehouse
Узнайте, как Bank of Hangzhou Consumer Finance решил проблемы с отслеживаемостью и real-time данными, перейдя с GreenPlum на Lakehouse-архитектуру на базе Mirrorship. Реальный кейс о трансформации дата-платформы в финтехе.
Читать: «От GreenPlum к Mirrorship: Кейс трансформации Bank of Hangzhou Consumer Finance на основе архитектуры Lakehouse»
#ru
@database_design | Другие наши каналы
Узнайте, как Bank of Hangzhou Consumer Finance решил проблемы с отслеживаемостью и real-time данными, перейдя с GreenPlum на Lakehouse-архитектуру на базе Mirrorship. Реальный кейс о трансформации дата-платформы в финтехе.
Читать: «От GreenPlum к Mirrorship: Кейс трансформации Bank of Hangzhou Consumer Finance на основе архитектуры Lakehouse»
#ru
@database_design | Другие наши каналы
Надежное хранение личной информации — 2025 год
Мысль написания такой статьи зародилась по итогам обсуждений на форуме iXBT вопроса о том, как организовать хранение в домашних условиях некоторого количества личной информации. Статья "LLM free", все картинки и текст - органического происхождения ;)
Начнем со вводных параметров:
- есть желание сохранить на длительный срок (для конкретности берем 40 лет) данные, при этом сведя к возможному минимуму вероятность их утраты;
- данные включают в себя - электронные копии документов, семейные фото, видео. У них есть особое свойство - в случае утраты всех копий восстановление невозможно. Это не фильмы или музыка, которые можно найти в Сети и скачать повторно. Объем данных, по результатам опроса знакомых и коллег - не превышает 1 терабайта;
- человек, озаботившийся сохранением данных - не профессиональный сисадмин, и возможно - даже не связан с IT, поэтому написанием скриптов, постройкой СХД, и установкой в кладовке ленточной библиотеки заниматься не будет, все инструменты должны быть доступны простому обывателю и... ;
- ...не требовать чрезмерно много расходов, в идеале - как говорит нам ТРИЗ, "объекта нет - а задача выполняется".
Читать дальше
Читать: https://habr.com/ru/articles/929920/
#ru
@database_design | Другие наши каналы
Мысль написания такой статьи зародилась по итогам обсуждений на форуме iXBT вопроса о том, как организовать хранение в домашних условиях некоторого количества личной информации. Статья "LLM free", все картинки и текст - органического происхождения ;)
Начнем со вводных параметров:
- есть желание сохранить на длительный срок (для конкретности берем 40 лет) данные, при этом сведя к возможному минимуму вероятность их утраты;
- данные включают в себя - электронные копии документов, семейные фото, видео. У них есть особое свойство - в случае утраты всех копий восстановление невозможно. Это не фильмы или музыка, которые можно найти в Сети и скачать повторно. Объем данных, по результатам опроса знакомых и коллег - не превышает 1 терабайта;
- человек, озаботившийся сохранением данных - не профессиональный сисадмин, и возможно - даже не связан с IT, поэтому написанием скриптов, постройкой СХД, и установкой в кладовке ленточной библиотеки заниматься не будет, все инструменты должны быть доступны простому обывателю и... ;
- ...не требовать чрезмерно много расходов, в идеале - как говорит нам ТРИЗ, "объекта нет - а задача выполняется".
Читать дальше
Читать: https://habr.com/ru/articles/929920/
#ru
@database_design | Другие наши каналы
Рефакторинг скриптов liquibase
Неважно почему, но иногда может появиться желание заняться рефакторингом ваших скриптов liquibase. В моём случае постоянно возникали конфликты в общем файле журнала изменений, количество скриптов превратилось в ужасно длинный список, а в самих скриптах невозможно было ориентироваться, поскольку они содержали по 1–2 команды, а в названии файла были только дата и действие. Долго это терпел, долго взвешивал плюсы и минусы, и всё время боролся с желанием всё отрефачить. И в какой-то момент дошёл до точки, когда желание взяло верх.
Решение принято: рефакторингу быть! Сразу скажу, приступать было страшно, но сейчас я очень доволен результатом. «Идеальную» структуру мы не получили, пришлось идти на компромиссы и заплатить свою цену, зато в новой структуре удалось вылечить все проблемы. Теперь в ней удобно ориентироваться и читать код, конфликты создаются очень редко, а все скрипты автоматически детектируются liquibase-ом. Но только это конец истории. А вначале было вообще непонятно, как рефакторить журнал изменений, да так, чтобы в существующие базы данных он смог пролиться, и ничего не поломал при этом!
Приступаем к рефакторингу
Читать: https://habr.com/ru/articles/937956/
#ru
@database_design | Другие наши каналы
Неважно почему, но иногда может появиться желание заняться рефакторингом ваших скриптов liquibase. В моём случае постоянно возникали конфликты в общем файле журнала изменений, количество скриптов превратилось в ужасно длинный список, а в самих скриптах невозможно было ориентироваться, поскольку они содержали по 1–2 команды, а в названии файла были только дата и действие. Долго это терпел, долго взвешивал плюсы и минусы, и всё время боролся с желанием всё отрефачить. И в какой-то момент дошёл до точки, когда желание взяло верх.
Решение принято: рефакторингу быть! Сразу скажу, приступать было страшно, но сейчас я очень доволен результатом. «Идеальную» структуру мы не получили, пришлось идти на компромиссы и заплатить свою цену, зато в новой структуре удалось вылечить все проблемы. Теперь в ней удобно ориентироваться и читать код, конфликты создаются очень редко, а все скрипты автоматически детектируются liquibase-ом. Но только это конец истории. А вначале было вообще непонятно, как рефакторить журнал изменений, да так, чтобы в существующие базы данных он смог пролиться, и ничего не поломал при этом!
Приступаем к рефакторингу
Читать: https://habr.com/ru/articles/937956/
#ru
@database_design | Другие наши каналы
Файловая репликация в СХД АЭРОДИСК ENGINE: для тех, кто устал терять данные по тупым причинам
Данные не ломаются сами по себе — их ломают люди. Уборщица шваброй, приложение, написанное «на отвали», админ в пятничной прострации. Причины разные — результат один: файлов нет, виноватого тоже.
Чтобы не восстанавливать инфраструктуру с нуля по скриншотам из Notion, в АЭРОДИСК ENGINE есть файловая репликация. Это не бэкап, это реальное дублирование файлов между хранилищами, которое спасает, когда кто-то опять «просто немного пофиксил в проде».
Без костылей, без CLI-гимнастики, без надежды на авось. Настроили — и пусть хоть полсервера ляжет, данные у вас уже есть в другом месте.
Разбираемся, как оно устроено, чтобы потом не было «ой, не знал».
Читать: https://habr.com/ru/companies/aerodisk/articles/936862/
#ru
@database_design | Другие наши каналы
Данные не ломаются сами по себе — их ломают люди. Уборщица шваброй, приложение, написанное «на отвали», админ в пятничной прострации. Причины разные — результат один: файлов нет, виноватого тоже.
Чтобы не восстанавливать инфраструктуру с нуля по скриншотам из Notion, в АЭРОДИСК ENGINE есть файловая репликация. Это не бэкап, это реальное дублирование файлов между хранилищами, которое спасает, когда кто-то опять «просто немного пофиксил в проде».
Без костылей, без CLI-гимнастики, без надежды на авось. Настроили — и пусть хоть полсервера ляжет, данные у вас уже есть в другом месте.
Разбираемся, как оно устроено, чтобы потом не было «ой, не знал».
Читать: https://habr.com/ru/companies/aerodisk/articles/936862/
#ru
@database_design | Другие наши каналы
64-битный счётчик транзакций в PostgreSQL
На конференции PgBootcamp 2025 был доклад Евгения Воропаева "Разработка и отладка 64-битного счётчика транзакций". В докладе рассматривались проблемы, которые встретились при переносе патча с 16 на 18 версию PostgreSQL. В статье описывается история патча.
Читать: https://habr.com/ru/articles/937992/
#ru
@database_design | Другие наши каналы
На конференции PgBootcamp 2025 был доклад Евгения Воропаева "Разработка и отладка 64-битного счётчика транзакций". В докладе рассматривались проблемы, которые встретились при переносе патча с 16 на 18 версию PostgreSQL. В статье описывается история патча.
Читать: https://habr.com/ru/articles/937992/
#ru
@database_design | Другие наши каналы
Как YDB изолирует OLTP и OLAP
Привет, Хабр! Меня зовут Олег Доронин, и мы с командой делаем СУБД Яндекса, которая называется YDB. Каждый транзакционный запрос к базе данных обычно работает с небольшим набором строк и быстро отрабатывает за единицы или десятки миллисекунд, но таких запросов каждую секунду поступает огромное количество. А вот аналитические запросы обычно выполняются не так часто, но каждый из них может требовать обработки вплоть до всех строк в одной или нескольких таблицах. Такие запросы могут выполняться секунды, минуты, или даже часы в зависимости от объёмов данных и сложности запрошенных вычислений.
Чтобы эти два принципиально разных паттерна нагрузки не мешали друг другу, гибридным базам данных важно изолировать транзакционную нагрузку от аналитической. Под катом я расскажу, как мы сделали в YDB компоненты для управления смешанной нагрузкой, которые изолируют миллионы RPS от аналитики, и как менеджер смешанной нагрузки устроен внутри.
Читать: https://habr.com/ru/companies/ydb/articles/935506/
#ru
@database_design | Другие наши каналы
Привет, Хабр! Меня зовут Олег Доронин, и мы с командой делаем СУБД Яндекса, которая называется YDB. Каждый транзакционный запрос к базе данных обычно работает с небольшим набором строк и быстро отрабатывает за единицы или десятки миллисекунд, но таких запросов каждую секунду поступает огромное количество. А вот аналитические запросы обычно выполняются не так часто, но каждый из них может требовать обработки вплоть до всех строк в одной или нескольких таблицах. Такие запросы могут выполняться секунды, минуты, или даже часы в зависимости от объёмов данных и сложности запрошенных вычислений.
Чтобы эти два принципиально разных паттерна нагрузки не мешали друг другу, гибридным базам данных важно изолировать транзакционную нагрузку от аналитической. Под катом я расскажу, как мы сделали в YDB компоненты для управления смешанной нагрузкой, которые изолируют миллионы RPS от аналитики, и как менеджер смешанной нагрузки устроен внутри.
Читать: https://habr.com/ru/companies/ydb/articles/935506/
#ru
@database_design | Другие наши каналы
Многоагентная AI-предиктивная диагностика с MongoDB
Производство внедряет мультиагентные AI-системы для предиктивного обслуживания — от обнаружения неисправностей до оптимального планирования ремонтов. MongoDB обеспечивает быструю обработку данных с IoT и поддерживает масштабируемость таких решений, делая их более эффективными и надежными. Новые хранилища данных MongoDB оптимизированы для больших поисковых индексов. Storage-optimized search nodes обеспечивают вдвое больший объём хранилища и снижают затраты до 50%, позволяя эффективно масштабировать поиск без лишних ресурсов и переплат. Новые возможности для векторного поиска: Storage-оптимизированные узлы
Современный ИИ меняет подход к векторному поиску, смещая узкое место с оперативной памяти на хранилище. Storage-оптимизированные узлы позволяют эффективно масштабировать индексирование и поиск, снижая затраты и повышая производительность.
Читать подробнее
#en
@database_design | Другие наши каналы
Производство внедряет мультиагентные AI-системы для предиктивного обслуживания — от обнаружения неисправностей до оптимального планирования ремонтов. MongoDB обеспечивает быструю обработку данных с IoT и поддерживает масштабируемость таких решений, делая их более эффективными и надежными. Новые хранилища данных MongoDB оптимизированы для больших поисковых индексов. Storage-optimized search nodes обеспечивают вдвое больший объём хранилища и снижают затраты до 50%, позволяя эффективно масштабировать поиск без лишних ресурсов и переплат. Новые возможности для векторного поиска: Storage-оптимизированные узлы
Современный ИИ меняет подход к векторному поиску, смещая узкое место с оперативной памяти на хранилище. Storage-оптимизированные узлы позволяют эффективно масштабировать индексирование и поиск, снижая затраты и повышая производительность.
Читать подробнее
#en
@database_design | Другие наши каналы
От REST-монолита к гибкой архитектуре GraphQL-федерации: реальный кейс Авто.ру
Реализация системы с микросервисной архитектурой редко обходится без классического разруливающего REST-гейтвея. Но когда ваша система растёт годами, а в гейтвее плодятся сотни ручек с просачивающейся бизнес-логикой, можно внезапно обнаружить, что ваш REST-гейтвей стал монолитом со всеми вытекающими последствиями.
Мы в Авто.ру шли к этому состоянию гейтвея довольно долго. История его началась в 2015 году: десятки разработчиков, сотни ручек, почти 300 000 строк кода — и релизы, которые можно катить неделю. Чтобы спасти наш стремительно деградирующий time-to-market и вернуть разработке гибкость, мы решили попробовать GraphQL-федерацию. Спойлер: кажется, получилось.
Меня зовут Кирилл Ершов, я бэкенд-разработчик в Авто.ру, и в этой статье я расскажу, как мы перешли от REST к федерации GraphQL: зачем нам это понадобилось, с какими подводными камнями мы столкнулись, как выглядели первые миграции трафика, к чему всё это привело на данный момент в цифрах и инфраструктуре.
Читать: https://habr.com/ru/companies/yandex/articles/935948/
#ru
@database_design | Другие наши каналы
Реализация системы с микросервисной архитектурой редко обходится без классического разруливающего REST-гейтвея. Но когда ваша система растёт годами, а в гейтвее плодятся сотни ручек с просачивающейся бизнес-логикой, можно внезапно обнаружить, что ваш REST-гейтвей стал монолитом со всеми вытекающими последствиями.
Мы в Авто.ру шли к этому состоянию гейтвея довольно долго. История его началась в 2015 году: десятки разработчиков, сотни ручек, почти 300 000 строк кода — и релизы, которые можно катить неделю. Чтобы спасти наш стремительно деградирующий time-to-market и вернуть разработке гибкость, мы решили попробовать GraphQL-федерацию. Спойлер: кажется, получилось.
Меня зовут Кирилл Ершов, я бэкенд-разработчик в Авто.ру, и в этой статье я расскажу, как мы перешли от REST к федерации GraphQL: зачем нам это понадобилось, с какими подводными камнями мы столкнулись, как выглядели первые миграции трафика, к чему всё это привело на данный момент в цифрах и инфраструктуре.
Читать: https://habr.com/ru/companies/yandex/articles/935948/
#ru
@database_design | Другие наши каналы
Работа над ошибками
Достаточно большой период времени занимался технической поддержкой СУБД Oracle. Накопилось некоторое количество историй и заметок на полях по этому поводу, не могу не поделиться ими с вами. В общем – садимся по удобнее, берем попкорн, чашку горячего чая или кофе.. Дело было так.
Читать: https://habr.com/ru/articles/938502/
#ru
@database_design | Другие наши каналы
Достаточно большой период времени занимался технической поддержкой СУБД Oracle. Накопилось некоторое количество историй и заметок на полях по этому поводу, не могу не поделиться ими с вами. В общем – садимся по удобнее, берем попкорн, чашку горячего чая или кофе.. Дело было так.
Читать: https://habr.com/ru/articles/938502/
#ru
@database_design | Другие наши каналы
Тестирование CAP-теоремы на примере MongoDB: аварийные ситуации
Привет, Хабр! На связи Сергей Гайдамаков. Продолжаем обсуждать и тестировать набор реплик MongoDB.
В предыдущей статье мы рассмотрели структуру отдельного узла MongoDB, разобрали свойства параметров writeConcern и readConcern для работы с набором реплик MongoDB.
В этой статье я покажу результаты тестов при аварийных ситуациях, которые могут происходить в распределенной системе. Сделаем выводы о свойствах набора реплик с точки зрения CAP- и PACELC-теорем для распределенных систем и посмотрим параметры управления CAP-свойствами неоднородных распределенных систем.
Читать: https://habr.com/ru/companies/tbank/articles/938670/
#ru
@database_design | Другие наши каналы
Привет, Хабр! На связи Сергей Гайдамаков. Продолжаем обсуждать и тестировать набор реплик MongoDB.
В предыдущей статье мы рассмотрели структуру отдельного узла MongoDB, разобрали свойства параметров writeConcern и readConcern для работы с набором реплик MongoDB.
В этой статье я покажу результаты тестов при аварийных ситуациях, которые могут происходить в распределенной системе. Сделаем выводы о свойствах набора реплик с точки зрения CAP- и PACELC-теорем для распределенных систем и посмотрим параметры управления CAP-свойствами неоднородных распределенных систем.
Читать: https://habr.com/ru/companies/tbank/articles/938670/
#ru
@database_design | Другие наши каналы
Наш опыт с Cassandra и ScyllaDB: какие есть ограничения у этих key-value-БД и почему стоит присмотреться к альтернативам
Быть или не быть? Стоит ли использовать key-value-базы данных в большом продакшне? На связи Иван Храмов, CTO МТС ID, и Николай Диденко, техлид из команды инфраструктуры МТС Web Services. Мы используем Cassandra в МТС ID и за годы эксплуатации познали и сильные, и слабые стороны этого решения.
Главная особенность и одновременно ограничение Cassandra и ScyllaDb — это то, что они строго key-value-хранилища. Именно с этим они справляются отлично — быстрое чтение и запись по ключу, георезервирование и масштабирование. На этом этапе все выглядит радужно.
Но по мере роста проекта возникает необходимость более сложной работы с данными. Например, когда хочется получить информацию в разрезе дат или понять, на каких устройствах какие токены живут. И вот здесь начинают всплывать ограничения архитектуры и типовые грабли, на которые можно наступить (и мы регулярно это делали). В этом материале мы опишем, почему выбрали Cassandra и с какими проблемами столкнулись — надеемся, это поможет правильно определиться с выбором нужного инструмента для ваших систем.
Читать: https://habr.com/ru/companies/ru_mts/articles/935896/
#ru
@database_design | Другие наши каналы
Быть или не быть? Стоит ли использовать key-value-базы данных в большом продакшне? На связи Иван Храмов, CTO МТС ID, и Николай Диденко, техлид из команды инфраструктуры МТС Web Services. Мы используем Cassandra в МТС ID и за годы эксплуатации познали и сильные, и слабые стороны этого решения.
Главная особенность и одновременно ограничение Cassandra и ScyllaDb — это то, что они строго key-value-хранилища. Именно с этим они справляются отлично — быстрое чтение и запись по ключу, георезервирование и масштабирование. На этом этапе все выглядит радужно.
Но по мере роста проекта возникает необходимость более сложной работы с данными. Например, когда хочется получить информацию в разрезе дат или понять, на каких устройствах какие токены живут. И вот здесь начинают всплывать ограничения архитектуры и типовые грабли, на которые можно наступить (и мы регулярно это делали). В этом материале мы опишем, почему выбрали Cassandra и с какими проблемами столкнулись — надеемся, это поможет правильно определиться с выбором нужного инструмента для ваших систем.
Читать: https://habr.com/ru/companies/ru_mts/articles/935896/
#ru
@database_design | Другие наши каналы
Интеллектуальное управление автопарком с помощью AI и MongoDB
Новая система на базе MongoDB и AI обрабатывает огромные объемы данных с автомобилей в реальном времени. Она оптимизирует маршруты, прогнозирует техобслуживание и дает точные инсайты для повышения эффективности и снижения затрат. Новые storage-оптимизированные узлы MongoDB Atlas Search позволяют экономить до 50% на стоимости хранения, обеспечивая в 2 раза больше места и оптимальный баланс ресурсов для больших индексов с умеренной нагрузкой. Идеальны для масштабирования AI и векторного поиска. Автоматизация технического обслуживания с помощью ИИ
Статья рассказывает, как ИИ-агенты собирают данные, анализируют причины сбоев и создают заявки на ремонт. Такой подход минимизирует простои, снижает затраты и повышает надежность оборудования на производстве.
Читать подробнее
#en
@database_design | Другие наши каналы
Новая система на базе MongoDB и AI обрабатывает огромные объемы данных с автомобилей в реальном времени. Она оптимизирует маршруты, прогнозирует техобслуживание и дает точные инсайты для повышения эффективности и снижения затрат. Новые storage-оптимизированные узлы MongoDB Atlas Search позволяют экономить до 50% на стоимости хранения, обеспечивая в 2 раза больше места и оптимальный баланс ресурсов для больших индексов с умеренной нагрузкой. Идеальны для масштабирования AI и векторного поиска. Автоматизация технического обслуживания с помощью ИИ
Статья рассказывает, как ИИ-агенты собирают данные, анализируют причины сбоев и создают заявки на ремонт. Такой подход минимизирует простои, снижает затраты и повышает надежность оборудования на производстве.
Читать подробнее
#en
@database_design | Другие наши каналы
Конституционный ИИ и MongoDB создают новый стандарт этики в искусственном интеллекте. Совместный подход обеспечивает прозрачность, справедливость и масштабируемое управление этическими принципами, позволяя строить ответственные и регулируемые AI-системы будущего.
Читать подробнее
#en
@database_design | Другие наши каналы
Читать подробнее
#en
@database_design | Другие наши каналы
Альтернатива чатам с ИИ для анализа и оптимизации SQL запросов. Часть 2
Месяц назад я опубликовал пост об инструменте для автоматической оптимизации SQL-запросов. Идея была простая — убрать этап «общения» с ИИ и предоставить простой интерфейс, где не нужно придумывать промпты.
За первый месяц сервис использовали более 1000 человек. Ниже — выводы и результаты.
Читать: https://habr.com/ru/articles/938806/
#ru
@database_design | Другие наши каналы
Месяц назад я опубликовал пост об инструменте для автоматической оптимизации SQL-запросов. Идея была простая — убрать этап «общения» с ИИ и предоставить простой интерфейс, где не нужно придумывать промпты.
За первый месяц сервис использовали более 1000 человек. Ниже — выводы и результаты.
Читать: https://habr.com/ru/articles/938806/
#ru
@database_design | Другие наши каналы
CDC без боли: как мы делали отказоустойчивую репликацию с Debezium и Kafka
Я Евгений Прочан, в платформенной команде Magnit OMNI развиваю инфраструктуру DWH. Расскажу здесь, почему нам понадобилось перейти от батчинга к CDC и как мы это делали. Причин перехода было две: потребность бизнеса в расширении возможностей инфраструктуры и нестабильность нашего старого процесса репликации.
Мы используем в основном базы данных PostgreSQL. Оттуда пакетами раз в час передаём данные в S3, ClickHouse и таблицы Iceberg. Наша потоковая нагрузка достигает примерно полутора терабайта данных, 6000 операций в секунду (около 1500 в самой нагруженной базе данных).
Читать: https://habr.com/ru/companies/magnit/articles/938164/
#ru
@database_design | Другие наши каналы
Я Евгений Прочан, в платформенной команде Magnit OMNI развиваю инфраструктуру DWH. Расскажу здесь, почему нам понадобилось перейти от батчинга к CDC и как мы это делали. Причин перехода было две: потребность бизнеса в расширении возможностей инфраструктуры и нестабильность нашего старого процесса репликации.
Мы используем в основном базы данных PostgreSQL. Оттуда пакетами раз в час передаём данные в S3, ClickHouse и таблицы Iceberg. Наша потоковая нагрузка достигает примерно полутора терабайта данных, 6000 операций в секунду (около 1500 в самой нагруженной базе данных).
Читать: https://habr.com/ru/companies/magnit/articles/938164/
#ru
@database_design | Другие наши каналы
CDC без боли: как мы делали отказоустойчивую репликацию с Debezium и Kafka
Я Евгений Прочан, в платформенной команде Magnit OMNI развиваю инфраструктуру DWH. Расскажу здесь, почему нам понадобилось перейти от батчинга к CDC и как мы это делали. Причин перехода было две: потребность бизнеса в расширении возможностей инфраструктуры и нестабильность нашего старого процесса репликации.
Мы используем в основном базы данных PostgreSQL. Оттуда пакетами раз в час передаём данные в S3, ClickHouse и таблицы Iceberg. Наша потоковая нагрузка достигает примерно полутора терабайта данных, 6000 операций в секунду (около 1500 в самой нагруженной базе данных).
Читать: https://habr.com/ru/companies/magnit/articles/938164/
#ru
@database_design | Другие наши каналы
Я Евгений Прочан, в платформенной команде Magnit OMNI развиваю инфраструктуру DWH. Расскажу здесь, почему нам понадобилось перейти от батчинга к CDC и как мы это делали. Причин перехода было две: потребность бизнеса в расширении возможностей инфраструктуры и нестабильность нашего старого процесса репликации.
Мы используем в основном базы данных PostgreSQL. Оттуда пакетами раз в час передаём данные в S3, ClickHouse и таблицы Iceberg. Наша потоковая нагрузка достигает примерно полутора терабайта данных, 6000 операций в секунду (около 1500 в самой нагруженной базе данных).
Читать: https://habr.com/ru/companies/magnit/articles/938164/
#ru
@database_design | Другие наши каналы
Новая интеграция MongoDB и LangGraph открывает возможности создания AI-агентов с долговременной памятью, которые учатся и улучшаются со временем. Это шаг к более интеллектуальным системам с улучшенным управлением данными и этикой в AI.
Читать подробнее
#en
@database_design | Другие наши каналы
Читать подробнее
#en
@database_design | Другие наши каналы
Многофакторное сравнение пяти популярных вычислительных движков для больших данных
Эволюция от Hadoop к cloud‑native и ИИ‑архитектурам. Многомерное сравнение Spark, Presto, Trino, ClickHouse и StarRocks по скорости, масштабируемости, кэшам, SQL/Python, HA и др.
Читать: «Многофакторное сравнение пяти популярных вычислительных движков для больших данных»
#ru
@database_design | Другие наши каналы
Эволюция от Hadoop к cloud‑native и ИИ‑архитектурам. Многомерное сравнение Spark, Presto, Trino, ClickHouse и StarRocks по скорости, масштабируемости, кэшам, SQL/Python, HA и др.
Читать: «Многофакторное сравнение пяти популярных вычислительных движков для больших данных»
#ru
@database_design | Другие наши каналы
Многофакторное сравнение пяти популярных вычислительных движков для больших данных
Эволюция от Hadoop к cloud‑native и ИИ‑архитектурам. Многомерное сравнение Spark, Presto, Trino, ClickHouse и StarRocks по скорости, масштабируемости, кэшам, SQL/Python, HA и др.
Читать: «Многофакторное сравнение пяти популярных вычислительных движков для больших данных»
#ru
@database_design | Другие наши каналы
Эволюция от Hadoop к cloud‑native и ИИ‑архитектурам. Многомерное сравнение Spark, Presto, Trino, ClickHouse и StarRocks по скорости, масштабируемости, кэшам, SQL/Python, HA и др.
Читать: «Многофакторное сравнение пяти популярных вычислительных движков для больших данных»
#ru
@database_design | Другие наши каналы
64-битный счётчик транзакций в PostgreSQL
На конференции PgBootcamp 2025 был доклад Евгения Воропаева "Разработка и отладка 64-битного счётчика транзакций". В докладе рассматривались проблемы, которые встретились при переносе патча, который добавляет поддержку 64-битного счетчика, с 16 на 18 версию PostgreSQL. В статье описывается история создания патча и почему он есть только в коммерческих форках.
В PostgreSQL используется 32-битные идентификаторы транзакций. У каждой версии строки в блоке таблицы есть идентификатор транзакции, которая создала эту версию. Если номер транзакции, меняющей строку, будет отстоять от номера транзакции, которая создала строку больше, чем на 2 миллиарда, то нельзя определить сравнив номера, какая из транзакций старше. Чтобы такого не произошло, в PostgreSQL есть функционал "заморозки" версий строк в блоках таблиц.
Читать: https://habr.com/ru/companies/tantor/articles/937992/
#ru
@database_design | Другие наши каналы
На конференции PgBootcamp 2025 был доклад Евгения Воропаева "Разработка и отладка 64-битного счётчика транзакций". В докладе рассматривались проблемы, которые встретились при переносе патча, который добавляет поддержку 64-битного счетчика, с 16 на 18 версию PostgreSQL. В статье описывается история создания патча и почему он есть только в коммерческих форках.
В PostgreSQL используется 32-битные идентификаторы транзакций. У каждой версии строки в блоке таблицы есть идентификатор транзакции, которая создала эту версию. Если номер транзакции, меняющей строку, будет отстоять от номера транзакции, которая создала строку больше, чем на 2 миллиарда, то нельзя определить сравнив номера, какая из транзакций старше. Чтобы такого не произошло, в PostgreSQL есть функционал "заморозки" версий строк в блоках таблиц.
Читать: https://habr.com/ru/companies/tantor/articles/937992/
#ru
@database_design | Другие наши каналы