RU

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

Эндпоинт отдавался за 380–510 мс и 811 КБ. Я думал, что причина одна – тяжёлый запрос. Разобрался: причин было три, и они лежали одна под другой. По…

MongoDBFastAPIBeanieORMоптимизация APIиндексы MongoDBgzipnginxPythonexplain
Habr
RU

Отказ — это событие, а не статус: как мы перепроектировали модель данных исполнительного производства

В статье про юридический техдолг я писал, что он копится незаметно и вылезает через искажённые данные. Теперь покажу, как это выглядит вблизи: одно…

моделирование данныхevent sourcingMongoDBMongooseмиграция данныхлегаситехнический долгstate machinelegaltechappend-only
Habr
RU

Разработчики знали код. Никто не знал систему

Мне поручили доработать высоконагруженную подсистему аудита. Документации было много, специалистов тоже, но никто не мог описать сист…

Системный анализвысоконагруженные системыаудит событийlegacy-системыанализ исходного кодаKafkaMongoDBPostgreSQLYDBархитектурное исследование
Habr
RU

Где в облачном бэкапе теряется контроль над данными — и как его вернуть

Заказывая бэкап облака, компания незаметно отдаёт наружу три вещи: доступ к данным, ключи шифрования и место хранения. Разбираю по пунктам, как верн…

резервное копированиеend-to-end шифрованиеуправление ключамиS3ФЗ-152персональные данныеЯндекс 360MongoDB
Habr
RU

Query‑first подход или как из SQL запросов или MongoDB контрактов получить готовое REST API

Я давно хотел убрать из backend‑разработки одну особенно липкую рутину: когда для каждой новой сущности снова и снова приходится соби…

GoREST APIbackendгенерация кодаSQLCPostgreSQLMongoDBOpenAPIquery-firstCLI
Habr
RU

Generic Repository<T> обещал три вещи — не сдержал ни одной и забрал доменную модель

Сколько раз вы реально меняли базу под приложением? Generic Repository – первое, что тащат в проект, и последнее, в чём сомневаются, – держат ровно…

Generic RepositoryRepository patternрепозиторийантипаттернагрегатыEF CoreMongoDBанемичная модельчистая архитектураddd
Habr
RU

ObjectId против UUID: как выбор _id в MongoDB влияет на API, индексы и миграции

_id в MongoDB кажется мелочью, пока не попадает в API, события и миграции. Разбираем, когда оставить стандартный ObjectId , когда нужен UUID , почем…

MongoDBObjectIdUUIDBSONиндексыархитектураAPIбазы данныхидентификаторы