Katzebase documentation and support
Katzebase is an ACID compliant document-based database written in C# using .NET 9 that runs on Windows or Linux. By default it runs as a service but the libraries can also be embedded. It supports what you'd expect from a typical relational-database-management-system except the "rows" are stored as sets of key-value pairs (called documents) and the schema is not fixed. The engine allows access via APIs, a SQL syntax, or by using the management UI (which just calls the APIs).
Topics
- Syntax
 - Keywords
 - Aggregate Functions
 - Scalar Functions
 - System Procedures
 - Session Variables
 - DDL Glossary
 - DML Glossary
 - Security Policy
 
Default Login
- Username: admin
 - Password: "blank" (as in, there is no password)
 
Get Katzebase
To get the latest version of the Katzebase database server, management UI and Migration Tools check out the releases over at GitHub:
Looking for Client Connectivity?
Grab the nuget package for your project over at nuget.org.
Or, maybe you are just looking for the client source code?
Need some sample data to work with?
You can grab the sample database. This is a compressed archive containing a word list and various relationships between the words and languages. If you are feeling more ambitious, you can grab the larger StackOverflow database.
High-level Features:
- Abortable transactions.
 - Caching and write deferment.
 - Locking, isolation and atomicity.
 - Indexing with partitioning.
 - Multi and nested schemas with partitioning.
 - Static analyzer and schema aware UI.
 - Logging and health monitoring.
 - Simple to use API client and DAPPER like querying.
 - tSQL Query language with support for field list, joins, top(count), where clause, grouping, aggregations, etc.
 
Management Interface
Technologies
Katzebase is built on a multitude of in-house open source technologies, some of which are highlighted below.
NTDLS.ReliableMessaging provides lightweight, simple, and high-performance TCP/IP based inter-process-communication / RPC functionality.
NTDLS.DelegateThreadPooling is a high performance active thread pool where work items can be queued as delegate functions. Allows you to easily enqueue infinite FIFO worker items or enforce queue size, wait on collections of those items to complete, and total control over the pool size. Also allows for multiple pools, so that different workloads do not interfere with one another.
NTDLS.Semaphore provides various classes to protect a variable from parallel / non-sequential thread access by always acquiring an exclusive lock on the resource. Also allows for shared access, pessimistic locking, optimistic locking and dead-lock prevention lock patterns with lightweight cancellation.
NTDLS.ExpressionParser is a mathematics parsing engine for .net. It supports expression nesting, custom variables, custom functions all standard mathematical operations for integer, decimal (floating point), logic and bitwise.
Benchmarked at ~0.22 µs per expression (~4.5M eval/s per core). That’s ~22M arithmetic ops/sec with our test expression. Roughly on par with compiled expression trees / LLVM-JIT math engines — this parser isn’t "fast for C#"; it’s fast, period.
NTDLS.FastMemoryCache provides fast and easy to use thread-safe partitioned memory cache for C# that helps manage the maximum size and track performance.
NTDLS.SecureKeyExchange allows the server to generate single or multi-round Diffie-Hellman keys in C#.
NTDLS.Persistence are helpers for reading and writing serialized objects to/from files. Helpful for configuration files.
Last but not least.
Meet Vermin.