{"repo":"jamesbontempo/njodb","free":true,"listed":false,"github":"https://github.com/jamesbontempo/njodb","clone":"git clone https://github.com/jamesbontempo/njodb.git","description":"A persistent, partitioned, concurrency-controlled, Node.js JSON object database","language":"JavaScript","stars":14,"topics":["node","json","database","object"],"license":"MIT","category":"databases-storage","readme_excerpt":"njodb njodb is a persistent, partitioned, concurrency-controlled, Node JSON object database. Data is written to the file system and distributed across multiple files that are protected by read and write locks. By default, all methods are asynchronous and use read/write streams to improve performance and reduce memory requirements (this should be particularly useful for large databases). What makes njodb different than other Node JSON object databases? Persistence - Data is saved to the file system so that it remains after the application that created it is no longer running, unlike the many existing in-memory solutions. This persistence also allows data to be made available to other applications. Asynchronous and streaming - By default, all methods are asynchronous and non-blocking, and also use read and write streams, to make data access and manipulation efficient. Synchronous methods are also provided for those cases where they are desired or appropriate. JSON records, not JSON files - Records are stored as individual lines of JSON objects in a file, so a read stream can be used to retrieve data rapidly, parse it in small chunks, and dispense with it when done. This removes the time and memory overhead required by solutions that store data as a single, monolithic JSON object. They must read all of that data into memory, and then parse all of it, before allowing you to use any of it. Completely schemaless - While the JSON data itself is schemaless, it is also the case that d","default_branch":null,"files":null,"tree":[],"storefront":"/r/jamesbontempo","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jamesbontempo/njodb/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."}