RU

Я дважды неправильно объяснил один баг в ora2pg

У меня было объяснение, почему ora2pg теряет внешние ключи при переносе схемы в PostgreSQL. Я его опроверг, придумал новое и опроверг ещё раз. Насто…

ora2pgpostgresqlмиграция баз данныхmysqlmssqlвнешние ключиperlPG_VERSIONautovivificationотладка
Habr
RU

Firebase больше не тянет: как мы строили real-time-чаты на Centrifugo

Расскажу, как мы отказались от внешних серверов, безболезненно пережили переезд, избежали сбоев в высокий сезон и сократили расходы на эксплуатацию…

firebasecentrifugohighloadчатымиграция бдwebsocketsreal-timekubernetesmysqlмикросервисы
Habr
RU

Мой опыт перехода на Grafana для самописного веб‑сервера Интернета вещей

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

Grafanaвизуализация данныхумный домвизуализация умного домаинтернет вещейDockerdocker-composedockerfilemysql
Habr
RU

1.5 миллиона событий в день и ни одной таблицы events: как мы считали продуктовую аналитику 300K-бота по голому проду

Маркетолог прислал мне скрин дашборда и одно слово: «пусто». На скрине — панель «Количество пришедших по реферальной ссылке за период». Ноль. Под не…

grafanamysqlпродуктовая аналитикаsqlretentionворонкаtelegram bothighloadметрики
Habr
RU

За полгода мы проанализировали 7,79 млн SQL-запросов: какие СУБД и версии встречались чаще

За первое полугодие 2026 года мы проанализировали 7,79 млн SQL-запросов с нескольких тысяч серверов. В статье описали распределение по семействам СУ…

database optimizationquery optimizationоптимизация запросовmysqlpostgresqlmariadbmysql performancepostgresql performance
Habr
RU

Я написал мессенджер в одиночку. Поможете устроить ему краш‑тест?

Дисклеймер: Это статья-проверка на прочность. Проект работает на PHP + MySQL + Polling каждые 3 секунды. Если вы кликнули по ссылке, а сервер отдаёт…

phpmysqlpollingbackendmvpархитектурамессенджервеб-чаткраш-тестхабраэффект
Habr
RU

Meilisearch и Manticore Search: проверяем сравнение на практике

Несколько дней назад Meilisearch опубликовал  сравнение с Manticore Search  . Мы тоже любим сравнения: в 2023 году  опубликовали своё…

meilisearchсравнение поисковых механизмовполнотекстовый поисквыбор поисковикапроизводительностьоптимизацияmysqlmysql performance
Habr
RU

Как защитить Manticore Search с помощью встроенной аутентификации и авторизации

Поиск нередко считают просто инфраструктурой. Но в продакшене он фактически работает как API приложения: принимает пользовательский т…

аутентификацияавторизацияmysqlsqlлогированиеуправление правами доступазащищенный режимauthauthenticationauthorization
Habr
RU

Встроенная аутентификация и авторизация в Manticore Search

Поиск — уже не просто поле на веб‑сайте. Во многих случаях Manticore Search работает как внутренняя служба обработки данных: приложения направляют к…

аунтентификацияаунтефикацияавторизацияинформационная безопасностьmysqlhttp
Habr
RU

Миграция MariaDB → PostgreSQL без даунтайма: почему обычные утилиты не подошли и как мы сделали это через Debezium CDC

Перед командой, выросшей на MySQL/MariaDB, встаёт вопрос перехода на PostgreSQL: лицензии, экосистема расширений, более предсказуемое поведение при…

mysqlpostgresqldevopsdebeziumkafka
Habr
RU

Я собрал кнопку, которая сотрёт прогресс всех моих игроков. И до сих пор боюсь её нажать

Два года по вечерам в одиночку пилю текстовую MMORPG в Telegram. Сейчас в ней 1111 аккаунтов и 586 выживших, которые бродят по мрачному острову. И г…

mmorpgвайпwipephpmysqlмиграциитестырефакторингtelegramбот
Habr
RU

Интернет или ничего: как заставить PHP-разработчика ERP-системы писать под Windows

"Если вашего бизнеса нет в Интернете, то вас нет в бизнесе! Скоро на рынке останется два вида компаний: те, кто в Интернете и те, кто вышел из бизне…

ElectronSQLiteerpучетные системыrest apiphpmysqlcapacitor
Habr
RU

Проектирование интеграционного решения для автоматизации детской футбольной школы

Детская футбольная школа имеет базу данных детей и их родителей, в которой более 7000 уникальных записей. На данный момент посещаемос…

bpmnавтоматизацияumlpostmanerpmysqlоптимизация
Habr
RU

SQL Оконные функции простым языком

Каждый SQL-разработчик помнит свое первое столкновение с конструкцией OVER(). Когда после понятных и уютных SELECT и GROUP BY ты видишь этот перегру…

sqlбазы данныхоконные функцииwindow functionsаналитика данныхобучение sqlrow_numberpostgresqlmysqlразработка
Habr
RU

Два года один пилю MMORPG на CI4: пять багов, за каждым из которых стоял живой игрок

Строка “false” в PHP равна true. Я узнал это, когда рубильник, которым я выключаю фичи перед живыми игроками, полгода отказывался выключаться. Два г…

codeigniter 4phpphpstanmysqlormutf8mb4граблиmmorpgtelegram ботрефакторинг
Habr