Coder Social home page Coder Social logo

ntdls / ntdls.katzebase.server Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 29.88 MB

ACID compliant JSON document-based database engine with SQL language, APIs and GUI.

Home Page: https://katzebase.com/

License: MIT License

Batchfile 0.05% C# 99.47% TSQL 0.22% Inno Setup 0.26%
database unstructured-data json nosql rdbms

ntdls.katzebase.server's Introduction

Katzebase : Server

Logo128

Katzebase is an ACID compliant document-based database written in C# using .NET 8 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 is wrapped by MVC controllers and allows access via APIs, a t-SQL like syntax, or by using the bundled management UI (which just calls the APIs).

image

Documentation and Links

Features:

  • Abortable transactions.
  • Caching and write deferment.
  • Locking, isolation and atomicity.
  • Document indexing.
  • Partitioning.
  • Logging and health monitoring.
  • SQL Query language with support for field list, joins, top(count), where clause, grouping, aggregations, etc.

Client Connectivity?

Grab the nuget package for your project over at nuget.org. Or, maybe you are just looking for the client source code?

Sample Data

To run the included examples, download the sample Katzebase database, which is a compressed archive containing a word list and various relationsips between the words and languages.

SQL Server Migration Tool

We even included a tool to import your schema and data from SQL Server into Katzebase.

image

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. If you want to join the project, just email me (its on my profile).

License

MIT

ntdls.katzebase.server's People

Contributors

ntdls avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

ingted

ntdls.katzebase.server's Issues

Implement built in scaler functions.

Implement built in scaler functions: GetDateTime(format), GetDateTimeUtc(format), Random(min, max), Guid(), LeftString(n), RightString(n), SubString(start, length), LengthString(string), PadString(character, length), Sha256String(string).

Thread pool enhancements.

Fire up the thread pool and add a hash set that contains the queue/completed count for each GUID based workload. This was we can keep the thread pool alive and even share it across queries. The pool can also be safely grown / shrank depending on load.

I/O safety enhancements.

Add options for flushing IO writes to disk. This can be enabled for LOG or DOCUMENTS exclusive of each other. Use this: . Enable file system write-through caching: The write-through caching policy ensures that every write operation is immediately committed to the disk. You can enable this policy using the FileOptions.WriteThrough flag when creating the FileStream object.

Also look at FileStream.Flush(true).

Constants in joins and constant to constant comparisons.

When collapsing a condition formula, check to see if either side is a constant or a field and treat it accordingly. This way the constant value can be on the left or the right. It also means we could then use constants in a join condition.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.