Documentation Source Text

Check-in [f3db82e049]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Comment:Fixes to the application file format document.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: f3db82e049de93469ca5bda4ee47fdb039ad20d9
User & Date: drh 2014-04-01 13:44:24
Strengthen the disclaimers on the "speed.html" page and on the "PRAGMA stats" documentation. check-in: 0bbad9c76b user: drh tags: trunk
Fixes to the application file format document. check-in: f3db82e049 user: drh tags: trunk
Version check-in: 2f86548772 user: drh tags: trunk, release, version-
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to pages/

   113    113   documents (ODT and ODP) are also ZIP archives containing XML and
   114    114   images that represent their content as well as "catalog" files that
   115    115   show the interrelationships between the component parts.
   116    116   
   117    117   <p>A wrapped pile-of-files format is a compromise between a full
   118    118   custom file format and a pure pile-of-files format.
   119    119   A wrapped pile-of-files format is not an opaque blob in the same sense
   120         -as a custom file format, since the component parts can still be accessed
          120  +as a custom format, since the component parts can still be accessed
   121    121   using any common ZIP archiver, but the format is not quite as accessible
   122    122   as a pure pile-of-files format because one does still need the ZIP 
   123    123   archiver, and one cannot normally use command-line tools like "find"
   124    124   on the file hierarchy without first un-zipping it.  On the other
   125    125   hand, a wrapped pile-of-files format does preserve the document
   126    126   metaphor by putting all content into a single disk file.  And
   127    127   because it is compressed, the wrapped pile-of-files format tends to
   128    128   be more compact.
   129    129   
   130    130   <p>As with custom file formats, and unlike pure pile-of-file formats,
   131    131   a wrapped pile-of-files format is not as easy to edit, since
   132         -one most normally rewrite the entire file to change any
          132  +usually the entire file must be rewritten in order to change any
   133    133   component part.
   134    134   </ol>
   135    135   
   136    136   <p>The purpose of this document is to argue in favor of a fourth
   137    137   new catagory of application file format: An SQLite database file.
   138    138   
   139    139   <h2>SQLite As The Application File Format</h2>
   151    151   of being able to update individual "files" without rewrite
   152    152   the entire document.
   153    153   
   154    154   <p>
   155    155   But an SQLite database is not limited to a simple key/value structure
   156    156   like a pile-of-files database.  An SQLite database can have dozens
   157    157   or hundreds or thousands of different of tables, with dozens or
   158         -hundreds or thousands of fields per table, each with different datatypes and
          158  +hundreds or thousands of fields per table, each with different datatypes
   159    159   and constraints and particular meanings, all cross-referencing each other,
   160    160   appropriately and automatically indexed for rapid retrieval,
   161    161   and all stored efficiently and compactly in a single disk file.
   162    162   And all of this structure is succinctly documented for humans
   163    163   by the SQL schema.
   164    164   
   165    165   <p>In other words, an SQLite database can do everything that a 
   219    219   information they need from a document.  Developers write SQL that
   220    220   expresses "what" information they want and let the database engine
   221    221   to figure out how to best retrieve that content.  This helps developers
   222    222   operate "heads up" and remain focused on solving the user's problem,
   223    223   and avoid time spent "heads down" fiddling with low-level file
   224    224   formatting details.
   225    225   
   226         -<p>A pile-of-files format can viewed as a key/value database.  
          226  +<p>A pile-of-files format can be viewed as a key/value database.  
   227    227   A key/value database is better than no database at all.
   228    228   But without transactions or indices or a high-level query language or
   229    229   a proper schema,
   230    230   it much harder and more error prone to use a key/value database than
   231    231   a relational database.
   232    232   
   233    233   <li><p><b>Accessible Content.</b>