Documentation Source Text

Check-in [2ab12e598f]
Login

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

Overview
Comment:Document (with links) that SQLite is a LoC Recommended Storage Format.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:2ab12e598fda41e0de8f5b938024746c2b3f4db4ed69cd31a64ee671e7ed882b
User & Date: drh 2018-05-29 18:35:58
Context
2018-05-31
13:11
Update the speed and size graph. check-in: 696489a7db user: drh tags: trunk
2018-05-29
18:35
Document (with links) that SQLite is a LoC Recommended Storage Format. check-in: 2ab12e598f user: drh tags: trunk
15:55
Change log updates due to review of sqlite3.c diffs from prior release. check-in: 4a562f8d21 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Added images/foreignlogos/loc.gif.

cannot compute difference between binary files

Added images/foreignlogos/loc.jpg.

cannot compute difference between binary files

Added images/loc.jpg.

cannot compute difference between binary files

Changes to pages/about.in.

42
43
44
45
46
47
48
49

50
51
52
53
54
55
56
files.  A complete SQL database with multiple tables, indices,
triggers, and views, is contained in a single disk file.
The database [file format] is cross-platform - you can freely copy a database
between 32-bit and 64-bit systems or between 
[http://en.wikipedia.org/wiki/Endianness | big-endian] and
[http://en.wikipedia.org/wiki/Endianness | little-endian]
architectures.  These features make SQLite a popular choice as
an [Application File Format].

Think of SQLite not as a replacement for 
[http://www.oracle.com/database/index.html|Oracle] but
as a replacement for [http://man.he.net/man3/fopen|fopen()]</p>

<p>SQLite is a compact library.
With all features enabled, the [library size] can be less than 500KiB,
depending on the target platform and compiler optimization settings.







|
>







42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
files.  A complete SQL database with multiple tables, indices,
triggers, and views, is contained in a single disk file.
The database [file format] is cross-platform - you can freely copy a database
between 32-bit and 64-bit systems or between 
[http://en.wikipedia.org/wiki/Endianness | big-endian] and
[http://en.wikipedia.org/wiki/Endianness | little-endian]
architectures.  These features make SQLite a popular choice as
an [Application File Format].  SQLite database files are a
[recommended storage format] by the US Library of Congress.
Think of SQLite not as a replacement for 
[http://www.oracle.com/database/index.html|Oracle] but
as a replacement for [http://man.he.net/man3/fopen|fopen()]</p>

<p>SQLite is a compact library.
With all features enabled, the [library size] can be less than 500KiB,
depending on the target platform and compiler optimization settings.

Changes to pages/aff_short.in.

77
78
79
80
81
82
83


84
85
86
87
88
89
90
91
92
93
94
<li><b>Accessibility</b>
<ul>
<li> SQLite database content can be viewed using a wide variety
     third-party tools.
<li> Content stored in an SQLite database is more likely to be 
     recoverable decades in the future, long after all traces of
     the original application have been lost. Data lives longer than code.


</ul>
</ol>

<p>
SQLite allows database files to have any desired filename extension, so
an application can choose a custom filename extension for its own use, if
desired.  The [application_id pragma] can be used to set an "Application ID"
integer in the database file so that tools like
[http://www.darwinsys.com/file/ | file(1)] can determine that the file
is associated with your application and is not just a generic
SQL database.</p>







>
>











77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<li><b>Accessibility</b>
<ul>
<li> SQLite database content can be viewed using a wide variety
     third-party tools.
<li> Content stored in an SQLite database is more likely to be 
     recoverable decades in the future, long after all traces of
     the original application have been lost. Data lives longer than code.
<li> SQLite database files are [recommended by the US Library of Congress]
     as a storage format for long-term preservation of digital content.
</ul>
</ol>

<p>
SQLite allows database files to have any desired filename extension, so
an application can choose a custom filename extension for its own use, if
desired.  The [application_id pragma] can be used to set an "Application ID"
integer in the database file so that tools like
[http://www.darwinsys.com/file/ | file(1)] can determine that the file
is associated with your application and is not just a generic
SQL database.</p>

Changes to pages/appfileformat.in.

250
251
252
253
254
255
256



257
258
259
260
261
262
263
file format that is in widespread use by literally millions of applications
and is backwards compatible to its inception in 2004 and which promises
to continue to be compatible in decades to come.  The longevity of
SQLite database files is particularly important to bespoke applications,
since it allows the document content to be accessed far in the
future, long after all traces of the original application have been lost.
Data lives longer than code.




<li><p><b>Cross-Platform.</b>
SQLite database files are portable between 32-bit and 64-bit machines and
between big-endian and little-endian architectures and between any of the
various flavors of Windows and Unix-like operating systems.
The application using an SQLite application file format can store
binary numeric data without having to worry about the byte-order of







>
>
>







250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
file format that is in widespread use by literally millions of applications
and is backwards compatible to its inception in 2004 and which promises
to continue to be compatible in decades to come.  The longevity of
SQLite database files is particularly important to bespoke applications,
since it allows the document content to be accessed far in the
future, long after all traces of the original application have been lost.
Data lives longer than code.
SQLite databases are [recommended by the US Library of Congress]
as a storage format for long-term preservation of digital content.


<li><p><b>Cross-Platform.</b>
SQLite database files are portable between 32-bit and 64-bit machines and
between big-endian and little-endian architectures and between any of the
various flavors of Windows and Unix-like operating systems.
The application using an SQLite application file format can store
binary numeric data without having to worry about the byte-order of

Changes to pages/famous.in.

142
143
144
145
146
147
148




149
150
151
152
153
154
155
  of SQLite in the Skype client for Mac OS X and Windows.
}
famous_user tcl http://www.tcl-lang.org/ tcl.gif {
  The Tcl/Tk programming language now comes with SQLite built-in.  SQLite works
  particularly well with Tcl since SQLite was originally a Tcl extension that
  subsequently "escaped" into the wild.
}





hd_putsnl "<div class='mobileonly'>"
foreach entry [lsort -index 0 $lx] {
  foreach {key url logo verbage} $entry break
  hd_putsnl "<hr class='xhr'>"
  hd_putsnl "<center><a href='$url' border=0>"
  hd_putsnl "<img src='images/foreignlogos/$logo' width=215></a></center>"







>
>
>
>







142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
  of SQLite in the Skype client for Mac OS X and Windows.
}
famous_user tcl http://www.tcl-lang.org/ tcl.gif {
  The Tcl/Tk programming language now comes with SQLite built-in.  SQLite works
  particularly well with Tcl since SQLite was originally a Tcl extension that
  subsequently "escaped" into the wild.
}
famous_user loc http://www.loc.gov/ loc.jpg {
  The United States Library of Congress recognizes SQLite as a
  [recommended storage format] for preservation of digital content.
}

hd_putsnl "<div class='mobileonly'>"
foreach entry [lsort -index 0 $lx] {
  foreach {key url logo verbage} $entry break
  hd_putsnl "<hr class='xhr'>"
  hd_putsnl "<center><a href='$url' border=0>"
  hd_putsnl "<img src='images/foreignlogos/$logo' width=215></a></center>"

Added pages/locrsf.in.



















































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<title>LoC Recommended Storage Format</title>
<tcl>hd_keywords {recommended storage format} \
   {recommended by the US Library of Congress}</tcl>

<fancy_format>

<h1>Overview</h1>

<table align="right" border="0">
<tr><td>
<a href="https://www.loc.gov">
<img src="images/loc.jpg" width="200" height="182"></a>
</table>

<p>
SQLite is a
[https://www.loc.gov/preservation/resources/rfs/|Recommended Storage Format]
for datasets according to the
[https://www.loc.gov/|US Library of Congress].
Further information:

<p>
<ul>
<li>
[https://www.loc.gov/preservation/digital/formats/fdd/fdd000461.shtml#local]
<li>
[https://www.loc.gov/preservation/resources/rfs/data.html]
</ul>

<p>
As of this writing (2018-05-29) the only other recommended storage formats
for datasets are JSON and CSV.

<h2>What Is A Recommended Storage Format?</h2>

<p>
Recommanded storage formats are formats which, in the opinion of the
preservationists at the Library of Congress, maximizes the chance of
survival and continued accessibility of digital content.
When selecting recommended storage formats, the following criteria are
considered (quoting from the LOC website):

<ol>
<li><p><b>Disclosure.</b>
Degree to which complete specifications and tools for validating 
technical integrity exist and are accessible to those creating and
sustaining digital content.
A spectrum of disclosure levels can be observed for digital formats.
What is most significant is not approval by a recognized standards body,
but the existence of complete documentation.
<li><P><b>Adoption.</b>
Degree to which the format is already used by the primary creators,
disseminators, or users of information resources. 
This includes use as a master format, for delivery to end users, 
and as a means of interchange between systems.
<li><p><b>Transparency.</b>
Degree to which the digital representation is open to direct analysis 
with basic tools, such as human readability using a text-only editor.
<li><p><b>Self-documentation.</b>
Self-documenting digital objects contain basic descriptive, 
technical, and other administrative metadata.
<li><p><b>External Dependencies.</b>
Degree to which a particular format depends on particular hardware,
operating system, or software for rendering or use and the predicted
complexity of dealing with those dependencies in future technical 
environments.
<li><p><b>Impact of Patents.</b>
Degree to which the ability of archival institutions to sustain content 
in a format will be inhibited by patents.
<li><p><b>Technical Protection Mechanisms.</b>
Implementation of mechanisms such as encryption that prevent the 
preservation of content by a trusted repository. 
</ol>