CasparCG / media-scanner

A service used with CasparCG Server software for scanning media located on the server. Queried with query and thumbnail commands through CasparCG Server using AMCP.
https://casparcg.com
GNU Lesser General Public License v3.0
31 stars 33 forks source link

Replace pouchdb #72

Open Julusian opened 8 months ago

Julusian commented 8 months ago

Pouchdb has been a pain since this scanner was first written. The native dependency on leveldown makes packaging rather painful, and api usage isn't the most elegent. We aren't making use of the replication or conflict resolution logic, so pouchdb doesn't give us anything over another library.

Perhaps https://github.com/seald/nedb? It looks to have no native dependencies.
Or something else which I haven't discovered yet

amwtech commented 1 month ago

Whilst researching items for a project that requires a simple local database I found several open source native Javascript/Typescript implemented NoSQL databases. I'm not sure how the features of each maps to the requirements of scanner, so I'm just listing them for those with requisite knowledge to evaluate versus nedb.

https://github.com/maxnowack/signaldb - may be too biased to browser local storage. Documentation at https://signaldb.js.org/

https://github.com/pubkey/rxdb

https://github.com/Irrelon/ForerunnerDB - may be challenging to implement persistance required by scanner. Documentation at https://github.com/Irrelon/ForerunnerDB/tree/master/doc

https://github.com/drew-y/depot-db - mostly a wrapper for leveldb

https://github.com/typicode/lowdb

https://github.com/alexcorvi/tydb - documentation at https://alex-corvi.gitbook.io/tydb/database-configurations

https://github.com/elmarti/camadb

https://github.com/bolorundurovj/akivaDB

https://github.com/chronoDave/leaf-db