Обновить
128K+

Базы данных *

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

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

Ограничения целостности с отложенной проверкой в PostgreSQL

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

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

Рассмотрим пример с одной таблицей, имеющей один столбец с уникальным ограничением (и индексом):

Читать далее

Новости

Сопоставление каталогов продукции: автоматический массовый подбор с использованием токенизации

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

Задача широко знакома в узких кругах: наш каталог товаров встречается с каталогом контрагента — по сути одни и те же позиции, но названы по-разному. Надо найти совпадения и предоставить коллегам список подходящих наших артикулов для каждой их позиции.

В разобранном ниже случае это картриджи: 22 тысячи записей у контрагента против сотен тысяч наших номенклатур. Для такой задачи матерый программист берёт Elasticsearch, алгоритмы нечёткого поиска и тратит много времени, иногда в меру матерясь. Здесь подбор ведется с помощью токенизации, запросами в стиле no-code и без ИИ.

Токенизируем и сопоставляем

Шардинг в Manticore Search: автоматическое распределение и репликация

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

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

Автоматический шардинг, встроенный в Manticore Search и доступный начиная с релиза 27.1.5 , решает обе проблемы, разбивая таблицу на несколько физических фрагментов меньшего размера (шардов), по которым можно выполнять поиск параллельно и которые можно размещать на разных узлах:

Читать далее

Ускоренное построение KNN-индексов в Manticore

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

Раньше построение KNN-индекса было самым медленным этапом при сохранении и слиянии чанков в таблицах с векторными атрибутами. Начиная с v27.1.5 , Manticore может задействовать несколько ядер CPU при сохранении чанков, слияниях через OPTIMIZE, авто-оптимизации и ALTER TABLE ... REBUILD KNN. На 16-ядерном Ryzen 9 5950X построение KNN-индекса для 1 миллиона 1536-мерных векторов сократилось с 8 минут до 39 секунд.

Читать далее

Шаг вперёд на долгом пути: завершили этап «Сканирование» конкурса «Экспедиция. Data Science»

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

Фонд Национальной технологической инициативы реализует проект технологических конкурсов Up Great — открытых соревнований для инженерных команд. Здесь преодолевают технологические барьеры России и мира, чтобы решать задачи, с которыми ещё никто не справлялся.

Один из текущих конкурсов — «Экспедиция. Data Science» с технологическим партнёром Phystech.Genesis, который предоставляет платформу и маркетинг события. В конкурсе участники работают над системами ИИ по распознаванию археологических объектов на поверхности земли и глубине до 5 метров. Пока такую работу археологи делают вручную, что требует много времени и специалистов. Конкурс призван ускорить процесс и исключить человеческие ошибки, чтобы дать исторической науке новые возможности, а учёным — время на экспедиции и раскопки.

В рамках «Экспедиция. Data Science» — 3 конкурса отдельных заданий (КОЗ), а также финальный конкурс. С каждым следующим этапом команды берутся за более сложные задачи и пробуют новые подходы. Недавно организаторы объявили победителей второго из них — «Сканирование». На этом этапе команды создавали нейросети, чтобы искать археологические объекты в рельефе и под поверхностью земли.

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

Читать далее

Книга «PostgreSQL 18 изнутри»: архитектура «слона» под новым капотом

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

Компания Postgres Professional представляет новое издание книги Егора Рогова «PostgreSQL 18 изнутри», которое будет выпущено в издательстве «ДМК Пресс» в 2026 году. Электронная версия доступна уже сейчас. Эта книга — подробный путеводитель по внутреннему устройству СУБД PostgreSQL, призванный помочь разработчикам и администраторам детально разобраться в механизмах её работы.

Читать далее

TPC-DS в 07.2026. Lakehouse: Spark, Trino, StarRocks, Impala и Doris. Greenplum & Cloudberry vs StarRocks как MPP

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

Привет, Хабр! На связи команда Data Sapience. С последней публикации результатов тестирования MPP-движков прошло уже несколько месяцев. За этот период произошел ряд изменений в базовых версиях open source движков и фреймворков, а также наша команда разработки внесла ряд улучшений и доработок. Все это может повлиять расстановку сил в рейтинге.

В сегодняшней публикации мы представим максимальное число претендентов, среди которых: Spark 3.5.*, Spark 3.5.* + DataFusion Comet, Spark 4.0.1, Spark 4.0.1 + DataFusion Comet, StarRocks (core based 3.5+, 4.0+), Impala (core based 4.5), Trino (459, 476, 479) и новичок нашего рейтинга — Apache Doris.

Статья поможет вам ответить на вопросы: стоит ли переходить на Spark 4 в поисках производительности; Как нативные вычисления влияют на результаты Spark; Как улучшилась производительность Trino за последние полгода; нужно ли присмотреться к Apache Doris, если вы ищете альтернативу Impala и StarRocks, и как эти проекты связаны между собой; какие оптимизационные улучшения были добавлены нами в StarRocks и Impala за последнее время.

