
Базы данных *
Все об администрировании БД
CodingFuture + Puppet. Часть V: базы данных (cfdb)
Вкратце:
- cfdb — модуль развёртывания и автонастройки узлов и кластеров баз данных и доступа к ним с высокой доступностью и защитой от сбоев.
- Как proof-of-concept поддерживаются MySQL и PostgreSQL на базе Percona Server/XtraDB Cluster и официальных сборок PostgreSQL+repmgr.
- Изоляция ресурсов на базе cgroups, интеграция с настройками сетевого фильтра через модуль
cfnetwork
и строгий контроль доступа средствами СУБД.- Запись на один узел для минимизации конфликтов и распределение нагрузки для read-only доступа.
- Автоматическая проверка здоровья кластера и фактической осуществимости доступа.
- Ручное и автоматическое локальное резервное копирование, автоматизированное восстановление данных.
- Поддержка автоматической миграции уже существующих баз данных
Tibero. Первый блин
«Эра Flink 2.0»: что реально меняется в архитектуре real‑time вычислений

Apache Flink 2.0 — первый мажорный релиз после 1.0 (2016), закрывающий многолетний цикл эволюции архитектуры и устраняющий накопленные болевые точки масштабирования потоковых платформ: усложняющуюся конфигурацию, ограниченность локального состояния, разрыв между batch и streaming, устаревшие API и операционную стоимость при росте AI/real‑time сценариев. В команде BitDive мы уже используем Flink 2.0 для низколатентной обработки потоковых метрик и трассировок (агрегация, выделение аномалий) — это позволило ускорить recovery и снизить стоимость вычислений по сравнению с линией 1.20.x.
Как заставить вашу базу данных летать, а не ползать. Часть 3 – ещё три способа шардирования

Всем привет! И снова с вами Илья Криволапов – системный аналитик в SENSE, где мы вместе с командой трудимся над проектом одного из цветных банков РФ. Напоминаю, что в профессии я уже больше пяти лет и, несмотря на фамилию, прод все еще живой и здоровый (ну почти)!
В свободное от работы время, я преподаю курс «Хранение и обработка больших объемов данных», где успел накопить немало наблюдений, кейсов и выводов, которые не хочется держать в столе. Поэтому всё самое полезное оформил в цикл статей на Хабре – рассказываю как строить базы данных с прицелом на рост и не сойти с ума под нагрузкой.
В первой части мы говорили о базовых стратегиях масштабирования: вертикальной и горизонтальной. Покрутили в руках репликацию, рассмотрели кейсы, когда и как можно к ней обращаться. Во второй углубились в шардинг и разобрали три популярных подхода: по диапазону, хэшу и геозонам. А сегодня будет финальная, третья часть. В ней мы рассмотрим ещё три способа шардирования: директивный, круговой и динамический. Расскажу, как они устроены, когда применяются, в чём их сильные стороны и где скрывается подвох.
Материал будет полезен всем, кто проектирует, масштабирует или просто поддерживает «здоровье» базы данных: DBA, архитекторам, DevOps-инженерам, аналитикам и разработчикам.
Финальный рывок – поехали!
Нашел, проверил, убедил: как мы организовали генерацию SQL-запросов, проверку сложных данных и при чем здесь Allure

Привет, Хабр!
Я, Михаил Герасимов, инженер РСХБ-Интех. Уже два года занимаюсь автоматизацией тестирования, и за это время успел написать (и переписать) немало SQL-запросов. Вместе с моим коллегой Михаилом Палыгой мы развиваем инструменты для автоматизированного тестирования, и сегодня расскажем вам о том как мы справляемся с построением сложных SQL-запросов и проверкой объектов в базе данных, на примере нашей библиотеки CheckMateDB для автоматизации тестирования банковской системы ЦФТ-Банк.
В статье опишем проблемы, с которыми сталкивались при ручном написании SQL-запросов и проверке данных: дублирование кода, сложность поддержки, отсутствие единого стиля и низкая информативность тестов. Для решения этих проблем мы разработали инструмент QueryBuilder, который позволяет динамически генерировать SQL-запросы с помощью Java-кода.
Мы создали иерархию классов CriteriaBasic и Table для удобного описания критериев поиска данных в базе, используя паттерн fluent interface. Также мы разработали кастомные классы проверок на базе AssertJ с поддержкой Allure-шагов, которые позволяют проверять сложные многоуровневые объекты с возможностью погружения во вложенные структуры. Для облегчения рутинной работы создали плагин, автоматически генерирующий классы DTO и Table на основе структуры базы данных. Библиотека интегрирована с Hibernate через DaoCommon, что обеспечивает удобное выполнение SQL-запросов и управление сессиями. Результатом стало существенное улучшение читаемости тестов, повышение переиспользуемости кода, стандартизация подхода к тестированию и создание информативных Allure-отчетов.
JDBC: Как Java научилась дружить с Базами Данных

