symisc / unqlite

An Embedded NoSQL, Transactional Database Engine
https://unqlite.symisc.net
Other
2.11k stars 164 forks source link

Question about disk usage #114

Closed wwadepohl closed 4 years ago

wwadepohl commented 4 years ago

I'm searching for an embedded key/value store. We are using eMMC manged flash storage. The eMMC should last the 10 years lifetime of the device. As I understood, unqlite write its buffers to disk only on unqlite_close() or unqlite_commit(). How big are the chunks being written? Is there a thumbnail formula to calculate the storage needed for some data records.? Whats the overhead unqlite needs for storage? Thanks

symisc commented 4 years ago

The default page (i.e. chunk) size is 4KB, just exactly any modern UNIX system. The page size can be adjusted at run-time or compile time to fit your needs (i.e. Low system resources) via unqlite_lib_config() with a configuration verb set to UNQLITE_LIB_CONFIG_PAGE_SIZE. This value must be a power of two.