{"repo":"mkrd/DictDataBase","free":true,"listed":false,"github":"https://github.com/mkrd/DictDataBase","clone":"git clone https://github.com/mkrd/DictDataBase.git","description":"A python NoSQL dictionary database, with concurrent access and ACID compliance","language":"Python","stars":253,"topics":["compression","database","json","python","documentdb","nosql","dict","acid","multiprocessing","multithreading"],"license":"MIT","category":"databases-storage","readme_excerpt":"DictDataBase is a fast document-based database that uses json files or compressed json files for storage. - Multi threading and multi processing safe . Multiple processes on the same machine can simultaneously read and write to dicts without losing data. - ACID compliant. Unlike TinyDB, it is suited for concurrent environments. - No Conflict resolution required. Unlike with ZODB, lock-based access control is used, such that conflicts never occur. - No database server required. Simply import DictDataBase in your project and use it. - Compression . Configure if the files should be stored as raw json or as json compressed with zlib. - Fast . Key-value pairs inside a json file can be accessed quickly and efficiently because the keys are indexed. - Tested with 98%+ coverage on Python 3.8 to 3.13. Why use DictDataBase - Your application concurrently reads and writes data from multiple processes or threads. - Using database server is a bit too much for your application. - But you need ACID guarantees. - Your use case requires reading key-value pairs from very large json files repeatedly. (For example, DictDataBase can handle about 2000 reads per second when reading single key-value pairs from a 2.5GB json file with 20000 key-value pairs.) - You need to repeatedly read and write many smaller json files. - Your use case is suited for working with json data, or you have to work with a lot of json data. Why not DictDataBase - If your storage is slow. - Your use cases requires repeatedly","default_branch":null,"files":null,"tree":[],"storefront":"/r/mkrd","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mkrd/DictDataBase/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}