Представьте, что вы — гид в огромном городе под названием «Базы Данных». Ваша задача — помочь Java-приложениям найти нужную информацию, обновить данные или создать новые таблицы. Но как «разговаривать» с разными СУБД, если у каждой свой язык? Здесь на помощь приходит JDBC — универсальный переводчик, который знает все диалекты.
SQL vs Excel: когда таблицы уже не справляются

Когда в компании работа выстроена в Excel, проблем нет, пока в таблице несколько тысяч строк. Но бизнес растёт, и вот в файле уже миллион записей. Поиск тормозит, сложные формулы зависают. А если сотрудник случайно удалит столбец — восстанавливать придётся вручную. Это первые сигналы, что Excel не справляется.
В этой статье разберём, когда Excel перестаёт быть удобным инструментом и как SQL помогает решать эти проблемы. А приглашённые эксперты поделятся практическими примерами и советами по переходу.
Автоматизированное документирование баз данных на Markdown
В работе с базами данных ключевым аспектом является не только отслеживание изменений в их структуре, но и подробная документация таблиц и их полей. Это особенно важно для проектов с быстро изменяющейся архитектурой, где ясность и точность данных играют решающую роль. Например, в крупных веб-приложениях часто требуется фиксировать новые таблицы, обновления полей или удаление устаревших элементов.
Для решения данной задачи разработаны два PHP-скрипта, предназначенные для работы с PostgreSQL. Эти скрипты выполняют две основные функции:
1. Сравнение старой и новой структуры базы данных с выявлением добавленных, удалённых и изменённых таблиц.
2. Создание Markdown-документации, которая содержит подробное описание назначения таблиц и характеристик их полей, что делает изменения в структуре базы данных прозрачными для разработчиков.
Чья фича лучше или как сравнить эффективность планов SQL-запроса

Как сравнить? - измерить execution-time конечно! - скажет опытный читатель. И будет совершенно прав: с практической точки зрения эффективнее та СУБД, которая выдаёт больший TPS. Однако иногда нам требуется спроектировать систему, которой ещё нет или сделать прогноз поведения на нагрузках, которые ещё не пришли. В таком случае нам нужна некоторая характеристика, позволяющая выполнить качественный анализ плана или выполнить сравнение пары планов. Обсуждению одной такой характеристики - количество прочитанных страниц данных - и посвящён данный пост.
FastAPI и Vue.js 3: телеграм-бот с MiniApp для записи и автоматических уведомлений. Пишем бэкенд

Сегодня я рад представить новый масштабный проект, в рамках которого мы подробно рассмотрим технологии и подходы, ранее не освещенные в моих статьях.
На этот раз мы создадим телеграм-бота с MiniApp (ранее известным как WebApp) — это будет бот с интегрированным мини-сайтом прямо в Telegram. Для реализации проекта мы используем два основных фреймворка:
1. FastAPI — мощный Python-фреймворк, который мы задействуем для разработки API нашего телеграм-бота. Мы рассмотрим уникальный подход, позволяющий создать полноценный бэкенд, который будет закрывать как API-методы, так и функционал телеграм-бота.
2. Vue.js 3 — JavaScript-фреймворк, выбранный за его удобство разработки и возможности создания сложных визуальных элементов.
В этой статье мы сосредоточимся на описании бэкенда, а создание приложения на Vue.js 3 будет вынесено на следующую статью.
PSQLBuddy — резервное копирование и восстановление PostgreSQL

Все мы так или иначе решаем вопросы резервирования наших данных. Но всегда хочется, чтобы думать об этом приходилось как можно меньше, стоило это дешевле, а восстановление было простой задачей. Это я и попытался сделать в своем проекте PSQLBuddy.
Опять-двадцать пять, или резервное копирование баз данных PostgreSQL по новому. Снова.
Быстрая обработка данных в data lake с помощью SQL

Кому пришла в голову идея отправлять SQL запросы в data lake? Оказывается, это позволяет компаниям более гибко и эффективно анализировать свои данные за счёт уменьшения потребности в ETL и снижения нагрузки на корпоративное хранилище. Рассмотрим, какие популярные SQL-движки умеют это делать и как им это удаётся.
Меня зовут Владимир Озеров, я руковожу компанией Querify Labs. Мы уже порядка 10 лет занимаемся распределённым SQL, делаем всевозможные SQL-движки, в частности CedrusData — коммерческий движок на основе опенсорс проекта Trino. Сегодня поговорим про то, каким образом устроен ряд SQL-движков, которые обрабатывают данные от data lake.
Ближайшие события
Интеграция LLM в корпоративное хранилище данных