И на десерт мы покажем вам сравнение Greenplum, Cloudberry и StarRocks в режиме Shared-Nothing MPP.

Читать далее

MySQL ⇄ Excel. Консольный скрипт конвертации данных

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

В сети до сих пор висят мануалы из 2013, где предлагают писать громоздкие скрипты на PHP с библиотекой PHPExcel или использовать встроенный импорт через веб-интерфейс phpMyAdmin. На практике эти методы спотыкаются на первой же тысяче строк: слетают кодировки, ломаются форматы дат, а дробные числа округляются до целых.

При взаимодействии разработки с менеджментом или бухгалтерией регулярно всплывает одна и та же задача. Нужно либо выгрузить таблицу из базы в Эксель для отчёта, либо, наоборот, залить обратно в СУБД тяжелый xlsx. файл со свежими ценами или списком контрагентов. Настраивать тяжелые ETL-системы ради разовой выгрузки неэффективно. Проблема решилась написанием короткого CLI-скрипта на Python - mysql_bridge. Утилита обеспечивает сквозную двустороннюю конвертацию данных, автоматически анализирует структуру и сохраняет исходные типы на лету. Исходный код скрипта и Readme Здесь. Если Вас заинтересовала или статья была полезна, поддержите звездочками.

Как устроен двусторонний мост

Вся логика инструмента умещается за счёт связки pandas, sqlalchemy и движка openpyxl. Скрипт работает с файлами Эксель напрямую на уровне бинарного кода, поэтому его можно запускать на серверах без установленного офисного софта. Утилита работает в двух режимах.

Читать далее

Проблема миграции больших кластеров на Cassandra

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

Миграция Cassandra выглядит простой задачей ровно до того момента, пока кластер не становится действительно большим.

Разберем, где достаточно snapshot, когда стоит использовать междатацентровую репликацию, а в каких случаях лучше вообще отказаться от переноса исторических данных.

Читать далее

PostgreSQL для бэкендера: 10 фич, которыми мало пользуются, а зря

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

Вы храните в PostgreSQL пользователей, заказы и платежи — а потом проект обрастает Redis для очереди, отдельным поисковиком и самодельными блокировками через таблицу locks. Иногда это оправдано. Но часто типовые бэкенд-задачи закрываются прямо в базе: атомарно, транзакционно, с индексами и без лишней сетевой болтовни.

Привет, Хабр! Меня зовут Тимур Исламгулов. Я преподаватель МФТИ и ведущий вебинаров по PostgreSQL. За годы работы я насмотрелся, как разработчики поднимают лишнюю инфраструктуру там, где хватило бы самой базы, — об этом и поговорим.

Показать рабочий SQL →

mysql_guard — open source инструмент для автоматического поиска скрытых ошибок в архитектуре баз данных MySQL

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

Выискивать архитектурные несоответствия вручную при проверке чужих проектов неэффективно. Проблема решилась написанием легковесного скрипта автоматизации на Python.Утилита работает на чистом SQL, подключается к живой бд и мгновенно вытаскивает наружу скрытые дефекты проектирования.

Читать далее

С самого начала у нас был четкий план восстановления, и мы его придерживались: как рассчитать честные RTO и RPO

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

Классическая ловушка при проектировании отказоустойчивости — разрыв между ожиданиями бизнеса и возможностями инфраструктуры. На бумаге в SLA может быть зафиксировано RTO в 4 часа, но если терабайтный бэкап PostgreSQL физически разворачивается 8 часов из-за лимитов дисковой подсистемы, такой SLA не выдержит первого серьезного инцидента.

На практике планы Disaster Recovery (DR) часто пишутся «для галочки» и в полном отрыве от реальной архитектуры. Под катом — техническая изнанка проектирования отказоустойчивости: как приземлить RTO и RPO на реальную инфраструктуру, связать их со стоимостью простоя и взять эти метрики под контроль с помощью правильных инженерных подходов. Также в статью включены практические инструменты: пошаговый чек-лист для безопасного проведения DR-учений и перечень ключевых параметров, которые необходимо непрерывно мониторить для контроля рисков.

Кат

Шаблон ТЗ для проектирования REST API: готовый инструмент для аналитика

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

В этой статье - мой рабочий шаблон для описания REST API в ТЗ для разработчиков. В качестве примера я спроектировала учебную базу данных для финтех-системы. Она не привязана к реальному проекту и нужна только для того, чтобы показать, как описывать REST API по шаблону.

Читать далее

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

Pivot grid без сторонних библиотек: кэш, производительность и связанные гриды

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

