База данных DBreeze
База данных DBreeze — это профессиональная мультипарадигмальная база данных с открытым исходным кодом (встроенное хранилище ключей-значений, объекты, NoSql, текстовый поиск, многопараметрический поиск, встраивание векторной базы данных, поиск/кластеризация векторов и т. д.), многопоточная, транзакционная. и ACID-совместимая система управления данными для .NET5>/.NET Framework 3.5>/Xamarin MONO Android iOS/.NET Core 1.0>/.NET Standard 1.6> / Универсальная платформа Windows / .NET Portable / UNITY / CoreRT
...для серверов, настольных компьютеров, мобильных устройств и Интернета вещей... Сделано на C#
- Это бесплатное программное обеспечение для тех, кто считает, что оно должно быть бесплатным.
- Он используется в нашей собственной производственной среде с июня 2012 года.
- Следите за проектом, чтобы быть в курсе последних оптимизаций и улучшений.
- DBreeze через NuGet с января 2014 года.
- DBreeze для .NETCore, CoreRT, .NET Standard/UWP (универсальная платформа Windows), захват .NET Framework через NuGet.
- Работает в Linux, Windows, OS X. Через Xamarin на Android, iOS.
- DBreeze указан на сайте nosql-database.org, Awesome .NET Core, Awesome-dotnet.
- Прочтите документ «Примечания к выпуску», чтобы получать последние новости DBreeze.
Его домашняя страница — http://dbreeze.tiesky.com или https://github.com/hhblaze/DBreeze.
- Краткое руководство по началу работы
- Расположение сборок
- Документация (PDF, актуальная)
- Документация (HTML, актуальная)
- Контрольный показатель (HTML, фактический)
- Примечания к выпуску
- Советы по настройке DBreeze
- Обсуждение на форуме
Ключевые особенности:
- Встроенная сборка семейства .NET, независимая от платформы и без ссылок на другие библиотеки.
- Многопоточный, совместимый с ACID, с решением для разрешения/устранения взаимоблокировок, параллельного чтения и синхронизированной записи/чтения.
- Нет фиксированной схемы имен таблиц (построение и доступ на лету).
- Таблицы могут располагаться в разных местах: в разных папках, на жестких дисках, в памяти, в памяти с сохранением на диске.
- Технология индексации Liana-Trie. Индексы базы данных (ключи) никогда не нуждаются в дефрагментации. Скорость операций вставки/обновления/удаления не меняется со временем.
- Возможность доступа к паре Ключ/Значение таблицы по физической ссылке, что позволяет сэкономить время на объединение необходимых структур данных.
- Никаких ограничений на размер базы данных (кроме «длинного» размера для каждой таблицы и ограничений физических ресурсов).
- Низкое потребление памяти и физического пространства, в том числе при случайных вставках и обновлениях. Обновления размещаются в том же физическом пространстве, если это возможно или настроено.
- Высокая производительность CRUD-операций. Когда вам нужно, раскройте возможности DBreeze и получите 500 000 пар ключ/значение, вставьте или 260 000 обновлений в секунду на ядро в отсортированную таблицу на жестком диске стандартного ПК (тест в 2012 году).
- Высокая скорость пакетной вставки и обновления случайных ключей (режим обновления выбирается).
- Выбор диапазона/перемещение (вперед, назад, от/до, пропуск, начинается с и т. д.). Снять ключи, поменять ключи.
- Ключи и значения на нижнем уровне всегда представляют собой массивы байтов.
- Макс. размер ключа — 65 КБ, макс. размер значения составляет 2 ГБ. Значение может быть представлено как набор столбцов, в которых могут храниться типы данных фиксированной или динамической длины. Каждый динамический блок данных (BLOB) может иметь размер 2 ГБ.
- Богатый набор функций преобразования из/в между byte[] и другими типами данных.
- Вложенные/фрактальные таблицы, которые могут находиться внутри значений главных таблиц.
- Возможность инкрементного резервного копирования/восстановления.
- Интегрированная подсистема текстового поиска (полнотекстовый/частичный).
- Слой интегрированной базы данных объектов.
- Быстрая подсистема многопараметрического поиска с мощными возможностями запросов.
- Интегрированный уровень базы данных векторов/система поиска сходства/кластеризация на основе графа, распространяемого центроидами KMeans++.
- Встроенный сериализатор двоичных файлов и JSON Biser.NET
- Высокая доступность, резервирование и отказоустойчивость через Raft.NET
- DBreeze — это основа для комплексных решений по хранению данных (слои данных граф/нейро, объект, документ, текстовый поиск и т. д.). Пожалуйста, изучите документацию, чтобы понять все возможности DBreeze.
Особая благодарность:
«Бесплатная подпись кода предоставлена SignPath.io, сертификат SignPath Foundation» Подписанные библиотеки DLL расположены отдельно.
[email protected]