В данной статье рассматриваются способы интеграции Large Language Models (LLM) в корпоративные системы хранения данных. Основное внимание уделено использованию LLM для автоматического извлечения информации из текстовых данных с последующим формированием SQL-запросов. В рамках исследования также изучаются методы пост-обработки результатов SQL-запросов с целью улучшения точности и адаптивности моделей к конкретным характеристикам и особенностям баз данных.
Работа включает в себя анализ существующих решений и методов оценки эффективности LLM в контексте их интеграции в корпоративные информационные системы. Особое внимание уделяется применению Preference Learning via Database Feedback — подхода, направленного на обучение моделей на основе обратной связи от баз данных, что способствует более точному и адаптивному выполнению запросов пользователей.
Исследование также охватывает разработку примеров интеграции LLM в реальные корпоративные хранилища данных с целью демонстрации практической применимости и эффективности предлагаемых подходов.
Greenplum, NiFi и Airflow на страже импортозамещения: но есть нюансы

В статье описывается практическое применение популярных Open-Source технологий в области интеграции, хранения и обработки больших данных: Apache NiFi, Apache Airflow и Greenplum для проекта по аналитике учета вывоза отходов строительства.
Статья полезна специалистам и руководителям, которые работают с данными решениями и делают ставку на них в части импортозамещения аналогичных технологий. Статья дает обзор основных сложностей внедрения на примере реального кейса, описывает архитектуру и особенности при совместном использовании решений.
Как подойти к внедрению DWH, чтобы не было «больно»? Какие методологии использовать и какой стек выбрать?

В статье рассказываем о том, кому стоит задуматься о внедрении DWH, как сократить вероятность ошибок на этапе разработки проекта, выбрать стек, методологию и сэкономить ИТ-бюджеты.
Инженер на минималках: установка и настройка ClickHouse

Базы данных — один из важнейших инструментов в арсенале аналитика. А ClickHouse — это высокопроизводительная аналитическая СУБД, которая заточена на то, чтобы переваривать огромные массивы данных. Поэтому полезно будет разобраться, как самостоятельно установить ClickHouse в Yandex Cloud или на VDS-сервере, как создать пользователей и активировать веб-интерфейс и доступ по сети. Этим и займемся в статье.
Как мы судили на чемпионате России по спортивному программированию

В начале ноября так сложились обстоятельства, что мне с коллегой довелось поучаствовать в качестве судей на мероприятии под строгим названием «Отборочный этап чемпионата России по спортивному программированию» в дисциплине «Продуктовое программирование». Или, говоря более простым языком — студенческий трехдневный онлайн-хакатон, победители которого поедут на финал чемпионата страны в Москву.
Вот об этом мероприятии, что на нём было интересного и каких-то выводах из увиденного сегодня и поговорим.
Хранение данных: как минимизировать риски с помощью DCAP

Компаниям важно, чтобы личные данные сотрудников, конфиденциальная информация клиентов и документы с грифом «коммерческая тайна» были надежно защищены. С каждым годом такой информации становится больше и она подвергается все новым рискам. Параллельно ужесточаются наказания ответственных лиц за нарушения в отношении данных. Например, в Совете Федерации этим летом начали обсуждать закон, который предусматривает лишение свободы сроком до 10 лет и многомиллионные штрафы. Защита данных — тема обширная, выходящая за рамки статьи, поэтому сегодня я расскажу лишь об одном из инструментов, помогающих избежать некоторых рисков, связанных с хранением неструктурированных данных — о DCAP-системе.
Картина ясная: как мы визуализируем метрики Platform V DataGrid в Grafana

Привет, Хабр! Меня зовут Илья Степанов, я работаю в СберТехе в команде продукта Platform V DataGrid — распределённой базы данных, основанной на Apache Ignite и доработанной до enterprise-уровня надёжности и безопасности. В статье расскажу, как мы обеспечиваем промышленный мониторинг критических систем и визуализируем метрики наших кластеров.
Периодически к нам обращаются пользователи и клиенты с вопросом: «Как лучше визуализировать то или иное состояние кластера?» В нашем продукте есть несколько способов получения метрик из кластера. В том числе «классические» для Java-приложений: можно прочитать метрики через JMX, экспортировать в формате Prometheus, сбрасывать в log-файл, получать в результате SQL-запроса или через вызов управляющего скрипта. То есть, с метриками может работать практически любая система мониторинга.
Вклад авторов
Kilor 1947.9jobgemws 658.0olegbunin 595.2chemtech 573.2ashotog 479.0GrishinAlex 342.0ru_vds 334.2olalala 334.0badcasedaily1 274.0Loxmatiymamont 265.5