Расскажу, как и почему я в какой-то момент решил написать собственный pivot grid — без сторонних библиотек, на чистом JavaScript и DOM. И что из этого получилось: от первой версии с обычным GROUP BY до кэширования больших выборок и цепочки связанных гридов.

Читать далее

Databricks обещал конец баз данных. Читаем мелкий шрифт

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

Пару дней назад я собрал сводку новостей по lakehouse и закончил её обещанием: разберу каждый громкий анонс по отдельности. Выполняю - и начинаю с самого шумного.

На своём июньском саммите Databricks вышел на сцену с заявлением масштаба смены эпохи: отдельные быстрые базы под витрины больше не нужны, перекачка данных между системами умерла, а всё хозяйство теперь живёт в едином озере, готовом под ИИ-агентов. Звучит так, что хочется встать и поверить.

Я вместо этого полез в их документацию, инженерные блоги и интервью - и ниже по пунктам сверяю, что обещано со сцены, а что написано мелким шрифтом. Сразу скажу: технология местами действительно сильная. Но «конца эпохи» в опубликованных данных я не нашёл - нашёл несколько мест, где громкое слово прикрывает вещь куда более скромную и знакомую.

Читать далее

Как заставить LLM проанализировать хранилище из тысяч заметок, которое не влезает в контекст

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

У меня в Obsidian накопилось под две тысячи заметок. Ежедневники, конспекты, обрывки идей, недописанные черновики. Граф‑вью честно показывает мне облако точек: красиво, но бесполезно. Какие заметки висят сиротами без единой связи, какие дублируют друг друга под разными тегами, какие кластеры тем так и не соединились, из графа не вытащить.

Очевидная мысль: «отдам всё LLM, пусть разберётся». Но 2000 заметок это миллионы токенов. Ни в один контекст это не влезает, а если бы и влезло, стоило бы как крыло самолёта и утонуло бы в шуме.

Так появился идея по созданию Vault Audit AI, плагин для Obsidian, который проводит аудит хранилища через LLM: находит сироты, кластеризует темы, предлагает теги и связи. Я его опубликовал в официальном каталоге и выложил на GitHub. В этой статье разберу инженерную начинку: как обойти лимит контекста через MapReduce, как не платить за повторный анализ, как абстрагировать четырёх LLM‑провайдеров под одним интерфейсом, и что пришлось переделать, чтобы пройти автоматическое ревью каталога.

Код на TypeScript, фрагменты настоящие (слегка почищены от обёрток локализации ради читаемости).

Читать далее

Как мы работаем со студентами: дипломы, которые становятся частью YDB

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

У студенческих проектов часто есть проблема: после защиты они отправляются в архив. Студент получает оценку, преподаватель — отчёт, но результат редко кто-то использует.

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

Ранее мы уже рассказывали на Хабре, как начать контрибьютить в YDB и какие задачи могут подойти для первых опенсорс-вкладов. Эта статья — продолжение той же темы, но с фокусом на студентах: в ней мы делимся, как подбираем темы для дипломов и учебных проектов, как сопровождаем работу и почему стараемся делать так, чтобы результат был полезен не только на защите.

Читать далее

AngaraBase: новая HTAP СУБД

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

AngaraBase — OLTP/HTAP СУБД, написанная с нуля на Rust. Совместима с PostgreSQL по протоколу — работает с psql, JDBC, psycopg2 и стандартными драйверами. UNDO-log MVCC без VACUUM, векторизованный исполнитель с SIMD-батчами — транзакции и аналитика под одним SQL и одним снапшотом, без ETL и второго хранилища. Fail-closed контракты ресурсов, USDT-пробы без рестарта, EXPLAIN с разбивкой по фазам исполнения. Dev preview доступен на angarabase.dev.

Читать далее

Создал хранилище данных в одном зашифрованном файле

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

В прошлой статье я рассказывал про свой пет-проект qrrot. Тогда это была in memory база данных на Go с TCP-интерфейсом и встроенным ИИ-ассистентом. Идея казалась забавной, но на практике оказалась бесполезной вещью, поэтому я просто продолжил ее ковырять и пробовать сделать из нее что то интересное и быстрое. В процессе ковыряния в своем проекте я полностью перевернул его суть и идею, и вышло это.

Читать далее

Почему не Sakila? Создаём современную учебную базу данных для MariaDB

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

Если вы когда-либо преподавали SQL или проходили курс по базам данных, то почти наверняка встречали Sakila — маленькую базу данных видеопроката, которая вот уже почти двадцать лет служит эталонным примером в туториалах по MySQL и MariaDB. Схема чистая, нормализованная, данных достаточно для интересных запросов.

Проблема в другом: Sakila спроектирована в 2006 году под MySQL 5.0.

С тех пор многое изменилось.

Читать далее
1
23 ...