База данных объектов
для .NET
Не key-value хранилище. Настоящие объекты, настоящие запросы.
LINQ, деревья, агрегации, оконные функции — нативный SQL.
$ dotnet new install redb.Templates && dotnet new redb -n MyApp// Define your model [RedbScheme] public class Product { public string Name { get; set; } public decimal Price { get; set; } public Category Category { get; set; } // Nested! } // Query with full LINQ await redb.Query<Product>() .Where(p => p.Price < 100) .Where(p => p.Category.Name == "Electronics") .OrderBy(p => p.Name) .ToListAsync();
Почему RedBase?
Строгая типизация
Настоящие C# классы с IntelliSense. Проверки на этапе компиляции. Полный рефакторинг. Без магических строк.
Древовидные структуры
Иерархические данные как объект первого класса. Предки, потомки — оптимизированные CTE-запросы.
Полный LINQ
Where, OrderBy, GroupBy, Take, Skip, Any, All, Count — всё компилируется в нативный SQL.
Аналитика
GroupBy, Sum, Avg, Min, Max. Оконные функции: RowNumber, Rank, Lag, Lead.
Без миграций
Code-first синхронизация. Добавьте свойство — база обновится автоматически. Без скриптов.
Enterprise Ready
PostgreSQL и SQL Server. Кеширование, отслеживание изменений, вычисляемые выражения.
Пишите меньше. Запрашивайте больше.
Никаких цепочек Include. Никаких проблем N+1.
// Nested objects = Include chains var dbOrders = await context.Orders .Include(o => o.Customer) .Include(o => o.Items) .ThenInclude(i => i.Product) .ThenInclude(p => p.Category) .Include(o => o.Shipping) .ThenInclude(s => s.Address) .Where(o => o.Status == "Active") .ToListAsync(); // Then map to business objects... var orders = dbOrders.Select(MapToOrder); // 6 JOINs, N+1 risk, manual mapping
// Query business objects directly var orders = await redb .Query<Order>() .Where(o => o.Status == "Active") .Where(o => o.Customer.Country == "US") .ToListAsync(); // Business entities ready to use // No DB models. No mapping. // No Include. Compile-time safe.
Настоящий SQL. Настоящая мощь.
Построен на PostgreSQL и SQL Server — корпоративных СУБД, которым вы доверяете.
Вся мощь реляционных БД
Индексы, внешние ключи, транзакции, ограничения, триггеры — всё, что предоставляет ваш SQL-сервер. Без ограничений.
ACID-транзакции
Настоящие транзакции базы данных с поддержкой отката. Не eventual consistency — немедленная, надёжная, проверенная в бою.
Нативная производительность SQL
Запросы компилируются в оптимизированный SQL. Используйте EXPLAIN ANALYZE. Добавляйте индексы. Никакого чёрного ящика.
Строгая типизация
C# классы с IntelliSense. Проверки на этапе компиляции. Рефакторинг работает. Без магических строк, без сюрпризов в рантайме.
Свой SQL при необходимости
Пишите сырой SQL для сложных случаев. Комбинируйте LINQ и SQL свободно. Полный контроль, когда нужно.
Лучше, чем NoSQL
Гибкость документных хранилищ + мощь SQL. Вложенные объекты без парсинга JSON. Настоящие запросы, не map-reduce.
Идеально подходит для
От простых проектов до корпоративных систем — один подход для всего.
Простая интеграция с SQL
Есть существующая SQL база? Просто подключитесь, опишите классы и начните работать. Без миграций, без изменений схемы. Развивайтесь постепенно.
Хранимые процедуры и функции
Используйте существующую библиотеку SQL-функций. Создавайте свои процедуры. Вызывайте их прямо из LINQ. Вся мощь SQL в C# коде.
IoT и телеметрия
Датчики, устройства, контроллеры — храните как объекты RedBase. Создайте свои партиционированные таблицы трендов для временных рядов. Связь через FK с _objects. Лучшее из двух миров.
Идентификация и IAM
Пользователи, роли, разрешения, клеймы, политики, журналы аудита. Вместо 20+ таблиц ASP.NET Identity — просто C# классы. Типизированные, рефакторируемые, простые.
CRM и бизнес-приложения
Контакты, компании, сделки, товары. Каждая отрасль требует разных полей. Добавляйте атрибуты без ALTER TABLE. Гибко как таблица, типизировано как код.
No-Code и конструкторы
Конструкторы сайтов, CMS, конструкторы форм. Пользователи создают типы сущностей в рантайме. Вы просто сохраняете объекты — без генерации схемы, без генерации кода.
Простые проекты
Блог, каталог, портфолио? Опишите классы, сохраните объекты, делайте запросы через LINQ. База данных готова за минуты. Масштабируйте при необходимости.
Медицина и ERP
Сотни типов сущностей: пациенты, диагнозы, анализы, оборудование, заказы. Традиционный подход = сотни таблиц. RedBase = просто C# классы.
E-commerce
У одежды — размер и цвет. У техники — характеристики. У еды — срок годности. У каждой категории — свои атрибуты. Один кодбейз, без схемы на категорию.
Портируемость баз данных
Экспорт в .redb файл, импорт в любую поддерживаемую СУБД. PostgreSQL сегодня, SQL Server завтра. Один формат бэкапа, без привязки к вендору. CLI-инструмент в комплекте.
Будущие движки
PostgreSQL и SQL Server сегодня. Oracle, MySQL, SQLite, ClickHouse — в планах. Ваш код остаётся тем же. Смените движок без переписывания запросов.
Cloud и MPP Ready
SQL Server → Azure SQL. PostgreSQL → Aurora, AlloyDB, Citus. Совместимость с GreenPlum в исследовании. Тот же код, смените строку подключения — из on-prem в облако за минуты.
.NET Native
Создан для .NET-разработчиков. Работает с C#, F#, VB.NET — любым .NET языком.
Кросс-платформенность
Windows, Linux, macOS, Docker, Kubernetes. .NET 8+ с поддержкой AOT. Деплой куда угодно — один бинарник.
Отладка и прозрачность
ToSqlString() на любом запросе — смотрите точный SQL перед выполнением. Никакого чёрного ящика. Используйте EXPLAIN ANALYZE. Профилируйте как нативный SQL.
Параллельная обработка
Parallel.ForEach для материализации. Параллельный diff деревьев. Пакетные операции. Масштабируется на все ядра CPU. 100K+ объектов/сек.
Полная поддержка LINQ
Where, Select, OrderBy, GroupBy, Any, All, Count, Take, Skip — всё работает. Не подмножество. Настоящий LINQ, настоящая мощь.
Dependency Injection
Стандартный IServiceCollection. AddRedb() и готово. Scoped-сервисы, правильный lifetime. ASP.NET Core, Blazor, MAUI — нативная интеграция.
100% Async
Каждая операция — async/await. Без блокирующих вызовов. Идеально для высоконагруженных веб-приложений, real-time сервисов, микросервисов.
Строгая типизация
IntelliSense для всех свойств. Проверки на этапе компиляции. Рефакторинг работает по всей кодовой базе. Без магических строк, без сюрпризов.
NuGet Ready
dotnet add package redb.Postgres — начните кодить за секунды. Ядро с открытым исходным кодом бесплатно навсегда. Pro-пакеты для корпоративных нужд.
SQL под конкретную СУБД
LINQ компилируется в оптимизированный SQL для PostgreSQL или SQL Server. Не generic SQL — нативный синтаксис, нативные функции, нативная производительность.
RedBase — Native Object Database on SQL
Объектно-нативная. SQL-powered.
Храните C# объекты напрямую, используя PostgreSQL или SQL Server как движок.
Без миграций. Полный LINQ. SQL-доступ, когда нужно.
Начните строить сегодня
Бесплатное ядро с открытым кодом. Pro-функции для корпоративных нужд.