NacDB is a distributed database for DFINITY Internet Computer that supports seamless enumeration.
It is done by splitting the DB into sub-DBs, such that every sub-DB fits inside one canister, for seamless enumeration.
Its "plugin" NacDBReorder allows also to reorder ordered items efficiently.
NacDB is done in such a way to reduce cycles (gas) spents on creating new canisters, that is to be gas-effective.
NacDB is a must for any project that needs enumeration of items (that is putting items into some order) that are possibly so many that it won't fit inside one canister: Consider a social network with streams of posts that need to be enumerated. Or consider a grants system like Gitcoin (but on Internet Computer) where grants are presented in some order. Or site listing NFTs.
Because NacDB is developed for one task, enumeration of DB items, it is normally recommended to use it together with another database, such as CanDB.
NacDB is used in my commercial project Zon Social Network and is planned to be used in my other non-commercial project, Salaries Science. (The social network and the grants platform mentioned in the example above.)
During development of NacDB there were also created ICP make rules to reduce compilation times for ICP projects.
NacDB is in active development as of today. Both monetary help and software development help is welcome. Contact me on details of needed software development help.
NacDB Distributed Database History
-
accepted into Developer Tooling and Libraries 5 months ago.