6 ms·
FlashDB: An ultra-lightweight embedded database
- mkarliner 4y agoVery nice. Esp32 soon?
- sanxiyn 4y agoIt's already there under demos/esp32_spi_flash.
- koshergweilo 4y agoI know very little about the embedded world. Does anyone familiar with that space know how this compares to SQLite?
- ddorian43 4y agoSQLite is too high level. Maybe compare it with LMDB.
- danielEM 4y agoI would like also to see comparison with lmdb, didn't dig into code, but from doc I didn't see it supporting multithreading
- rroot 4y agoI came to ask this. I went straight onto the website to look for SQLite comparison. It's after all the dominating embedded database. I do realize the use cases can be different, but then say and show that in the comparison. (I'm trying to be helpful by offering unsolicited advice :) - Brilliant work!
- formerly_proven 4y agoSQLite is roughly 200x more code.
- CyberDildonics 4y ago6MB vs 100KB, which is 60x.
- nurettin 4y agoI haven't checked, but they probably try to retain buffers as long as possible in order to reduce reads and writes.
- sohkamyung 4y agoMaybe not. This is listed as a key feature: > Very small footprint, ram usage is almost 0;
- goutham2688 4y agoSQLite is a relational database, while FlashDB seems to be concentrating on key-value and time-series https://armink.github.io/FlashDB/#/README?id=usage-scenario https://armink.github.io/FlashDB/#/README?id=usage-scenario
- JacobiX 4y agoIt wasn't clear from the title that this is a db designed for embedded devices (unlike for example SQLite that belongs to the family of in-app embedded databases). One of the interesting features in this db is wear leveling a technique used for prolonging the service life of flash storage media.
- anentropic 4y ago"Different from traditional database based on file system, FlashDB combines the features of Flash and has strong performance and reliability" What does this mean? Do they mean "Flash" as in 'flash memory' i.e. SSDs? The way it's written it seems like "Flash" is some other product, but it's not detailed anywhere.
- giancarlostoro 4y agoFlash storage is what routers have used for ages, while an SSD can contain Flash storage, it does not mean that Flash storage is an SSD. https://www.cdw.com/content/cdw/en/articles/datacenter/difference-between-flash-vs-ssd-storage.html https://www.cdw.com/content/cdw/en/articles/datacenter/diffe... I'm not fully hardware savvy so feel free to correct me.
- fulafel 4y agoThis article seems to be confused or maybe just grinding for SEO. Eg the section "Difference Between Flash and SSD Storage" doesn't cover the question, just has random flash facts and then makes some confused distinction based on form factor. SSD is a higher abstraction term covering storage technologies like DRAM, SDRAM, and XPoint in addition to flash, and implies there's a storage management layer that presents a block addressable interface (like SATA or NVMe or USB storage etc). This layer also known as a FTL. The non-flash part is not practically very relevant those are extremely niche or extinct. But the abstraction part is relevant, some flash storage presents as SSD and some doesn't. For the latter the device storage driver stack needs to have more intimate flash device knowledge, and using specific flash device filesystem. In the context of FlashDB, it supports raw flash without the SSD abstraction. This is to be expected as tiny embedded devices typically have raw flash and not SSDs. Eg here: https://armink.github.io/FlashDB/#/demo-esp8266-spi-flash https://armink.github.io/FlashDB/#/demo-esp8266-spi-flash
- giancarlostoro 4y ago> maybe just grinding for SEO Was the first link on Google, so very possible.