Обновить
182.55

Базы данных *

Все об администрировании БД

Сначала показывать
Порог рейтинга
Уровень сложности

Когда стойка умирает, а 5xx остаётся нулевым. Разбор скрытой деградации PostgreSQL

Уровень сложностиСложный
Время на прочтение4 мин
Охват и читатели4.4K

09:12 — db-replica-02 connection timeout

HTTP 5xx = 0.2%
HAProxy зелёный
p50 = 38-42ms

Replica в другой стойке недоступна
Отказоустойчивость потеряна
Инцидент не объявлен

Читать разбор

Новости

Почему HTTP-загрузка в Apache Doris такая быстрая: разбор Stream Load по исходникам

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели3.2K

Загружал пару лет переписки из Telegram в Apache Doris на ноутбуке. Первый запуск 2 часа. После оптимизации 206 400 сообщений за 5 секунд.

Полез в исходники разобраться, почему Stream Load (HTTP-загрузка данных) в Doris работает так быстро. В статье разбор C++ кода: от HTTP PUT до Segment-файла на диске.

Что внутри:
— 14 шагов одного HTTP-запроса (с диаграммой и кодом)
— StreamLoadPipe: буфер 4 MB с backpressure
— Иерархия записи: LoadChannel → DeltaWriter → MemTable → async flush
— 6 практических выводов: что крутить, что мерить, где смотреть compaction score

Читать далее

Массовые рассылки vs таргетированная лидогенерация в Telegram: технический разбор

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели3.7K

Meta Description: Сравнение подходов к лидогенерации в Telegram: массовые рассылки и AI-таргетирование. Данные, конверсии, риски бана, архитектура фильтрации.

Читать далее

С++ внутри PostgreSQL: удобство против традиций

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели5.7K

Всем привет, меня зовут Илья Шишков, я пишу на С++ с 2006 года. Много лет я был разработчиком в больших C++-кодовых базах, но в 2024 году жизнь меня занесла в PostgreSQL. А именно в RnD-разработку СУБД Pangolin, это реляционная СУБД от СберТеха, PostgreSQL с нашими доработками под требования к усиленной безопасности, производительности и так далее. PostgreSQL, как известно, написан на чистом С. Так я поработал с этим языком несколько месяцев и… стал внедрять C++. 

В этой статье я расскажу, зачем так сделал и почему это оказалось очень удобно. Например, некоторые технологии из C++ есть в PostgreSQL, при том, что их нет в C. Разберу практические примеры, как мне кажется, хороших абстракций на C++, которые упрощают программирование на C. И немного времени уделю разбору цены, которую нам приходится платить, когда мы используем в коде различные абстракции.

Читать далее

SQL за одну статью: от «SELECT *» до оконных функций и сложных JOIN-ов

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели7.3K

Кажется, что в ИТ всё меняется каждые пару лет. Фреймворки рождаются и умирают, архитектурные подходы сменяют друг друга, но SQL стабильно остается на месте. Он спокойно пережил хайп вокруг NoSQL, эпоху Big Data и повсеместное внедрение нейросетей.

Сегодня SQL давно перестал быть узким «языком админов». Это универсальный стандарт общения с данными, который жизненно необходим бэкендерам, аналитикам, QA-инженерам и даже продакт-менеджерам.

В этой статье мы пропустим скучную академическую теорию и разберем только то, что реально нужно в работе. Мы пройдем путь от анатомии таблиц и базовых джоинов до оконных функций. А в конце заглянем под капот базы данных и разберем логический порядок выполнения запроса — секретный ингредиент, который навсегда избавит вас от вопроса: «Почему эта строчка не работает?!».

Читать далее

ESB – что важно учесть при внедрении?

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.5K

Как обеспечить устойчивое развитие IT-ландшафта под нужды бизнеса и снизить затраты на развитие в горизонте

Изображение от rawpixel.com на Freepik

Читать далее

Создание индикатора Pine Script v6 для анализа структуры Smart Money

Время на прочтение5 мин
Охват и читатели4.1K

Привет, хабр!

Если вы увлечены трейдингом и хотите автоматизировать анализ рынка по концепции Smart Money Concept, то в этом вам может помочь собственноручно написанный индикатор. Написание индикаторов и систем по концепту smart mpney(ict) - часто довольно сложная история.

В этой статье я разберу, как создать такой индикатор в Pine Script версии 6 шаг за шагом. Мы пройдемся по коду, выделяя ключевые фрагменты с объяснениями, чтобы вы могли не только применить его на TradingView, но и понять логику, доработать или даже интегрировать в свои стратегии. Давайте нырнем в детали, начиная с основ.

Читать далее

Обратная сторона массивов в PostgreSQL

Время на прочтение12 мин
Охват и читатели9.5K

