home.social

#redb — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #redb, aggregated by home.social.

fetched live
  1. Локальная база на клиенте: Blazor WebAssembly и MAUI на SQLite — без EF DbContext, Include и миграций

    Офлайн-хранилище со сложным графом и outbox: быстрый старт в MAUI и в браузере, базовые операции и почему в этой роли EF Core только мешает. Курьер спустился в подвал склада — связи нет. Кладовщик третий час принимает поставку в зоне, где вайфай добивает через раз. Пользователь заполнил форму на четыре экрана и нажал «Сохранить» в момент, когда сервер уехал на деплой. Приложение должно продолжать работать. Значит ему нужна своя база на устройстве : не кеш ответов, а полноценное локальное хранилище, где живут незавершённые документы, локальные состояния и очередь изменений на отправку — тот самый outbox, который дошлёт всё, когда связь вернётся. И вот тут начинается знакомое.

    habr.com/ru/articles/1068388/

    #c#_net #sqlite #blazor #maui #embedded #orm #redb #opensource

  2. Референсная архитектура платёжной платформы на.NET: схемы, границы транзакций, модули, кластер

    В прошлой статье я разбирал платёжную платформу с точки зрения сметы: три слоя, где уходят человеко‑годы, что можно не писать. Главный вопрос, который она честно оставляла открытым, звучал так: окей, а как это собрать? Эта статья — ответ. Референсная архитектура: модель учёта, границы транзакций, разбиение на модули, топология кластера, маршруты интеграций и точки восстановления. С кодом и схемами. Оговорка сразу: это референс‑модель , а не выгрузка из конкретного прода. Код показывает реальный API и рабочие приёмы, но ваша модель учёта будет отличаться — и должна отличаться, об этом ниже отдельно. Стек: типизированное хранилище redb поверх PostgreSQL, интеграционный движок redb.Route , рантайм redb.Tsak и сервер идентичности redb.Identity . Всё Pro, всё бесплатно на линейке 3.x.

    habr.com/ru/articles/1064218/

    #архитектура #финтех #платёжная_система #ledger #идемпотентность #транзакции #EIP #NET #redb #микросервисы

  3. Платёжная платформа на.NET: во что она обходится и что из этого можно не писать

    Разговор про финтех‑платформу почти всегда начинается не с той стороны. Обсуждают выбор брокера сообщений, спорят про микросервисы против монолита, рисуют схему БД. А через полтора года выясняется, что команда из двенадцати человек написала полтора миллиона строк, из которых бизнес‑логики — тысяч двести, а остальное это транспорт, ретраи, дашборды, деплой и попытки понять, где ночью застрял платёж. Эта статья — про вторую цифру. Про то, сколько стоит слой, который не приносит денег, но без которого система не живёт. И про то, какую его часть сегодня можно просто не писать. Мы четыре года строим экосистему redb — типизированное хранилище поверх PostgreSQL, MS SQL и SQLite, интеграционный движок, рантайм с кластером и дашбордом, и сервер идентичности с поддержкой OAuth 2.1 и OpenID Connect. Всё это работает в проде, публикуется пакетами и образами, и — важное для этой статьи — все Pro‑возможности бесплатны на всей линейке 3.x, без ключей и лицензионного сервера . Ниже — разбор платёжной платформы по трём слоям, с расчётом, где именно уходят человеко‑годы. Без кода: технические разборы у нас есть отдельно, здесь речь про деньги, сроки и риски.

    habr.com/ru/articles/1064178/

    #финтех #платёжная_система #биллинг #стоимость_разработки #timetomarket #интеграция #OIDC #эксплуатация #NET #redb

  4. redb 3.4.0: переигрываем упавшее, патчим фреймворк без пересборки и раздаём права — экосистема.NET

    Написать систему и эксплуатировать систему — две очень разные инженерные задачи. Первая заканчивается на «работает под нагрузкой». Вторая начинается с вопросов, которые задаёт человек на дежурстве: что упало ночью и как это переиграть? кто нажал force‑stop? можно ли выкатить патч библиотеки, не пересобирая весь рантайм? почему пароль сервис‑аккаунта видно на странице дашборда? Прошлые релизы нашей экосистемы отвечали на первый вопрос. 3.4.0 — целиком про второй. Напомню, из чего экосистема состоит: типизированное хранилище redb поверх Postgres/MSSQL/SQLite, интеграционный движок redb.Route (наш ответ Apache Camel под.NET, 30+ коннекторов), рантайм redb.Tsak с дашбордом, hot‑reload и кластером, и сервер идентичности redb.Identity (OIDC/OAuth 2.1). Всё это работает у нас в проде и публикуется пакетами, образами и standalone‑архивами. В 3.4.0 появились четыре вещи, каждая из которых — про день после деплоя:

    habr.com/ru/articles/1063722/

    #redb #redbRoute #redbTsak #Apache_Camel #replay #dead_letter_queue #RBAC #OIDC #hot_reload #NET_9

  5. redb 3.3.0: решение уровня энтерпрайз на .NET — своя БД, свой Apache Camel и рантайм с дашбордом (и всё это бесплатно)

    Когда говорят «энтерпрайз-стек на .NET», обычно имеют в виду зоопарк: база от одного вендора, шина от другого, ORM с миграциями, отдельный оркестратор, ещё что-нибудь для наблюдаемости — и клей между всем этим, который пишешь сам и потом сам же чинишь по ночам. Мы пошли другим путём и последние полгода собираем это как одну согласованную экосистему : типизированное хранилище redb поверх Postgres/MSSQL/SQLite, интеграционный движок redb.Route (наш ответ Apache Camel под .NET) и рантайм redb.Tsak с дашбордом, hot-reload и кластером. Три слоя, один код, один стиль. Сегодня вышла версия 3.3.0 — синхронный бамп всей экосистемы. Это не «добавили пару фич»: это релиз, в котором мы починили то, что молча не работало под нагрузкой (и это, пожалуй, главное), добавили два новых транспорта, довели до конца RAG-петлю для LLM и сделали конкурентность на любом источнике. Ниже — по делу, с кодом. И сразу главное: с версии 3.3.0 все Pro-решения бесплатны. Никаких лицензий, никаких ключей, никакой регистрации — просто ставишь пакет и юзаешь. Change tracking, bulk, продвинутый кэш, аналитика, кластер Tsak с координатором и failover — всё включено из коробки, в разработке и в проде одинаково. dotnet add package redb.Postgres.Pro — и оно работает. Никакого пейволла, никакого лицензионного сервера, ничего активировать не надо.

    habr.com/ru/articles/1057616/

    #c# #sqlite #dotnet #kafka #rabbitmq #redb #sqs #telegram

  6. Анатомия SQLite-провайдера: уходим от EF Core — типизированное хранилище для десктопа, мобайла и Blazor WASM

    Серия: redb ecosystem (инженерный разбор после анонса 3.2.1) Когда вышел SQLite-провайдер 3.2.1 , анонс был на пару абзацев: «тот же LINQ, одна строка в DI». Эта статья — противоположность анонса. Здесь не «что вышло», а как оно устроено и где у нас потекло . Конкретно: как движок запросов redb переехал в нативное C-расширение там, где у базы нет хранимок; как мы храним DateTimeOffset в базе, у которой нет типа «дата»; и три бага из этого релиза, разобранные с фильтр-JSON, сгенерированным SQL и фиксом. Это длинно и с кодом. Если хочется коротко — читайте анонс по ссылке выше. Если интересно, что под капотом «одной строки в DI», — устраивайтесь.

    habr.com/ru/articles/1053672/

    #C# #NET #SQLite #Blazor #MAUI #embedded #ORM #redb #opensource

  7. REDB: индексы, или почему на любую схему — это быстро

    В предыдущей части цикла разобрали 13 таблиц REDB: как устроены objects , values , structures , как RTTI-хранение значений отличается от старого EAV-паттерна, зачем нужен scheme_metadata_cache . Если не читали — начните с неё, без понимания схемы дальше тяжело. В этой статье — то, что обычно идёт следующим вопросом: «А индексы где? У вас же значения всех полей лежат в одной таблице. Любой WHERE — это Seq Scan по миллионам строк». Это статья 1.1, а не 2 — потому что она прямое продолжение разговора про физическое хранение. Глубокое погружение в C# — это статьи 3-5 цикла : Code-first схемы ( SyncSchemeAsync<T> ), CRUD (SaveAsync/LoadAsync), LINQ-транслятор. Здесь разговор остаётся в плоскости БД и DDL. Цифры, на которые опираемся, — с реального прода: TSUM, логистическая система, обслуживает движение грузовиков и заказов через РЦ.

    habr.com/ru/articles/1045208/

    #redb #dotnet #postgresql #mssql #индексы #производительность #c# #c#net

  8. REDB изнутри, статья 1: 13 таблиц, на которых работает всё

    В предыдущей статье я разобрал что умеет REDB на практике: code-first схемы, LoadAsync без Include, LINQ с оконными функциями, деревья, redb.Route и redb.Tsak. Если не читали — начните с неё, она даёт общую картину. Теперь начинаю цикл «REDB изнутри» — серия статей про устройство хранилища: как хранятся объекты и свойства, как работают схемы и кэш структур, как LINQ превращается в SQL, как устроены деревья, права, оконные функции. Всё с реальным SQL под капотом. Первая статья цикла — про саму базу данных. Без понимания схемы таблиц всё остальное будет висеть в воздухе.

    habr.com/ru/articles/1043790/

    #redb #dotnet #postgresql #mssql #хранилище #архитектура

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

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

    habr.com/ru/articles/1042058/

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

  10. #redb is complete garbage and has the worst api i have ever seen on an embedded database in #rust
  11. This is part of an email I get whenever I sell something on RedBubble. Spot the error:

    #design #art #business #redb

  12. #redb is a pure #Rust embedded DB engine modeled after #LMDB . They got some interesting benchmark results, comparing to other embedded DBs. crates.io/crates/redb

    Despite having the slowest single writes, LMDB has the fastest bulk load speed. This is no accident; while we don't worry too much about runtime write perf, we absolutely want to get a freshly reloaded server up and running ASAP, and fast bulk load enables that. #rustlang

  13. Congrats to the #redb folks for stabilizing the disk format and releasing a 1.0 recently

    (redb is an embedded key value store built in #rustlang)

    I wish the documentation was better than just the type definitions, but it is enough that I think I could play around with it