Обновить
128K+

Базы данных *

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

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

DuckDB перерос своё гнездо

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

DuckDB - популярная база данных, которая примечательна тем, что имеет расширение для PostgreSQL, позволяющее выгружать данные из PostgreSQL в DuckDB. Синтаксис SQL, используемый DuckDB, близок к синтаксису PostgreSQL, что делает DuckDB популярной аналитической базой в дополнение к PostgreSQL. Компания MotherDuck писала о DuckDB как о прекрасном дополнении PostgreSQL. Однако, в конце августа появилась новость о том, что Amazon приобретает Duck Labs. Генеральный директор компании MotherDuck написал статью в корпоративном блоге MotherDuck об этом, которая интересна для понимания того, как он оценивает перспективы развития DuckDB.

Читать далее

Новости

Инструкция по устранению нарушений по персональным данным на сайте

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

Роскомнадзор наделен полномочиями по проведению контрольного (надзорного) мероприятия по контролю без взаимодействия с контролируемым лицом. Это означает, что Роскомнадзор на основании полученных заданий делает выборку нескольких сайтов и осуществляет в отношении них проверку. При этом владельцев сайтов (операторов персональных данных) никак не уведомляет. Если на сайте нет нарушений в области персональных данных, то вы и не узнаете, что сайт проверялся. А если нарушения будут найдены, то получите от Роскомнадзора письмо «требования об исполнении законодательства о персональных данных». В соответствии с законодательством у владельца сайта есть 10 рабочих дней с момента получения требования, чтобы устранить нарушения и уведомить о принятых мерах Роскомнадзор.

Роскомнадзор достаточно лоялен к бизнесу. Выявив нарушения, он не сразу составляет протокол об административном правонарушении, а дает время адаптироваться (10 дней на исправление). Только в том случае, если требования органа не будут выполнены, то бизнес будет привлечен к административной ответственности. Поэтому главное правило – если получили такое письмо от Роскомнадзора, то ни в коем случае не игнорируем.

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

_________________________________

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

Читать далее

redb 4.0: ленивые ссылки, уникальные ключи и обновление базы без DBA

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

Анонс четвёртой версии redb.Core: ссылки грузятся по обращению, уникальность на любом поле, схема обновляется сама. Бесплатно, три СУБД, Free и Pro одинаково.

Готовится redb.Core 4.0. За год это первый мажор такого масштаба: не смена номера, а качественное расширение функционала. Он про три вещи, которые чаще всего просили: ленивая загрузка ссылок между объектами, уникальные ключи на любом поле и обновление схемы базы без ручных действий администратора. Всё вместе, на трёх СУБД сразу и без разделения на «в Free так, в Pro иначе».

Коротко, что изменится для приложения.

Читать далее

Как проверить новую интеграционную архитектуру до выхода в прод: пример пилота ESB на реальной задаче

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

На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». Когда меня спрашивают, как выбрать интеграционную платформу, я обычно советую не ограничиваться сравнением функций и демонстрацией вендора. Гораздо полезнее проверить платформу на конкретной задаче из собственного ИТ-ландшафта.

Недавно для одного из заказчиков мы провели такой пилот: вместо существующей цепочки COM-обменов проверили централизованную схему через DATAREON Platform. Всего три интеграционных потока позволили проверить не только саму платформу, но и ключевую архитектурную гипотезу — может ли одна из систем стать единым источником данных, а зависимость от промежуточной системы быть устранена.

На этом примере разберу, что именно имеет смысл проверять во время пилота ESB и почему пилот не должен превращаться в формальную передачу нескольких сообщений из точки А в точку Б.

Читать далее

Способен ли UNO заменить TOML, YAML, KDL, HCL, EDN и другие языки разметки данных?

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

Уникальная нотация языка UNO создаёт ему огромный потенциал, позволяющий в перспективе заменить большинство нынешних языков разметки данных.

