Releases: tomlm/LottaDB
V4 - Schema-less support
What's Changed
- Stores any POCO/POJO with no schema definition required
- JsonSchema instead of JsonDocumentType
- Got rid of SchemaName method signatures
- Significantly cleaned up code/unit tests etc
- Added JsonQueryable
- Perf optimizations
Full Changelog: v3.0.0...v4.0
V3.0.0 Add support for JsonDocuments with JsonSchema.
What's Changed
- Support for JsonSchema/JsonDocument untyped objects suitable for WebAPI wrapper around LottaDB
- Added Blob operations and full text indexing
Full Changelog: v1.1.0...v3.0.0
V1.1 - Vector search and bulk operations
What's Changed
- Bulk operations, SaveManyAsync(), DeleteManyAsync(), etc.
- Smart index flushing, so lots of writes will end up commiting automatically once activity settles down or a search is performed.
- Vector search - You can now search .Search(a => a.Similar("some cool dude")) and get results based on vector Knn search.
V1.0.0 Lotta DB
LottaDB
LottaDB is a .NET library that makes it easy to story any POCO in Azure Table Storage with full Lucene search, all with the goodness of LINQ.
- One line to save
- One line to search
Overview
LottaDB gives you a document database built on Azure Table Storage with automatic full-text search via Lucene Search Engine. Each LottaDB instance is a single table wih backing lucene catalog. Objects are stored with full POCO fidelity, while selected properties are promoted into Table Storage/Lucene for efficient querying using full typed Linq expressions.
Reactive handlers (On<T>) let you build materialized views, cascading updates, and side effects that run inline after each write.
Why LottaDB?
- A lotta bang for a little buck. Table Storage is the cheapest durable storage in Azure. LottaDB adds Lucene so you get rich queries without the rich pricing.
- A lotta LINQ.
Query<T>()andSearch<T>(), .Where(), .OrderBy() etc. - A lotta fidelity. Full JSON roundtrip. Lists, dictionaries, nested objects -- everything survives.
- A lotta views.
On<T>triggers build materialized views with plain C#. No event buses, no eventual consistency -- just inline code. - A lotta tenants. One instance per tenant. Natural isolation, simple backup, no noisy neighbors.
- A lotta nothing to operate. Table Storage is serverless. Lucene runs in-process. No clusters, no connection pools, no ops team required.
Sweet spot
LottaDB is ideal for per-user or per-tenant workloads -- think user profiles, settings, activity feeds, personal knowledge bases, mailboxes, or per-project data. Thousands of objects per tenant, thousands of tenants per deployment. Each tenant gets its own isolated database for pennies/month. It's not designed for billion-row analytics or high-throughput write-heavy pipelines.