Как Cars24 ускорил поиск и сократил расходы на MongoDB
В статье рассказывают, как Cars24 объединил БД и поиск в MongoDB Atlas, отказался от Elasticsearch и ArangoDB, внедрил динамическую схему, квартальные бакеты и сжатие zstd, добился до 99% ускорения и ~40% экономии места.
Читать подробнее
#en
@database_design | Другие наши каналы
В статье рассказывают, как Cars24 объединил БД и поиск в MongoDB Atlas, отказался от Elasticsearch и ArangoDB, внедрил динамическую схему, квартальные бакеты и сжатие zstd, добился до 99% ускорения и ~40% экономии места.
Читать подробнее
#en
@database_design | Другие наши каналы
Вышел Bun 1.3: full-stack рантайм, поддержка Redis и новый SQL API. Разобрались, что еще нового
Bun 1.3 стал full-stack рантаймом с Redis, SQL API, поддержкой MySQL и PostgreSQL, новым тест-раннером и ускорением сборки до 2,5 раз
Читать: «Вышел Bun 1.3: full-stack рантайм, поддержка Redis и новый SQL API. Разобрались, что еще нового»
#ru
@database_design | Другие наши каналы
Bun 1.3 стал full-stack рантаймом с Redis, SQL API, поддержкой MySQL и PostgreSQL, новым тест-раннером и ускорением сборки до 2,5 раз
Читать: «Вышел Bun 1.3: full-stack рантайм, поддержка Redis и новый SQL API. Разобрались, что еще нового»
#ru
@database_design | Другие наши каналы
Система резервации на 600 заказов в секунду без буферизации и другой дичи
Я прочитал статью https://habr.com/ru/companies/ozontech/articles/950044/, и меня поразило, сколько сомнительных решений можно использовать для одной простой задачи.
В этой статье я расскажу, как правильно создать сервис для конкурентных обновлений остатков данных в базе данных. Буду использовать .NET, C#, Entity Framework и PostgreSql.
Читать: https://habr.com/ru/articles/955714/
#ru
@database_design | Другие наши каналы
Я прочитал статью https://habr.com/ru/companies/ozontech/articles/950044/, и меня поразило, сколько сомнительных решений можно использовать для одной простой задачи.
В этой статье я расскажу, как правильно создать сервис для конкурентных обновлений остатков данных в базе данных. Буду использовать .NET, C#, Entity Framework и PostgreSql.
Читать: https://habr.com/ru/articles/955714/
#ru
@database_design | Другие наши каналы
Автоматический парсинг чеков с LlamaIndex и Pydantic
Команда Python for Devs подготовила перевод статьи о том, как с помощью LlamaIndex и Pydantic можно превратить сканы чеков в структурированные данные. Минимум кода — и у вас готовый CSV для анализа.
Читать: https://habr.com/ru/articles/953414/
#ru
@database_design | Другие наши каналы
Команда Python for Devs подготовила перевод статьи о том, как с помощью LlamaIndex и Pydantic можно превратить сканы чеков в структурированные данные. Минимум кода — и у вас готовый CSV для анализа.
Читать: https://habr.com/ru/articles/953414/
#ru
@database_design | Другие наши каналы
Книга «Программирование бэкенда на Python. Практическое руководство»
Приветствуем, коллеги. На связи Олег Сивченко @OlegSivchenko.
Уместен и закономерен ваш интерес, как мы обзаводимся правами на перевод зарубежных книг и где берём новинки. Такой вопрос задал нам читатель @PopovGP. Действительно, книгоиздательская отрасль не один год приспосабливалась к современным реалиям, но один интересный новый тренд действительно стоит раскрыть подробнее: мы стали активнее искать и рассматривать небольшие издательства, настроенные на сотрудничество. Так, уважаемый коллега @Holmogorov завершил длительный поиск базовой книги по Jetpack Compose, найдя в небольшом американском издательстве «Payload Publishing» отличный труд Нила Смита «Основы JetPack Compose: Разработка приложений для Android с помощью Jetpack Compose, Android Studio и Kotlin». Эта книга вышла в августе.
О другой очень похожей находке я хочу рассказать вам сегодня. Это совсем свежая новинка «Программирование бэкенда на Python. Практическое руководство» под авторством Тима Питерса. Обнаружили мы её в каталоге маленького индийского издательства «GitForGits».
Читать: https://habr.com/ru/companies/bhv_publishing/articles/956044/
#ru
@database_design | Другие наши каналы
Приветствуем, коллеги. На связи Олег Сивченко @OlegSivchenko.
Уместен и закономерен ваш интерес, как мы обзаводимся правами на перевод зарубежных книг и где берём новинки. Такой вопрос задал нам читатель @PopovGP. Действительно, книгоиздательская отрасль не один год приспосабливалась к современным реалиям, но один интересный новый тренд действительно стоит раскрыть подробнее: мы стали активнее искать и рассматривать небольшие издательства, настроенные на сотрудничество. Так, уважаемый коллега @Holmogorov завершил длительный поиск базовой книги по Jetpack Compose, найдя в небольшом американском издательстве «Payload Publishing» отличный труд Нила Смита «Основы JetPack Compose: Разработка приложений для Android с помощью Jetpack Compose, Android Studio и Kotlin». Эта книга вышла в августе.
О другой очень похожей находке я хочу рассказать вам сегодня. Это совсем свежая новинка «Программирование бэкенда на Python. Практическое руководство» под авторством Тима Питерса. Обнаружили мы её в каталоге маленького индийского издательства «GitForGits».
Читать: https://habr.com/ru/companies/bhv_publishing/articles/956044/
#ru
@database_design | Другие наши каналы
Что если… (безумные идеи хранения данных)
... писать без транзакций?
... сохранять без кворума?
... стирать прод без бэкапов?
... сливать базу самому?
И всё это безопасно, надёжно, доступно!
Хочу эти грибы!
Читать: https://habr.com/ru/articles/956154/
#ru
@database_design | Другие наши каналы
... писать без транзакций?
... сохранять без кворума?
... стирать прод без бэкапов?
... сливать базу самому?
И всё это безопасно, надёжно, доступно!
Хочу эти грибы!
Читать: https://habr.com/ru/articles/956154/
#ru
@database_design | Другие наши каналы
Oracle 2025: платформа с ИИ и защитой
14 октября 2025 года Oracle анонсировала новую генерацию флагманской платформы — сочетание продвинутого ИИ, усиленной защиты, гибкого развёртывания и высокой производительности для эффективной работы с данными.
Читать подробнее
#en
@database_design | Другие наши каналы
14 октября 2025 года Oracle анонсировала новую генерацию флагманской платформы — сочетание продвинутого ИИ, усиленной защиты, гибкого развёртывания и высокой производительности для эффективной работы с данными.
Читать подробнее
#en
@database_design | Другие наши каналы
Oracle AI Database — доверенный ИИ для всех данных
В статье объясняется, что Oracle AI Database обеспечивает доверенные AI-инсайты и повышает продуктивность для операционных систем и аналитических озёр данных. Поддерживаются динамические агентные рабочие процессы, объединяющие приватные базы и публичную информацию.
Читать подробнее
#en
@database_design | Другие наши каналы
В статье объясняется, что Oracle AI Database обеспечивает доверенные AI-инсайты и повышает продуктивность для операционных систем и аналитических озёр данных. Поддерживаются динамические агентные рабочие процессы, объединяющие приватные базы и публичную информацию.
Читать подробнее
#en
@database_design | Другие наши каналы
Единая платформа для сложных дата-леев
Oracle объявила обновления Autonomous AI Database: теперь можно объединять масштабируемое облачное хранилище и открытые форматы таблиц (Apache Iceberg) с быстрой глубокой аналитикой графов в единой среде.
Читать подробнее
#en
@database_design | Другие наши каналы
Oracle объявила обновления Autonomous AI Database: теперь можно объединять масштабируемое облачное хранилище и открытые форматы таблиц (Apache Iceberg) с быстрой глубокой аналитикой графов в единой среде.
Читать подробнее
#en
@database_design | Другие наши каналы
AVDF 20: эволюция защиты баз данных
Согласно статье, AVDF 20 усиливает проактивное управление безопасностью, расширяет мониторинг и аудит, упрощает применение политик, учитывает новые регуляции и расширяет поддержку платформ, чтобы базы данных оставались защищёнными и соответствовали требованиям.
Читать подробнее
#en
@database_design | Другие наши каналы
Согласно статье, AVDF 20 усиливает проактивное управление безопасностью, расширяет мониторинг и аудит, упрощает применение политик, учитывает новые регуляции и расширяет поддержку платформ, чтобы базы данных оставались защищёнными и соответствовали требованиям.
Читать подробнее
#en
@database_design | Другие наши каналы
Oracle
Celebrating 5 Years of Innovation with Oracle Audit Vault and Database Firewall (AVDF)
AVDF 20 evolves to address major shifts such as proactive security posture management, deeper monitoring and auditing coverage, simplified and consistent policy enforcement, the ability to handle emerging regulations, and expanded platform support. These…
Autonomous AI Lakehouse: мощность Oracle и открытость Iceberg
Новая платформа сочетает производительность и надёжность Oracle AI Database с интероперабельностью Apache Iceberg. Доступна на OCI, AWS, Azure и Google Cloud, помогает организациям эффективнее использовать данные.
Читать подробнее
#en
@database_design | Другие наши каналы
Новая платформа сочетает производительность и надёжность Oracle AI Database с интероперабельностью Apache Iceberg. Доступна на OCI, AWS, Azure и Google Cloud, помогает организациям эффективнее использовать данные.
Читать подробнее
#en
@database_design | Другие наши каналы
Oracle AI Database 26ai: квантово-устойчивая защита TLS 1.3
Oracle добавила квантово-устойчивые алгоритмы в TLS 1.3, чтобы защитить данные в движении от атак «собери сейчас — расшифруй позже» и повысить устойчивость передачи данных к будущим квантовым угрозам.
Читать подробнее
#en
@database_design | Другие наши каналы
Oracle добавила квантово-устойчивые алгоритмы в TLS 1.3, чтобы защитить данные в движении от атак «собери сейчас — расшифруй позже» и повысить устойчивость передачи данных к будущим квантовым угрозам.
Читать подробнее
#en
@database_design | Другие наши каналы
Человек VS трихоплакс: так ли мало у нас общего?
Привет, дорогой читатель! Представь: ты заходишь в здание, где в каждой лаборатории бьется ключом научная мысль, пытающаяся расшифровать главную загадку природы — наш собственный мозг. Именно так себя ощутили участники студенческого пресс-тура в Институт высшей нервной деятельности и нейрофизиологии (ИВНД и НФ) РАН.
Читать: https://habr.com/ru/articles/956640/
#ru
@database_design | Другие наши каналы
Привет, дорогой читатель! Представь: ты заходишь в здание, где в каждой лаборатории бьется ключом научная мысль, пытающаяся расшифровать главную загадку природы — наш собственный мозг. Именно так себя ощутили участники студенческого пресс-тура в Институт высшей нервной деятельности и нейрофизиологии (ИВНД и НФ) РАН.
Читать: https://habr.com/ru/articles/956640/
#ru
@database_design | Другие наши каналы
Как избежать перезаписи в S3 с помощью условных заголовков
Хранение файлов в S3 выглядит просто: добавляете объект в бакет по ключу и потом при необходимости удаляете или обновляете его. Но в реальной работе можно загрузить файл с помощью операции PutObject, не проверив, что в бакете уже лежит файл с этим ключом. В результате новое содержимое незаметно заменит старое. Или можно случайно удалить только что добавленный свежий бэкап вместо старого, что нарушает рабочий процесс. Чтобы избежать подобных ситуаций, в S3 есть условные операции записи (conditional write) — это когда действия вроде PutObject, CopyObject, DeleteObject или CompleteMultipartUpload выполняются только при соблюдении заданных условий.
Всем привет! Меня зовут Клюев Алексей, я старший разработчик S3-совместимого объектного хранилища в Selectel. В этой статье мы разберем, как работают условные заголовки, зачем они нужны и как применять их на практике. В качестве примеров будем использовать язык Go и aws-sdk-go v2.
Читать: https://habr.com/ru/companies/selectel/articles/955518/
#ru
@database_design | Другие наши каналы
Хранение файлов в S3 выглядит просто: добавляете объект в бакет по ключу и потом при необходимости удаляете или обновляете его. Но в реальной работе можно загрузить файл с помощью операции PutObject, не проверив, что в бакете уже лежит файл с этим ключом. В результате новое содержимое незаметно заменит старое. Или можно случайно удалить только что добавленный свежий бэкап вместо старого, что нарушает рабочий процесс. Чтобы избежать подобных ситуаций, в S3 есть условные операции записи (conditional write) — это когда действия вроде PutObject, CopyObject, DeleteObject или CompleteMultipartUpload выполняются только при соблюдении заданных условий.
Всем привет! Меня зовут Клюев Алексей, я старший разработчик S3-совместимого объектного хранилища в Selectel. В этой статье мы разберем, как работают условные заголовки, зачем они нужны и как применять их на практике. В качестве примеров будем использовать язык Go и aws-sdk-go v2.
Читать: https://habr.com/ru/companies/selectel/articles/955518/
#ru
@database_design | Другие наши каналы
SQL-оптимизация: 5 запросов, которые ломают базу
Типовые SQL-запросы, которые тормозят базу: от JOIN без условий до DISTINCT в лоб. Почему они опасны и как их переписать правильно, чтобы база работала быстро и стабильно.
Читать: «SQL-оптимизация: 5 запросов, которые ломают базу»
#ru
@database_design | Другие наши каналы
Типовые SQL-запросы, которые тормозят базу: от JOIN без условий до DISTINCT в лоб. Почему они опасны и как их переписать правильно, чтобы база работала быстро и стабильно.
Читать: «SQL-оптимизация: 5 запросов, которые ломают базу»
#ru
@database_design | Другие наши каналы
Сравнение Grafana и Dimension-UI на задаче мониторинга истории активных сессий
Недавно рассказывал про мониторинг истории активных сессий в базах данных Oracle, PostgreSQL, ClickHouse и MS SQL Server с использованием desktop-приложения Dimension-UI (link). В комментариях @KPSB92 задал вопрос о преимуществах/отличиях связки exporter Prometheus/Grafana и Dimension-UI, решил оформить ответ в эту небольшую статью.
Итак, возьмем для примера просмотр данных активных сессий в базе данных PostgreSQL и сравним визуализацию в Grafana и Dimension-UI. Посмотрим работу с интерфейсами обоих систем в динамике с помощью скринкастов.
(трафик 21 Мб)
Читать: https://habr.com/ru/articles/956800/
#ru
@database_design | Другие наши каналы
Недавно рассказывал про мониторинг истории активных сессий в базах данных Oracle, PostgreSQL, ClickHouse и MS SQL Server с использованием desktop-приложения Dimension-UI (link). В комментариях @KPSB92 задал вопрос о преимуществах/отличиях связки exporter Prometheus/Grafana и Dimension-UI, решил оформить ответ в эту небольшую статью.
Итак, возьмем для примера просмотр данных активных сессий в базе данных PostgreSQL и сравним визуализацию в Grafana и Dimension-UI. Посмотрим работу с интерфейсами обоих систем в динамике с помощью скринкастов.
(трафик 21 Мб)
Читать: https://habr.com/ru/articles/956800/
#ru
@database_design | Другие наши каналы
Вы все еще изобретаете велосипеды при миграции данных из Oracle в Postgres? Мы тоже
В статье я расскажу о практических кейсах и сложностях, возникающих (и возникавших) в процессе миграции данных между СУБД (Oracle -> Postgres), а также о собственном инструменте миграции данных, который вы также можете попробовать.
Читать: https://habr.com/ru/companies/rostelecom/articles/955744/
#ru
@database_design | Другие наши каналы
В статье я расскажу о практических кейсах и сложностях, возникающих (и возникавших) в процессе миграции данных между СУБД (Oracle -> Postgres), а также о собственном инструменте миграции данных, который вы также можете попробовать.
Читать: https://habr.com/ru/companies/rostelecom/articles/955744/
#ru
@database_design | Другие наши каналы
Нигерия — Дания 1:21. Как соотносятся региональные цены на Chess.com
Что такое региональное ценообразование?
Цель каждого бизнеса — максимизация прибылей. Бизнес должен выставлять такую цену на свои продукты, чтобы получать наибольшую прибыль. Сделаешь цену слишком низкой — рискуешь потерять существенную часть прибыли. Слишком высокой — она будет неподъёмной для многих потенциальных покупателей. Для решения этой проблемы компании используют задачу фирмы по выбору оптимальной цены, то есть точки, где прибыль максимальна и есть баланс между ценой и спросом.
Мы знаем, что у многих бизнесов покупатели есть по всему миру. Для максимизации международных прибылей бизнесу необходимо регулировать цены в разных регионах в зависимости от покупательской способности каждой страны и других факторов (налогов, стоимости доставки и пошлин). Это крайне важно, потому что цена, доступная в одной стране, может быть слишком высокой в другой. Без учёта этих различий бизнес может продешевить или завысить цену; и то, и другое приводит к снижению прибылей.
У многих популярных онлайн-сервисов, в том числе Netflix, Spotify, HBO Max, Disney+, YouTube Premium, Steam и Epic Games Store, есть региональное ценообразование. В этой статье я проанализирую стратегию регионального ценообразования, используемую популярной шахматной онлайн-платформой Chess.com.
Читать: https://habr.com/ru/articles/956288/
#ru
@database_design | Другие наши каналы
Что такое региональное ценообразование?
Цель каждого бизнеса — максимизация прибылей. Бизнес должен выставлять такую цену на свои продукты, чтобы получать наибольшую прибыль. Сделаешь цену слишком низкой — рискуешь потерять существенную часть прибыли. Слишком высокой — она будет неподъёмной для многих потенциальных покупателей. Для решения этой проблемы компании используют задачу фирмы по выбору оптимальной цены, то есть точки, где прибыль максимальна и есть баланс между ценой и спросом.
Мы знаем, что у многих бизнесов покупатели есть по всему миру. Для максимизации международных прибылей бизнесу необходимо регулировать цены в разных регионах в зависимости от покупательской способности каждой страны и других факторов (налогов, стоимости доставки и пошлин). Это крайне важно, потому что цена, доступная в одной стране, может быть слишком высокой в другой. Без учёта этих различий бизнес может продешевить или завысить цену; и то, и другое приводит к снижению прибылей.
У многих популярных онлайн-сервисов, в том числе Netflix, Spotify, HBO Max, Disney+, YouTube Premium, Steam и Epic Games Store, есть региональное ценообразование. В этой статье я проанализирую стратегию регионального ценообразования, используемую популярной шахматной онлайн-платформой Chess.com.
Читать: https://habr.com/ru/articles/956288/
#ru
@database_design | Другие наши каналы
Пересматривая концепцию мультимастера на Postgres
Одна из открытых пока задач в области баз данных - поддержание базы данных в консистентном состоянии одновременно на нескольких экземплярах СУБД (узлах), принимающих клиентские соединения независимо друг от друга. Суть проблемы заключается не в том, чтобы синхронизировать состояние удалённо по сети, а в том, что в случае отказа одного из узлов такой системы остальные должны продолжить свою работу без перерыва: принимать соединения, коммитить транзакции не потеряв при этом консистентность. Аналогией для случая одного экземпляра СУБД здесь может быть, к примеру, обеспечение работы при отказе планки оперативной памяти или прерывающемся доступе к нескольким ядрам процессора.
Здесь я хочу возобновить обсуждение проблемы мультимастера на базе Postgres: его практическую ценность, реализуемость, стэк технологий, которые нужно создать. Возможно, что поставив проблему более узко, мы сможем прийти к решению, которое будет полезно для отрасли...
Читать: https://habr.com/ru/companies/postgrespro/articles/956440/
#ru
@database_design | Другие наши каналы
Одна из открытых пока задач в области баз данных - поддержание базы данных в консистентном состоянии одновременно на нескольких экземплярах СУБД (узлах), принимающих клиентские соединения независимо друг от друга. Суть проблемы заключается не в том, чтобы синхронизировать состояние удалённо по сети, а в том, что в случае отказа одного из узлов такой системы остальные должны продолжить свою работу без перерыва: принимать соединения, коммитить транзакции не потеряв при этом консистентность. Аналогией для случая одного экземпляра СУБД здесь может быть, к примеру, обеспечение работы при отказе планки оперативной памяти или прерывающемся доступе к нескольким ядрам процессора.
Здесь я хочу возобновить обсуждение проблемы мультимастера на базе Postgres: его практическую ценность, реализуемость, стэк технологий, которые нужно создать. Возможно, что поставив проблему более узко, мы сможем прийти к решению, которое будет полезно для отрасли...
Читать: https://habr.com/ru/companies/postgrespro/articles/956440/
#ru
@database_design | Другие наши каналы
150 млн чтений/с: как Uber усилил консистентность кэша
150 млн чтений в секунду — итог скрупулёзной инженерии кэша. В этом кейсе Uber — как ужесточить консистентность без удушения записи: инвалидация «по пути записи» из слоя запросов, дедупликация по commit-timestamp из БД, сочетание TTL и CDC на бинлогах, плюс измерение «черствости» через Cache Inspector. Разобраны реальные источники stale-данных (лаг CDC, реплики, негативное кэширование) и компромиссы вроде read-your-writes — с практическими схемами, которые масштабируются до сотен миллионов RPS.
Читать кейс
Читать: https://habr.com/ru/companies/otus/articles/957206/
#ru
@database_design | Другие наши каналы
150 млн чтений в секунду — итог скрупулёзной инженерии кэша. В этом кейсе Uber — как ужесточить консистентность без удушения записи: инвалидация «по пути записи» из слоя запросов, дедупликация по commit-timestamp из БД, сочетание TTL и CDC на бинлогах, плюс измерение «черствости» через Cache Inspector. Разобраны реальные источники stale-данных (лаг CDC, реплики, негативное кэширование) и компромиссы вроде read-your-writes — с практическими схемами, которые масштабируются до сотен миллионов RPS.
Читать кейс
Читать: https://habr.com/ru/companies/otus/articles/957206/
#ru
@database_design | Другие наши каналы
Low/No-Code ETL vs классический подход: что выбрать бизнесу
Данные без информации — это просто цифры. Чтобы они «заговорили», их нужно извлечь и преобразовать. Для этого существуют ETL‑системы, а для анализа данных и визуализации — BI и Data Science.
Сегодня бизнес выбирает между тремя классами ETL-решений...
Читать: https://habr.com/ru/companies/modusbi/articles/957212/
#ru
@database_design | Другие наши каналы
Данные без информации — это просто цифры. Чтобы они «заговорили», их нужно извлечь и преобразовать. Для этого существуют ETL‑системы, а для анализа данных и визуализации — BI и Data Science.
Сегодня бизнес выбирает между тремя классами ETL-решений...
Читать: https://habr.com/ru/companies/modusbi/articles/957212/
#ru
@database_design | Другие наши каналы