Понятно, что XML и JSON имеют собственные ниши, в которых они могут находиться вечно, но существует огромный ряд задач, где даже их можно с выгодой заместить. Что же касается таких специализированных форматов, как TOML, YAML, KDL, HCL или EDN, то при повсеместном внедрении UNO они рискуют потерять свою актуальность. Из-за врожденных синтаксических недостатков, медленного парсинга или скрытых ошибок, обусловленных недостаточным проектированием, эти языки могут остаться лишь в легаси-проектах. Верно ли данное утверждение? Давайте разбираться.

Да не может быть! Или всё таки..

ClickHouse: разбираем Dictionaries

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

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

В этой статье разберём ещё один инструмент ClickHouse, который часто используется при обогащении данных и позволяет значительно ускорить выполнение тяжелых SQL-запросов с джоинами.

Читать далее

Postgres Pro BiHA на практике: аварийное тестирование встроенной отказоустойчивости

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

Про BiHA (встроенную отказоустойчивость Postgres Pro) написано немало, и почти всё написано вендором. Материалы честные и полезные, но все статьи написаны в одном продуктово-обзорном жанре: как устроено, из чего состоит, что умеет. Практической и эксплуатационной боли в них нет. Я решил зайти с другой, инженерной стороны, с замерами, аварийными сценариями и цифрами.

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

Читать далее

Локальная LLM миграция Vertica2Trino. Как довести до рабочего состояния, если модель не тянет

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

Привет, на связи команда BI-разработчиков коммерческого департамента: Алексей Дубинец и Павел Беспалов

В статье расскажем, как построили пайплайн миграции наших витрин с помощью локальной LLM. 

Сразу оговорюсь: это не история про то, как мы дали в Codex или Claude Code, написали скилл и получили магический результат. Покажем инженерную часть задачи: где локальная модель срабатывает не так, какие наивные решения не работают и что пришлось построить вокруг неё, чтобы перевод стал воспроизводимым.

Читать далее

Как KupujemProdajem ищет по 5,6 миллиона объявлений примерно за 10 мс с помощью Manticore Search

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

Как крупнейшая площадка объявлений Сербии использует Manticore Search, чтобы искать по 5,6 миллиона активных объявлений примерно за 10 мс, обновлять индекс в реальном времени и готовиться к гибридному поиску.

Читать далее

Ваш исполняемый файл — это база данных SQLite

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

Последние несколько лет я, похоже, одержим двумя темами: а) Nix в качестве инструмента для исследования новаторских идей, требующих возможностей перестройки мира; б) замена ELF на SQLite в качестве формата исполняемых файлов. Возможно, вы заметили, что эти две идеи хорошо сочетаются друг с другом.

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

Одним из результатов этого исследования стал инструмент sqlelf, позволяющий декларативно исследовать файл ELF при помощи SQL. [Я написал статью arXiv:2405.03883, которую мне не удалось опубликовать]. SELECT name FROM elf_symbols вместо возни с readelf и grep. Это оказалось на удивление просто благодаря использованию виртуальных таблиц для ELF, однако мне всё равно было интересно исследовать формат файлов ELF. Но всё же я понимал, что можно сделать нечто гораздо большее.

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

Не просто «база данных, описывающая исполняемый файл», а реальный файл, с которым можно сделать chmod +x и запустить его.

Читать далее

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

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

Что общего у Бенджамина Франклина, японских пенсионеров и американских зумеров? Всех их спрашивали о смерти, бессмертии и о том, сколько они хотят прожить. Только данные разбросаны по сотням статей, сайтов, стат. сборников и архивов.

Если биологи и медики уже давно каталогизируют данные о продлении жизни, то социальные данные — что люди об этом думают — до сих пор лежали мертвым грузом. Никто не сводил их в одну таблицу.

Я решил, это исправить. В этой статье я расскажу, как родился проект «Кто хочет жить вечно», почему вопрос бывает важнее ответа и как я собирал со всего интернета материалы, упаковывая их в инфографику на 40 графиков.

Читать далее

ora2pg молча выбросил процедуру целиком, и это не самое обидное

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

ora2pg переносит схему с Oracle на PostgreSQL, и в целом переносит хорошо. Интересное начинается там, где он чего-то не осилил: он не падает и не ругается, а молча делает не то.

