Как я добавил систему рекомендаций контента в легаси-проект на PHP 7.2
Привет, хабр! Хочу поделиться историей о том, как столкнулся с проблемой, возможно знакомой многим разработчикам: необходимость внедрить систему рекомендаций в проект, который все еще работает на старой версии php.
Обновление версии php в legacy-проекте — это часто настоящий квест. То времени нет, то бизнес-фичи надо пилить, то еще какие-то причины. И часто бывает, что обновление версии php в командах откладывается на потом.
Читать: https://habr.com/ru/articles/957224/
#ru
@database_design | Другие наши каналы
Привет, хабр! Хочу поделиться историей о том, как столкнулся с проблемой, возможно знакомой многим разработчикам: необходимость внедрить систему рекомендаций в проект, который все еще работает на старой версии php.
Обновление версии php в legacy-проекте — это часто настоящий квест. То времени нет, то бизнес-фичи надо пилить, то еще какие-то причины. И часто бывает, что обновление версии php в командах откладывается на потом.
Читать: https://habr.com/ru/articles/957224/
#ru
@database_design | Другие наши каналы
Оптимизируем производительность веб-приложения с Redis
Привет, Хабр! С вами Александр Константинов, технический эксперт по облачным технологиям из Cloud.ru. Сегодня хочу показать вам наглядно, как можно оптимизировать производительность веб-приложения. Рассмотрим это на усредненном примере кейса, который типичен для многих наших клиентов, пройдем весь путь настройки, выполним нагрузочное тестирование и сравним до/после.
Надеюсь, материал окажется полезным всем разработчикам и инженерам, кто сталкивается с проблемами производительности в своих проектах. Плохая новость в том, что путь, который я опишу, подходит не всем, хорошая ― в том, что мы рассмотрим кому он не подходит, и вы не будете тратить время на сомнения и тесты.
Узнать больше
Читать: https://habr.com/ru/companies/cloud_ru/articles/956794/
#ru
@database_design | Другие наши каналы
Привет, Хабр! С вами Александр Константинов, технический эксперт по облачным технологиям из Cloud.ru. Сегодня хочу показать вам наглядно, как можно оптимизировать производительность веб-приложения. Рассмотрим это на усредненном примере кейса, который типичен для многих наших клиентов, пройдем весь путь настройки, выполним нагрузочное тестирование и сравним до/после.
Надеюсь, материал окажется полезным всем разработчикам и инженерам, кто сталкивается с проблемами производительности в своих проектах. Плохая новость в том, что путь, который я опишу, подходит не всем, хорошая ― в том, что мы рассмотрим кому он не подходит, и вы не будете тратить время на сомнения и тесты.
Узнать больше
Читать: https://habr.com/ru/companies/cloud_ru/articles/956794/
#ru
@database_design | Другие наши каналы
Развёртывание боевого кластера Cassandra. Часть 4
Это продолжение цикла, рассказывающего о практике развёртывания небольшого, но вполне производственного кластера Cassandra. В первой, второй и третьей частях мы продвинулись вперед вот по такому плану:
1. Анализ рабочей нагрузки и требований
2. Разработка схемы данных
3. Настройка хостовых машин
4. Настройка конфигурации Cassandra
5. Настройка топологии кластера
= ВЫ НАХОДИТЕСЬ ЗДЕСЬ =
6. Подключение Prometheus Cassandra Exporter
7. Подключение Prometheus Node Exporter
8. Вывод всех метрик в Grafana
9. Проведение нагрузочного тестирования
10. Дополнительный тюнинг по результатам теста
В этой части мы возьмём простой советский...
Читать: https://habr.com/ru/articles/957238/
#ru
@database_design | Другие наши каналы
Это продолжение цикла, рассказывающего о практике развёртывания небольшого, но вполне производственного кластера Cassandra. В первой, второй и третьей частях мы продвинулись вперед вот по такому плану:
1. Анализ рабочей нагрузки и требований
2. Разработка схемы данных
3. Настройка хостовых машин
4. Настройка конфигурации Cassandra
5. Настройка топологии кластера
= ВЫ НАХОДИТЕСЬ ЗДЕСЬ =
6. Подключение Prometheus Cassandra Exporter
7. Подключение Prometheus Node Exporter
8. Вывод всех метрик в Grafana
9. Проведение нагрузочного тестирования
10. Дополнительный тюнинг по результатам теста
В этой части мы возьмём простой советский...
Читать: https://habr.com/ru/articles/957238/
#ru
@database_design | Другие наши каналы
MySQL в Uber
Как поддерживать свыше 2300 кластеров MySQL без заметных простоев? В Uber это решают разделением на плоскости данных, управления и обнаружения и строгим приведением фактического состояния к desired state. В материале — анатомия control plane (Odin, Cadence, контроллер с правилами), как устроены плавные и аварийные переключения primary, замена узлов и онлайн-изменения схемы; как discovery на etcd и реверс-прокси даёт стабильный VIP; как наблюдаемость, CDC (Storagetapper→Kafka→Hive) и бэкапы закрывают эксплуатацию. ФВ фокусе — инженерные решения, которые позволяют удерживать 99,99% доступности без ручной магии.
К архитектуре
Читать: https://habr.com/ru/companies/otus/articles/957296/
#ru
@database_design | Другие наши каналы
Как поддерживать свыше 2300 кластеров MySQL без заметных простоев? В Uber это решают разделением на плоскости данных, управления и обнаружения и строгим приведением фактического состояния к desired state. В материале — анатомия control plane (Odin, Cadence, контроллер с правилами), как устроены плавные и аварийные переключения primary, замена узлов и онлайн-изменения схемы; как discovery на etcd и реверс-прокси даёт стабильный VIP; как наблюдаемость, CDC (Storagetapper→Kafka→Hive) и бэкапы закрывают эксплуатацию. ФВ фокусе — инженерные решения, которые позволяют удерживать 99,99% доступности без ручной магии.
К архитектуре
Читать: https://habr.com/ru/companies/otus/articles/957296/
#ru
@database_design | Другие наши каналы
MariaDB в продакшене: реальный опыт
Статья показывает, что MariaDB реально применяется в критичных продакшн-системах: в банках, телекомах, SaaS и на высоконагруженных платформах. Для разработчиков — доказательство, что это не просто маркетинг. Подробнее на mariadb.com
Читать подробнее
#en
@database_design | Другие наши каналы
Статья показывает, что MariaDB реально применяется в критичных продакшн-системах: в банках, телекомах, SaaS и на высоконагруженных платформах. Для разработчиков — доказательство, что это не просто маркетинг. Подробнее на mariadb.com
Читать подробнее
#en
@database_design | Другие наши каналы
MariaDB
Is MariaDB Used in Production? Real-World Setups, Proof & AI | MariaDB
Using MariaDB in production: examples of mission-critical case studies, common production architectures and production-grade AI capabilities.
VideoDisc: от провала до революционного SCM-микроскопа
В 70–80-е годы развернулась настоящая «битва видеоносителей»: Betamax, VHD (Video High Density), LaserDisc и VHS. Победителем, как известно, стал последний. Но в этой гонке участвовал и американский гигант Radio Corporation of America — со своим форматом CED (Capacitance Electronic Disc), также известным как VideoDisc.
Проект обошёлся компании почти в 500 миллионов долларов и закончился крахом: в 1987 году RCA прекратила существование. Казалось бы, точка. Но одна из технологий, созданных для CED, неожиданно обрела вторую жизнь — и привела к появлению сканирующего ёмкостного микроскопа.
Читать: https://habr.com/ru/companies/first/articles/957334/
#ru
@database_design | Другие наши каналы
В 70–80-е годы развернулась настоящая «битва видеоносителей»: Betamax, VHD (Video High Density), LaserDisc и VHS. Победителем, как известно, стал последний. Но в этой гонке участвовал и американский гигант Radio Corporation of America — со своим форматом CED (Capacitance Electronic Disc), также известным как VideoDisc.
Проект обошёлся компании почти в 500 миллионов долларов и закончился крахом: в 1987 году RCA прекратила существование. Казалось бы, точка. Но одна из технологий, созданных для CED, неожиданно обрела вторую жизнь — и привела к появлению сканирующего ёмкостного микроскопа.
Читать: https://habr.com/ru/companies/first/articles/957334/
#ru
@database_design | Другие наши каналы
Как повысить качество клиентских данных
Привет, Хабр. В этой статье делюсь опытом повышения качества клиентских данных в онлайн-обучении и выводами, к которым я пришел по итогам.
Узнать, как улучшить качество данных
Читать: https://habr.com/ru/companies/otus/articles/957286/
#ru
@database_design | Другие наши каналы
Привет, Хабр. В этой статье делюсь опытом повышения качества клиентских данных в онлайн-обучении и выводами, к которым я пришел по итогам.
Узнать, как улучшить качество данных
Читать: https://habr.com/ru/companies/otus/articles/957286/
#ru
@database_design | Другие наши каналы
Семантика «ровно один раз» для Agentic AI
В статье объясняется, почему exactly-once важна для нагрузок Agentic AI и как Oracle Transactional Event Queue обеспечивает доставку ровно один раз и согласованность транзакций, снижая дубли и ошибки.
Читать подробнее
#en
@database_design | Другие наши каналы
В статье объясняется, почему exactly-once важна для нагрузок Agentic AI и как Oracle Transactional Event Queue обеспечивает доставку ровно один раз и согласованность транзакций, снижая дубли и ошибки.
Читать подробнее
#en
@database_design | Другие наши каналы
Oracle
Achieving Exactly-Once Semantics for Agentic AI with Oracle TxEventQ
This blog explains the importance of exactly-once semantics, why it is relevant to Agentic AI workloads and how Oracle Transactional Event Queue enables this.
❤1
Как связать Apache Kafka и Oracle TxEventQ — 2 подхода
В блоге кратко объясняют два способа интеграции Apache Kafka с Oracle TxEventQ: прямой обмен сообщениями и через адаптеры/мосты. Разбирают плюсы и сценарии применения каждого варианта — полезно архитекторам и разработчикам.
Читать подробнее
#en
@database_design | Другие наши каналы
В блоге кратко объясняют два способа интеграции Apache Kafka с Oracle TxEventQ: прямой обмен сообщениями и через адаптеры/мосты. Разбирают плюсы и сценарии применения каждого варианта — полезно архитекторам и разработчикам.
Читать подробнее
#en
@database_design | Другие наши каналы
Oracle
Oracle TxEventQ and Apache Kafka Integration: Two Powerful Paths to Modern Event Streaming
The blog explains two distinct ways in which your Apache Kafka and Oracle TxEventQ can interoperate
Мой путь к «умному» LibreChat: боль, радость и 20 тестовых вопросов к RAG
Помню тот момент, когда я в очередной раз пытался вытащить конкретную спецификацию из стопки PDF‑отчетов. «Вот бы ИИ мог сам в этом покопаться», — подумал я. Это чувство знакомо многим, кто работает с большими массивами текстовой информации.
Тогда я и решил, что хватит это терпеть. Последующий день превратился в марафон по установке и настройке RAG (генерация с дополнением извлеченной информацией). Это был путь проб и ошибок, который в итоге увенчался успехом. И теперь я хочу поделиться этим опытом с вами.
В этом материале мы:
• Пошагово установим rag_api в уже развёрнутый LibreChat;
• Воспользуемся Python 3.12, PostgreSQL 17;
• В командной строке соберём PostgreSQL‑аддон pg_vector через x64 Native Tools Command Prompt for VS 2022;
• Протестируем RAG‑систему 20 вопросами к вымышленной документации, сгенерированной в Gemini 2.5 Pro;
• Узнаем, во сколько раз медленнее запускать через CPU, чем через GPU.
Приятного прочтения!
Читать: https://habr.com/ru/companies/bothub/articles/956892/
#ru
@database_design | Другие наши каналы
Помню тот момент, когда я в очередной раз пытался вытащить конкретную спецификацию из стопки PDF‑отчетов. «Вот бы ИИ мог сам в этом покопаться», — подумал я. Это чувство знакомо многим, кто работает с большими массивами текстовой информации.
Тогда я и решил, что хватит это терпеть. Последующий день превратился в марафон по установке и настройке RAG (генерация с дополнением извлеченной информацией). Это был путь проб и ошибок, который в итоге увенчался успехом. И теперь я хочу поделиться этим опытом с вами.
В этом материале мы:
• Пошагово установим rag_api в уже развёрнутый LibreChat;
• Воспользуемся Python 3.12, PostgreSQL 17;
• В командной строке соберём PostgreSQL‑аддон pg_vector через x64 Native Tools Command Prompt for VS 2022;
• Протестируем RAG‑систему 20 вопросами к вымышленной документации, сгенерированной в Gemini 2.5 Pro;
• Узнаем, во сколько раз медленнее запускать через CPU, чем через GPU.
Приятного прочтения!
Читать: https://habr.com/ru/companies/bothub/articles/956892/
#ru
@database_design | Другие наши каналы
Кластер Patroni в docker контейнерах
В статье рассматривается создание кластера Patroni и etcd в одной виртуальной машине в контейнерах docker. Приводится пример, когда Patroni не будет автоматически восстанавливать кластер PostgreSQL.
Patroni в докере
Задача запуска Patroni в докере обсуждалась на реддит и гитхаб. Приводился пример наиболее простой сборки batonogov/patroni-docker, которая состоит из 7 контейнеров: трёх с кластером etcd и трёх с PostgreSQL 17 под управлением Patroni (мастер и две реплики), один контейнер с HAProxy.
Читать: https://habr.com/ru/companies/tantor/articles/957790/
#ru
@database_design | Другие наши каналы
В статье рассматривается создание кластера Patroni и etcd в одной виртуальной машине в контейнерах docker. Приводится пример, когда Patroni не будет автоматически восстанавливать кластер PostgreSQL.
Patroni в докере
Задача запуска Patroni в докере обсуждалась на реддит и гитхаб. Приводился пример наиболее простой сборки batonogov/patroni-docker, которая состоит из 7 контейнеров: трёх с кластером etcd и трёх с PostgreSQL 17 под управлением Patroni (мастер и две реплики), один контейнер с HAProxy.
Читать: https://habr.com/ru/companies/tantor/articles/957790/
#ru
@database_design | Другие наши каналы
Toshiba разработала HDD с 12 пластинами: до 40 ТБ в одном корпусе. Что за новинка?
В октябре 2025 года Toshiba представила жесткий диск, который сразу привлек внимание рынка. Дело в том, что разработчикам удалось разместить двенадцать пластин в стандартном 3,5-дюймовом корпусе, где раньше помещалось не больше десяти. Более того, это решение открывает путь к появлению моделей емкостью до 40 ТБ уже в ближайшие пару лет — при тех же размерах и уровне энергопотребления.
Стоит отметить, что во втором квартале 2025 года доля Toshiba на рынке жестких дисков была около 17 % — меньше, чем у Seagate и Western Digital. Компания развивается и продолжает развивать собственные технологии, делая ставку на повышение плотности записи и надёжности носителей. Последняя разработка с двенадцатью пластинами стала следующим шагом в этой стратегии. Новинка рассчитана прежде всего на дата-центры, где особенно важны высокая ёмкость, стабильная работа и низкая цена за гигабайт.
Читать: https://habr.com/ru/companies/selectel/articles/957952/
#ru
@database_design | Другие наши каналы
В октябре 2025 года Toshiba представила жесткий диск, который сразу привлек внимание рынка. Дело в том, что разработчикам удалось разместить двенадцать пластин в стандартном 3,5-дюймовом корпусе, где раньше помещалось не больше десяти. Более того, это решение открывает путь к появлению моделей емкостью до 40 ТБ уже в ближайшие пару лет — при тех же размерах и уровне энергопотребления.
Стоит отметить, что во втором квартале 2025 года доля Toshiba на рынке жестких дисков была около 17 % — меньше, чем у Seagate и Western Digital. Компания развивается и продолжает развивать собственные технологии, делая ставку на повышение плотности записи и надёжности носителей. Последняя разработка с двенадцатью пластинами стала следующим шагом в этой стратегии. Новинка рассчитана прежде всего на дата-центры, где особенно важны высокая ёмкость, стабильная работа и низкая цена за гигабайт.
Читать: https://habr.com/ru/companies/selectel/articles/957952/
#ru
@database_design | Другие наши каналы
Эволюция архитектуры баз данных
Система управления базами данных — крайне сложный программный продукт, и рассказ о его архитектуре потянет на целый увесистый том. А поскольку заголовок обещает нам не просто «архитектуру», а даже «эволюцию архитектуры», сегодня остановимся на одном из компонентов, ключевом с точки зрения производительности, — системе хранения данных. А заодно посмотрим, каково место самых современных систем на рынке и почему оно такое.
Привет, Хабр! Я Владимир Комаров — программист, администратор, архитектор данных и инфраструктуры, преподаватель и автор. В этой статье по мотивам моего доклада на Highload++ мы посмотрим, как развивались системы управления базами данных: с чего всё начиналось, как система хранения данных СУБД эволюционировала, и в каком состоянии эта область находится сейчас. А заодно узнаем, существует ли идеальная СУБД, и если нет, то как приблизиться к идеалу.
Читать: https://habr.com/ru/companies/oleg-bunin/articles/950454/
#ru
@database_design | Другие наши каналы
Система управления базами данных — крайне сложный программный продукт, и рассказ о его архитектуре потянет на целый увесистый том. А поскольку заголовок обещает нам не просто «архитектуру», а даже «эволюцию архитектуры», сегодня остановимся на одном из компонентов, ключевом с точки зрения производительности, — системе хранения данных. А заодно посмотрим, каково место самых современных систем на рынке и почему оно такое.
Привет, Хабр! Я Владимир Комаров — программист, администратор, архитектор данных и инфраструктуры, преподаватель и автор. В этой статье по мотивам моего доклада на Highload++ мы посмотрим, как развивались системы управления базами данных: с чего всё начиналось, как система хранения данных СУБД эволюционировала, и в каком состоянии эта область находится сейчас. А заодно узнаем, существует ли идеальная СУБД, и если нет, то как приблизиться к идеалу.
Читать: https://habr.com/ru/companies/oleg-bunin/articles/950454/
#ru
@database_design | Другие наши каналы
❤1
Гид по Cloudberry ч.2: advanced-возможности, дорожная карта и планы развития
В прошлый раз, в первой части нашего гида по Apache Cloudberry™, мы поговорили об истории проекта, его архитектуре, ядре СУБД и функциях платформы.
Но помимо ядра СУБД, мы также хотим использовать data‑lakehouse‑запросы. В Data Lakehouse есть некоторые проблемы: мы не можем получать данные оттуда напрямую. В Cloudberry разработана технология, с помощью которой можно это делать, так что поговорим об этом подробнее. А также рассмотрим ещё несколько интересных возможностей и расскажем о планах проекта.
Читать: https://habr.com/ru/companies/yandex_cloud_and_infra/articles/957662/
#ru
@database_design | Другие наши каналы
В прошлый раз, в первой части нашего гида по Apache Cloudberry™, мы поговорили об истории проекта, его архитектуре, ядре СУБД и функциях платформы.
Но помимо ядра СУБД, мы также хотим использовать data‑lakehouse‑запросы. В Data Lakehouse есть некоторые проблемы: мы не можем получать данные оттуда напрямую. В Cloudberry разработана технология, с помощью которой можно это делать, так что поговорим об этом подробнее. А также рассмотрим ещё несколько интересных возможностей и расскажем о планах проекта.
Читать: https://habr.com/ru/companies/yandex_cloud_and_infra/articles/957662/
#ru
@database_design | Другие наши каналы
Гид по Cloudberry ч.2: advanced-возможности, дорожная карта и планы развития
В прошлый раз, в первой части нашего гида по Apache Cloudberry™, мы поговорили об истории проекта, его архитектуре, ядре СУБД и функциях платформы.
Но помимо ядра СУБД, мы также хотим использовать data‑lakehouse‑запросы. В Data Lakehouse есть некоторые проблемы: мы не можем получать данные оттуда напрямую. В Cloudberry разработана технология, с помощью которой можно это делать, так что поговорим об этом подробнее. А также рассмотрим ещё несколько интересных возможностей и расскажем о планах проекта.
Читать: https://habr.com/ru/companies/yandex_cloud_and_infra/articles/957662/
#ru
@database_design | Другие наши каналы
В прошлый раз, в первой части нашего гида по Apache Cloudberry™, мы поговорили об истории проекта, его архитектуре, ядре СУБД и функциях платформы.
Но помимо ядра СУБД, мы также хотим использовать data‑lakehouse‑запросы. В Data Lakehouse есть некоторые проблемы: мы не можем получать данные оттуда напрямую. В Cloudberry разработана технология, с помощью которой можно это делать, так что поговорим об этом подробнее. А также рассмотрим ещё несколько интересных возможностей и расскажем о планах проекта.
Читать: https://habr.com/ru/companies/yandex_cloud_and_infra/articles/957662/
#ru
@database_design | Другие наши каналы
Что выгоднее и безопаснее для хранения фото, видео и других данных: облако или собственный NAS
Думаю, не будет большой ошибкой предположить, что ваш смартфон имеет накопитель минимум на 128 ГБ, больше половины из которых почти наверняка занимают фотографии, какие-то случайные видео и, конечно, скриншоты. Держать это все во встроенной памяти, конечно, можно. Но тогда есть риск, что оставшегося пространства банально не хватит для новых приложений и Телеграма с Ватсапом, которые имеют свойство разрастаться очень и очень сильно. Значит, все это добро надо куда-то деть. Вопрос в том – куда. Облако – ненадежно. Свое железо – надежно, но дорого. Или наоборот… В общем, давайте посмотрим на вещи объективно и постараемся понять, где лучше всего хранить свои данные.
Читать: https://habr.com/ru/companies/finops_ru/articles/958198/
#ru
@database_design | Другие наши каналы
Думаю, не будет большой ошибкой предположить, что ваш смартфон имеет накопитель минимум на 128 ГБ, больше половины из которых почти наверняка занимают фотографии, какие-то случайные видео и, конечно, скриншоты. Держать это все во встроенной памяти, конечно, можно. Но тогда есть риск, что оставшегося пространства банально не хватит для новых приложений и Телеграма с Ватсапом, которые имеют свойство разрастаться очень и очень сильно. Значит, все это добро надо куда-то деть. Вопрос в том – куда. Облако – ненадежно. Свое железо – надежно, но дорого. Или наоборот… В общем, давайте посмотрим на вещи объективно и постараемся понять, где лучше всего хранить свои данные.
Читать: https://habr.com/ru/companies/finops_ru/articles/958198/
#ru
@database_design | Другие наши каналы
Я выполнил реверс-инжиниринг веб-обфускации Amazon, потому что приложением Kindle пользоваться невозможно
TL;DR
• Я впервые купил на Amazon электронную книгу
• Android-приложение Kindle самой компании Amazon было очень забагованным и часто вылетало
• Попробовал скачать мою книгу, чтобы читать её в реально работающем приложении для чтения
• Осознал, что Amazon больше не позволяет этого делать
• Решил назло выполнить реверс-инжиниринг её системы обфускации
• Обнаружил множество слоёв защиты, в том числе рандомизированные алфавиты
• Победил их все при помощи колдунства с сопоставлением шрифтов
Читать: https://habr.com/ru/articles/958132/
#ru
@database_design | Другие наши каналы
TL;DR
• Я впервые купил на Amazon электронную книгу
• Android-приложение Kindle самой компании Amazon было очень забагованным и часто вылетало
• Попробовал скачать мою книгу, чтобы читать её в реально работающем приложении для чтения
• Осознал, что Amazon больше не позволяет этого делать
• Решил назло выполнить реверс-инжиниринг её системы обфускации
• Обнаружил множество слоёв защиты, в том числе рандомизированные алфавиты
• Победил их все при помощи колдунства с сопоставлением шрифтов
Читать: https://habr.com/ru/articles/958132/
#ru
@database_design | Другие наши каналы
Представляем XBRL-CSV — машиночитаемую отчетность в формате для людей
Примечание: Статья посвящена формату XBRL-CSV2 (тэг
Авторство формата принадлежит Банку России.
Автор статьи — архитектор, принимавший участие в разработке формата в качестве технического специалиста.
Введение.
Банк России использует стандарт XBRL для сбора отчетности от некредитных финансовых организаций. Несмотря на всю продуманность XBRL, при формировании и обработке отчетности возникает проблема, связанная с реестровыми формами.
Эти формы содержат гиперкубы с открытыми осями. При большой вариативности значений таких осей реестровые отчеты становятся чрезвычайно объемными.
Решение этой проблемы — создание производного от XBRL-XML формата: XBRL-CSV.
Основная предпосылка: CSV органически приспособлен для хранения реестровых форм. Открытые оси выносятся в начальные колонки, а комбинации значений ячеек открытых осей в каждой строке образуют составной открытый ключ, однозначно идентифицирующий запись.
Остальные колонки — это данные, которые определяют три аспекта показателя:
Читать: https://habr.com/ru/articles/958356/
#ru
@database_design | Другие наши каналы
Примечание: Статья посвящена формату XBRL-CSV2 (тэг
"@context":"www.cbr.ru/xbrl_csv2").Авторство формата принадлежит Банку России.
Автор статьи — архитектор, принимавший участие в разработке формата в качестве технического специалиста.
Введение.
Банк России использует стандарт XBRL для сбора отчетности от некредитных финансовых организаций. Несмотря на всю продуманность XBRL, при формировании и обработке отчетности возникает проблема, связанная с реестровыми формами.
Эти формы содержат гиперкубы с открытыми осями. При большой вариативности значений таких осей реестровые отчеты становятся чрезвычайно объемными.
Решение этой проблемы — создание производного от XBRL-XML формата: XBRL-CSV.
Основная предпосылка: CSV органически приспособлен для хранения реестровых форм. Открытые оси выносятся в начальные колонки, а комбинации значений ячеек открытых осей в каждой строке образуют составной открытый ключ, однозначно идентифицирующий запись.
Остальные колонки — это данные, которые определяют три аспекта показателя:
Читать: https://habr.com/ru/articles/958356/
#ru
@database_design | Другие наши каналы
Postgres 18 async IO – шаг к «взрослым» нагрузкам?
Давайте честно – пока что Postgres редко используется для действительно больших и нагруженных баз. Этому множество причин, но главная формулируется просто: «не тянет».
У каждого есть своя граница, где Postgres ещё применим, а дальше —уже нет. Обычно это где-то между одним и пятью терабайтами, дальше жить с этим «больно».
База просто не может обработать большой объем данных с той скоростью, которую способны выдать диски.
И вот — Postgres 18, впервые за долгое время, предлагает не косметическую, а фундаментальную новинку. То, что в Oracle есть уже 20+ лет — асинхронный ввод-вывод (аsync IO).
Попробуем посмотреть async IO и ответить на вопрос - стал ли Postgres ближе к «взрослым» нагрузкам?
Читать: https://habr.com/ru/articles/958382/
#ru
@database_design | Другие наши каналы
Давайте честно – пока что Postgres редко используется для действительно больших и нагруженных баз. Этому множество причин, но главная формулируется просто: «не тянет».
У каждого есть своя граница, где Postgres ещё применим, а дальше —уже нет. Обычно это где-то между одним и пятью терабайтами, дальше жить с этим «больно».
База просто не может обработать большой объем данных с той скоростью, которую способны выдать диски.
И вот — Postgres 18, впервые за долгое время, предлагает не косметическую, а фундаментальную новинку. То, что в Oracle есть уже 20+ лет — асинхронный ввод-вывод (аsync IO).
Попробуем посмотреть async IO и ответить на вопрос - стал ли Postgres ближе к «взрослым» нагрузкам?
Читать: https://habr.com/ru/articles/958382/
#ru
@database_design | Другие наши каналы
Документный хаос? RAG-система придёт на помощь
Статья описывает практическую реализацию системы Retrieval-Augmented Generation (RAG) для превращения документов в интерактивную базу знаний. Показано, как хранение эмбеддингов в Qdrant и интеграция с языковой моделью (LLM) позволяют быстро получать точные ответы на вопросы. Рассматриваются архитектура, ключевые компоненты и внутренние механизмы работы системы, полезные для разработчиков и новичков в области RAG.
Читать: https://habr.com/ru/articles/955768/
#ru
@database_design | Другие наши каналы
Статья описывает практическую реализацию системы Retrieval-Augmented Generation (RAG) для превращения документов в интерактивную базу знаний. Показано, как хранение эмбеддингов в Qdrant и интеграция с языковой моделью (LLM) позволяют быстро получать точные ответы на вопросы. Рассматриваются архитектура, ключевые компоненты и внутренние механизмы работы системы, полезные для разработчиков и новичков в области RAG.
Читать: https://habr.com/ru/articles/955768/
#ru
@database_design | Другие наши каналы
Решение проблемы двойного букинга: паттерны проектирования систем
Давно прошло то время, когда люди стояли в длинных очередях для покупки билетов на концерты, авиарейсы, фильмы, матчи и другие события.
Технологические компании наподобие Ticketmaster, BookMyShow, Airbnb, Delta Airlines и так далее сделали бронирование делом одного клика, позволившим покупать билеты из дома.
Эта простота стала возможной благодаря технологическим платформам и сервисам, которые прячут от пользователей всю сложность и решают неординарные инженерные задачи. Одна из таких задач — предотвращение бронирования одного места несколькими пользователями.
Представьте, в каком положении окажутся два пользователя, купивших одно и то же место на мероприятие и осознавших это только перед его началом. Из-за этого организатор теряет доверие покупателей, а пользователи дважды задумаются, прежде чем покупать билеты на следующее мероприятие.
Поэтому важно создать надёжное решение классической задачи — двойного букинга.
Из этой статьи вы узнаете, как эту задачу решают разные технологические компании. У каждой компании свои особенности, поэтому единого универсального решения нет.
Мы рассмотрим различные архитектурные паттерны и разберёмся в их плюсах и минусах. Статья поможет вам обрести глубокое понимание и наработать знания в системном мышлении.
Читать: https://habr.com/ru/articles/957954/
#ru
@database_design | Другие наши каналы
Давно прошло то время, когда люди стояли в длинных очередях для покупки билетов на концерты, авиарейсы, фильмы, матчи и другие события.
Технологические компании наподобие Ticketmaster, BookMyShow, Airbnb, Delta Airlines и так далее сделали бронирование делом одного клика, позволившим покупать билеты из дома.
Эта простота стала возможной благодаря технологическим платформам и сервисам, которые прячут от пользователей всю сложность и решают неординарные инженерные задачи. Одна из таких задач — предотвращение бронирования одного места несколькими пользователями.
Представьте, в каком положении окажутся два пользователя, купивших одно и то же место на мероприятие и осознавших это только перед его началом. Из-за этого организатор теряет доверие покупателей, а пользователи дважды задумаются, прежде чем покупать билеты на следующее мероприятие.
Поэтому важно создать надёжное решение классической задачи — двойного букинга.
Из этой статьи вы узнаете, как эту задачу решают разные технологические компании. У каждой компании свои особенности, поэтому единого универсального решения нет.
Мы рассмотрим различные архитектурные паттерны и разберёмся в их плюсах и минусах. Статья поможет вам обрести глубокое понимание и наработать знания в системном мышлении.
Читать: https://habr.com/ru/articles/957954/
#ru
@database_design | Другие наши каналы