Начать работу с массивами в PostgreSQL проще простого: объявили колонку как integer[], вставили значения — и готово. Или вообще собрали массив на лету.

Официальная документация дает неплохую базу. Но за этим простым интерфейсом скрывается куда более сложная механика, чем многие привыкли думать. Массивы в PostgreSQL — это не просто «списки, которые можно засунуть в поле таблицы». У них своя стратегия работы с памятью, собственная логика индексации и целый ворох граничных случаев.

В статье подробно разберем аспекты работы с массивами, которые могут неожиданно создать проблемы в продакшене.

Читать далее

RAG на PHP + Qdrant: быстрый MVP для внутренней базы знаний

Время на прочтение22 мин
Охват и читатели10K

RAG на PHP - звучит непривычно. Делюсь опытом построения чат-бота для поиска по внутренней базе документов: Symfony, Qdrant с гибридным поиском, YandexGPT для embedding и генерации ответов. Внутри — готовый код, подводные камни чанкинга и советы, которые сэкономят вам время.

Читать далее

ClickHouse: MergeTree с нуля

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели5.9K

Привет, Хабр!

Меня зовут Натаров Иван. Я занимаюсь вопросами обработки, анализа и визуализации данных.

ClickHouse сегодня стал стандартом де-факто для аналитических задач, но часто начинающие специалисты тратят слишком много времени на погружение в технологию. Документация зачастую дает либо слишком поверхностное объяснение, либо уходит в технические детали, которые сложны для восприятия.

В этой статье мы разберем фундамент ClickHouse - движок MergeTree. Посмотрим, как данные физически хранятся на диске, чем «парт» отличается от «партиции» и почему индекс в ClickHouse работает не так, как мы привыкли это видеть в транзакционных базах данных (например, PostgreSQL или MySQL).

Погнали!

Читать далее

Как векторные базы данных налаживают взаимопонимание между человечеством и роботами

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8K

В 2026 году генеративные модели на основе искусственного интеллекта не всегда понимают, что просил пользователь, и выдают нерелевантные ответы. Векторные базы данных помогают ИИ распознавать смысл, который человек вкладывает в запрос, и быстрее находить нужную информацию.

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

О ВБД простыми словами →

Эволюция или топтание на месте? Смотрим на MySQL 5.7 и 8.0 в Yandex Cloud

Время на прочтение19 мин
Охват и читатели7.5K

За почти десять лет, прошедших с момента выхода MySQL 5.7, в мире баз данных многое изменилось. Появились новые подходы к обработке данных, ужесточились требования к безопасности, и даже сам характер приложений стал совершенно иным. MySQL 8.0, увидевший свет в 2018 году, попытался ответить на все эти вызовы, привнеся не только новую функциональность, но и фундаментально иной подход к хранению и обработке данных. 

Тем не менее, большое количество команд остаются верны MySQL 5.7, и на то есть веские причины. Для этой статьи мы в команде платформы данных Yandex Cloud постарались непредвзято посмотреть на производительность обеих версий и протестировать её на реальных нагрузках облачной платформы, а не в рамках стерильного тестового стенда. После прочтения вы сможете обоснованно решить, обновляться ли в ближайшем будущем, или точно понять, почему именно в вашем случаем этого делать не стоит.

Читать далее

Hue для домашнего Hadoop: Docker, CSRF и неочевидные грабли

Время на прочтение8 мин
Охват и читатели6.3K

Пятая статья цикла о построении CDC-пайплайна с нуля. HDFS и Hive работают, но управлять ими через консоль неудобно. Сегодня поднимаем веб-интерфейс Hue и разбираемся, почему в 2026 году сборка из исходников требует Python 2.7.

Читать далее

Ближайшие события

Проектирование баз данных. Реализация с учётом ограничений

Время на прочтение10 мин
Охват и читатели7.7K

Привет, Хаброжители! Мы открыли предзаказ на книгу «Грокаем проектирование реляционных баз данных» Цян Хао и Михаила Цикердекиса. Предлагаем ознакомиться с отрывком «Реализация».

Завершив нормализацию базы данных, перейдем к следующему этапу — реализации. Знаний, полученных еще в главах 1 и 2, вполне достаточно, чтобы без особых усилий перевести диаграмму проекта на SQL и создать все нужные таблицы. К примеру, таблица user на диаграмме выглядит так:

Чтобы ее создать, потребуется следующий код на языке SQL:

Читать далее

Java Rock Stars Meetup к нам приходит

Время на прочтение2 мин
Охват и читатели6K

Привет, Хабр!

Вот мы уже полтора месяца в новом году, пора бы встретиться и обсудить насущные вопросы, что думаете?

