Комментарии 3
А чем это лучше sqlite3.dll? Быстрее? Совместимо/взаимозаменяемо с ним?
Тут небольшая путаница — redb.dll это не замена sqlite3.dll и не «другой SQLite», а загружаемое расширение SQLite (.load / sqlite3_load_extension). Оно не заменяет движок, а грузится поверх обычного SQLite: при загрузке через sqlite3ext.h резолвит API хоста и добавляет в базу функции redb (get_object_json, pvt_*-компилятор запросов, soft-delete, view прав).
Поэтому по пунктам:
— Быстрее? Некорректное сравнение: redb.dll использует ваш sqlite3 как есть и в его скорости ничего не меняет. Ценность не в скорости SQLite, а в том, что он превращает SQLite в типизированное объектное хранилище (серверный материализатор + компилятор запросов внутри БД — ровно то, что у Free-тира на Postgres/MSSql живёт как PL/pgSQL).
— Совместимо/взаимозаменяемо? Совместимо с SQLite (грузится в любой sqlite3 ≥ 3.44 — Microsoft.Data.Sqlite, python sqlite3, sqlite3 CLI), но не взаимозаменяемо: сам sqlite3.dll по-прежнему нужен, redb.dll к нему добавляется, а не вместо.
Если совсем коротко: sqlite3.dll — это движок, redb.dll — плагин к нему.
смотри на redb.ru

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