5 ms·
If you only care about storing data and not doing any complex operations or query against it why are you using something like sqlite as well? It’s not a compar
by bogota 5y ago
If you only care about storing data and not doing any complex operations or query against it why are you using something like sqlite as well?
It’s not a comparison as being in sqlite makes the ability to access this data significantly easier. This is comparing apples and dogs and i don’t see the merits.
- kevingadd 5y agoIt's not uncommon to see people advocate for using sqlite as an alternative to flat files or json blobs. In particular, transactions provide nice properties vs a web of separate flat files, and the stronger schema can be a good alternative to json. There's a lot of great existing sqlite tooling, too.
- samwillis 5y agoNot only other people, the creators also advocate for it as a file format: https://www.sqlite.org/aff_short.html https://www.sqlite.org/aff_short.html https://www.sqlite.org/appfileformat.html https://www.sqlite.org/appfileformat.html
- tyingq 5y agoSqlite archive files are somewhat interesting too: https://www.sqlite.org/sqlar.html https://www.sqlite.org/sqlar.html
- le-mark 5y agoThe history around mongrel2 using SQLite as a config file format may be instructive. Seems like there was a lot of resistance in that case.
- electroly 5y agoIn one application I use sqlite to store JPEG thumbnails. That's it; there's nothing else in there. It's super handy; I specifically needed to reduce the number of files that I open and close because that's slow on Windows/NTFS. SQLite made this trivial. I could have managed a binary pack format on my own but I didn't have to.
- jbluepolarbear 5y agoYou could have easily done that with a single file with a tail header for look ups.
- baq 5y agoEasier than SQLite? With less bugs and better tests? SQLite advertises itself as an fopen replacement. Sounds like a perfect match for parent’s use case.
- KerrAvon 5y agoDepends on the indexing needs, right? Something like IFF should be fine if you need a sequence of images to store that you don’t need to actually query for individually.
- baq 5y agoAlways, but I find it really hard to see how not using SQLite in this use case is the better option. Maybe if you need every single percentile of performance? In 99% of other cases just go with SQLite.
- jbluepolarbear 5y agoYes easier, as in time to integrate and get working correctly. I’ve used SQLite extensively over the last 10 years and yes it’s a good solution, but not a replacement for fopen. A flat file would be easier to integrate, test, and harden over SQLite. Would take about the same time as integrating SQLite into a system for the same purpose and would be easily extendable to support features as the system grows.
- ehvatum 5y ago> Would take about the same time as integrating SQLite into a system for the same purpose and would be easily extendable to support features as the system grows. I find it much easier to add features to my post-2007 projects (when I started using SQLite) for the specific reason that I can open the SQLite file in a GUI and pretty quickly see what’s going on with data organization (schema) and how the customer uses the software I wrote (ie by what columns they actually use/misuse). Prior to that, there’s various versions of my b-tree library and lots of zips, or linear text indexes, or any combination of whatever fit the need. Data storage implementation needs to be reasoned about in detail for each pre-2007 revisit in ways that don’t happen with SQLite projects.
- baq 5y agoSQLite makes seeking in a file using a lookup table look like a complex operation from the developer’s perspective, which is absolutely a good thing unless you have a strong alternative rationale for your use case.