Re:SQLite as an Application File Format (2014)
by nodamage on Monday December 24, 2018 @11:27PM
(#18755893)
Is this really a good idea though? I thought it was generally preferred practice to store large binary files outside of the database. Otherwise the database file will end up growing pretty quickly.
Re:SQLite as an Application File Format (2014)
by manigandham on Tuesday December 25, 2018 @12:57AM
(#18756175)
That's your call. If you're going to be storing 100gb of images then put them somewhere else, but this post is about using SQLite as a file format so storing binary files inside is not a problem.
Re:SQLite as an Application File Format (2014)
by out_of_protocol on Tuesday December 25, 2018 @03:08AM
(#18756514)
Counterpoint: tiled maps, which are basically loads and loads of images, can be stored on disk as
- Direcory structure
- Zip file
- Tar file
- Sqlite db
Out of these, sqlite is the most compact, by far (also the fastest)
Re:SQLite as an Application File Format (2014)
by fatboy on Tuesday December 25, 2018 @10:04AM
(#18757647)
We just transitioned our tiled images from using a directory structure to SQLite.
Having a single file per very large image (for mobile) makes transferring them to the phone over USB around ten times as fast. I wish I’d done it years ago.
Re:SQLite as an Application File Format (2014)
by marcosdumay on Tuesday December 25, 2018 @01:03PM
(#18758394)
Creating huge files is usually a bad idea. It does not matter if they are a sequence of lines of characters, a gziped collecion of XML data, a binary format that requires 6000 pages of documentation, or a SQLite database.
If you can spread your data among many files, you probably should. Not everybody can.
> Any application state that can be recorded in a pile-of-files can also be recorded in an SQLite database with a simple key/value schema like this:
> If the content is compressed, then such an SQLite Archive database is the same size (±1%) as an equivalent ZIP archive, and it has the advantage of being able to update individual "files" without rewriting the entire document.Also look at the related post which suggests doing precisely that - storing images inside SQLite blobs: https://www.sqlite.org/affcase1.html