Eventual Consistency: как мы починили тормоза апрува и сломали бюджет

Мы убрали одну блокировку, чтобы апрувы перестали тормозить. Через несколько недель из-за этого клиент пробил квартальный бюджет – а наша система этого даже не заметила. B2B travel SaaS, конец 2016-го. Два руководителя финансового департамента одновременно открыли форму апрува, оба увидели один и тот же остаток, и каждый одобрил поездку, которая по отдельности в бюджет вписывалась. Вместе они пробили лимит. Узнали мы об этом из звонка клиента, не из алерта. Дальше – три вопроса про eventual consistency, которые стоит задать до архитектуры, а не на разборе инцидента.

https://habr.com/ru/articles/1042256/

#eventual_consistency #согласованность_данных #CQRS #оптимистичная_блокировка #EF_Core #проекции #saga #идемпотентность #распределённые_системы #read_model

Eventual Consistency: как мы починили тормоза апрува и сломали бюджет

Мы убрали одну блокировку, чтобы апрувы перестали тормозить. Через несколько недель из-за этого клиент пробил квартальный бюджет – а наша система этого даже не заметила. Полгода после MVP, первые...

Хабр

redb — типизированное хранилище для .NET поверх Postgres/MSSQL: без миграций, без Include, с полным LINQ

Типизированное хранилище для .NET поверх Postgres и MSSQL. C#-класс как схема — без миграций, без Include, с полным LINQ. Работает в проде. LoadAsync вместо 40 Include →

https://habr.com/ru/articles/1042058/

#LINQ #миграции #EF_Core #object_store #redb #opensource #PostgreSQL #MSSQL #NET

redb — типизированное хранилище для .NET поверх Postgres/MSSQL: без миграций, без Include, с полным LINQ

Strong Typing — Real C# Classes, Not Just JSON blobs Проблема Возьмём типичный enterprise-объект — скажем, заказ. Он связан с клиентом, позициями, каждая позиция — с товаром, у товара — категория, у...

Хабр

[Перевод] Самый тупой способ повышения производительности

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

https://habr.com/ru/articles/992748/

#костыли_и_велосипеды #ef_core #кровавый_enterprise

Самый тупой способ повышения производительности

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

Хабр
EFCore.Visualizer - View Entity Framework Core query plan inside Visual Studio - .NET Blog

A Visual Studio extension that helps developers visualize and analyze Entity Framework Core query execution plans directly within their development environment.

.NET Blog

Простое решение для автоматизации контроля за состоянием базы данных с использованием EF Core

Привет, Хабр! Меня зовут Кирилл Салихов, и я занимаюсь разработкой бизнес-приложений на платформе .NET в компании КРОК. При оптимизации процессов развертывания приложений возник вопрос о том, как эффективно хранить SQL-код, предназначенный для применения к базе данных, чтобы избежать необходимости в ручном труде и перемещении файлов. В короткой статье дам пошаговую инструкцию автоматического применения миграций к базе данных и управлению представлениями и процедурами, без всяких сиай/сиди… So what if I swagger?

https://habr.com/ru/companies/croc/articles/876468/

#net_core #ef_core #entity_framework #sql_server #microsoft #entity_framework_core #migrations #database

Простое решение для автоматизации контроля за состоянием базы данных с использованием EF Core

Привет, Хабр! Меня зовут Кирилл Салихов, и я занимаюсь разработкой бизнес-приложений на платформе .NET в компании КРОК. При оптимизации процессов развертывания приложений возник вопрос о том, как...

Хабр

[Перевод] Практический подход к EF Core с использованием скалярных функций

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

https://habr.com/ru/articles/849256/

#net #sql #functions #tsql #ef_core

Практический подход к EF Core с использованием скалярных функций

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

Хабр
A beginner's guide to mapping arrays in EF Core 8 - .NET Blog

EF Core 8 introduces support for mapping typed arrays of simple values to database columns so the semantics of the mapping can be used in the SQL generated from LINQ queries.

.NET Blog