I'm thinking that regarding Doxstorr, granular control of ACID behaviour would make sense in the context of transaction execution and not so much on a per-query basis.

If anybody knows any document databases that let you have extremely granular control of ACID-ity, please let me know!

#rserv #doxstorr #python #foss #documentdb #database

This approach also allows for future refinement, such as adding more granular levels or even allowing per-transaction ACID levels for extremely fine-tuned control in advanced use cases.

Take that, Mongo! 🀣

#doxstorr #rserv #python #foss

What's next in store for Doxstorr:
Making performance trade-offs a configurable setting with four levels of ACID compliance (or three! if relaxed compliance/non-compliance is not considered a level of ACID compliance :-)

RELAXED (Level 0):
Minimal ACID guarantees
No forced disk writes
No transaction logging
READ_UNCOMMITTED isolation
No upfront lock acquisition
No rollback on failure

BASIC (Level 1):
Basic ACID compliance
Transaction logging (but no forced flush)
READ_COMMITTED isolation
No upfront lock acquisition
Basic rollback on failure

STANDARD (Level 2):
Standard ACID compliance
Transaction logging with soft flush
REPEATABLE_READ isolation
Upfront lock acquisition
Full rollback on failure

STRICT (Level 3):
Full ACID compliance
Transaction logging with forced disk writes
SERIALIZABLE isolation
Upfront lock acquisition
Full rollback on failure

#rserv #doxstorr #python #graphdb #foss

This is also a very preliminary alpha, super early peek into what I hope will eventually become a pluggable document store for rserv. Fittingly called doxstorr.

With ACID!

https://github.com/ha1tch/doxstorr

#rserv #doxstorr #python #foss

GitHub - ha1tch/doxstorr

Contribute to ha1tch/doxstorr development by creating an account on GitHub.

GitHub