Процедура с AUTHID исчезает из вывода целиком, без ошибки и без строки в логе. TO_DATE с форматом RR молча возвращает 1 год до нашей эры. LONG RAW превращается в text, хотя сам ora2pg документирует bytea. Обработчик исключений после конвертации ловит SQLSTATE, которого PostgreSQL не возбуждает никогда.

Двадцать таких мест, все проверены на реальном ora2pg 25.0 и живом PostgreSQL 16, по каждому написано чем чинить.

Читать далее

Ошибки ценою в миллионы: как не попасть под штраф за некорректную работу с персональными данными

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

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

Читать далее

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

Одну и ту же выгрузку получили сорок подрядчиков. Утекла одна копия. Определить источник можно точно

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

Разбор, на который меня зовут регулярно, и заканчивается он почти всегда одинаково. База клиентов всплывает в продаже. Выгрузку за последний год получали десятки контрагентов — интеграторы, колл-центр, маркетинговое агентство, аудиторы. У всех был законный доступ. Файл у всех был один и тот же.

Дальше начинается разговор в жанре «это не мы», и закончить его нечем: копии побайтово одинаковые, доказать причастность нельзя ни к кому.

Чинится это не после инцидента, а до него — и стоит недорого. Каждый получатель должен получать копию, отличающуюся от остальных так, чтобы отличие не мешало работе и переживало пересохранение файла.

Читать далее

redb 3.7: свой gRPC-протокол, отсечение props до агрегата и релиз, отозванный через день

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

Свой gRPC-wire в Route, отсечение props до агрегата в redb.Core, Tsak закрыт по умолчанию, второй фасад у Identity. И 3.7.0, отозванный через день.

За три дня у экосистемы сменилось три номера: 3.7.0, 3.7.1 и 3.7.2. Первый отозван, живой номер 3.7.2. Ниже разбор того, что в этой линии вышло, в порядке зависимостей: интеграционный движок redb.Route, хранилище redb.Core, рантайм redb.Tsak и OpenID-сервер redb.Identity. Все четыре продукта идут на одном номере, 66 пакетов.

Начну с того, почему номеров три.

Читать далее

PostgreSQL Recovery на пальцах: WAL, base_backup и PITR в Docker-compose

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

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

Восстановление данных буду делать с помощью второго PostgreSQL контейнера. Если кратко - данные WAL и base_backup будут прокидываться с помощью volume и контейнер будет стартовать с новыми данными.

Пока что рабочий стенд будет ограничиваться PostgreSQL 17 в Docker (без S3, Kubernetes, автоматизации и т.п), потом возможно сделаю дополнительные статьи, охватывающие более сложные production случаи.

Читать далее

Штрафы до 2,8 млн за «похожие товары» и кнопка Google: что теперь проверять на сайте

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

Привет Хабр! Меня зовут Давид Замирович и это моя вторая статья тут.

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

Читать далее

Как я хранил данные в Godot: почему JSON победил.tres и MySQL

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

Четыре месяца я разрабатываю пошаговый футбольный менеджер Kickoff Island. Игра строится вокруг уникальных игроков, команд и тактик. Кстати, уникальность игроков больше всего добавляет мне трудностей, так как прорисовка их всех, а еще и покадровая анимация в Aseprite, тот еще геморрой. В какой-то момент передо мной встал, казалось бы, простой, но важный вопрос: как хранить всех этих футболистов, их характеристики, таланты и состояния?

Читать далее

Анатомия HurriCache

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

HurriCache это распределенная key-value база данных с поддерожкой как простых типов ключ значение так и конейнеров, блокировок, работы с atomics и многое другое. HurriCache может работать как standalone так и в кластере. В данной статье не буду сравнивать ее ни с каким либо продуктом, просто расскажу о том что умеет решение а остальные выводы пускай сделают пользователи.

Читать далее

Клиент попросил удалить свои данные, вы сделали DELETE. Данные остались в файле

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

Ситуация обычная: пришёл запрос на удаление персональных данных, разработчик выполнил DELETE FROM clients WHERE id = ..., отчитался. Формально всё правильно — строки в таблице нет, приложение её не видит, выгрузка не содержит.

А в файле базы она есть. Целиком, вместе с именем и номером карты, и достаётся обычным grep.

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