Это мы приглашаем вас на наш первый в 2026 году Java Rock Stars Meetup. Надеемся, вы соскучились по нам и нашим митапам так же сильно, как и мы по вам!

Регистрация открыта, но количество мест ограничено.

Читать далее

Panopticum: единый интерфейс для PostgreSQL, Mongo, Redis и других вместо набора разрозненных инструментов

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели7.8K

В проекте часто бывает некий data-flow, который идет через ETL или даже отдельные серверы обогащения данных. Собственно и наш проект не исключение. Что было нужно? Данные из интернета летят в PostgreSQL, но только если в Redis не валяется хэш таких же. Далее несколько ETL проводит стандартный OLTP - OLAP преобразование и складывает все это в MongoDB — откуда клиент дергает эти данные и сравнивает их со своей PostgreSQL попутно складируя кэш в Redis. Все это периодически летает через RabbitMQ.

Что бесило? DBeaver + MongoExpress + redis‑cli все это в разных местах с разными учетками, экспресс постоянно падал по невыясненной причине, неправильный запрос в редиску подвисал, а затем улетал в космос. Мелькнула мысль: «ну почему никто не написал чего‑то более стабильного и удобного?», — собственно это и стало драйвером выходного дня.

Спасибо древним грекам, над названием долго думать не пришлось: Паноптикум — в оригинале «место откуда видно все», но также «сборище жутких и необычных артефактов».

Собственно дальше все очень просто, можно читать, можно искать, можно обновить отдельную запись (если DevOps разрешит) собственно это не production‑ready софт, а простой и надежный инструмент для QA и разрабов. Примитивная basic‑auth которую обязательно надо прятать под TLS и желательно за корп‑VPN, чтобы только свои могли запороть. Для прода и около можно сделать READ_ONLY — но тут каждый сам решает надо оно вообще ему или нет.

Наконец‑то можно проследить все преобразования данных и найти кто потерялся, можно открывать несколько вкладок, можно давать ссылку на конкретный объект. Ставится самым стандартным образом: берем образ — разворачиваем, ничего необычного.

Читать далее

Иллюзия смысла: как фильтрация данных создает научные фантомы

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели9.1K

В современных задачах анализа данных, от биоинформатики и нейробиологии до социальных и поведенческих исследований, обычно используется традиционный пайплайн обработки данных. Он почти всегда включает агрессивную предварительную фильтрацию признаков, снижение размерности (PCA и аналоги), а затем кластеризацию или обучение нейросетевых моделей.

На практике эти шаги считаются технически необходимыми и редко подвергаются сомнению. В этой статье я хочу обсудить, почему в исследовательском анализе такая практика может приводить к систематически некорректным выводам — и даже к созданию искусственных сущностей, не существующих в реальности. Код, эксперимент и комментарий кандидата биологических наук, сотрудника РАН Дарьи Романовой ниже.

Читать далее

Digital Q.DataBase в Docker: быстрый старт с Oracle и MS SQL-совместимостью

Время на прочтение11 мин
Охват и читатели6.1K

Контейнеры давно стали стандартом современной разработки. Согласно отчету Docker State of Application Development 2025, они используются примерно в 92% IT-организаций и фактически стали универсальным способом упаковки и запуска приложений независимо от платформы и окружения. Это тот случай, когда инфраструктура перестает мешать и начинает экономить время.

Именно поэтому Digital Q.DataBase доступна, в том числе, в виде Docker-образа. Это позволяет за несколько минут попробовать Oracle- и MS SQL-совместимую СУБД на Windows, Linux и macOS, ограничившись несколькими командами, без сложной установки и длительного онбординга. Полноценная рабочая среда готова к использованию сразу после старта контейнера.

По сути, после того как вы скачали архив и подготовили директорию, для запуска Digital Q.DataBase достаточно четырех команд.

Читать далее

Хороший, плохой, злой: База данных, data catalog и AI

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.4K

Всех приветствую! Меня зовут Павел, работаю в компании Lasmart. Одно из направлений деятельности всегда было внедрение и развитие DWH. В какой-то момент задумались о том, чтобы оптимизировать прежде всего свою работу в некоторых аспектах. И первым инструментом сделали генерацию бизнес-описания на основе AI. Назвали Datadesc (data + description). Об этом опыте и пойдет речь в этой статье.

Читать далее

Создание системы по управлению цифровыми активами для базы данных PostGIS. Часть 2. Работа с текстом

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели5.1K

Здравствуйте, уважаемые читатели Хабра!

Это вторая часть (первая здесь) о создании основного функционала MVP (Minimum Value Product) системы по управлению цифровыми активами для базы данных PostGIS.

В этой публикации рассмотрим применение классического, полнотекстового и семантического поиска текста в PostgreSQL.

Интересно? Читать!
1
23 ...