1OVSQLITE(5) InterNetNews Documentation OVSQLITE(5)
2
3
4
6 ovsqlite - SQLite-based overview storage method for INN
7
9 This method uses SQLite to store overview data. It requires version
10 3.8.2 or later of the SQLite library (3.20.0+ recommended).
11
12 SQLite source, documentation, etc. are available at
13 <https://www.sqlite.org/>. Ones of the stated goals of the SQLite file
14 format are long-term stability and compatibility, which make that
15 storage method a perfect choice to store overview data.
16
17 Only one protocol version of the ovsqlite storage method currently
18 exists, implemented since INN 2.7.0.
19
21 The configure script will automatically enable ovsqlite support if it
22 finds the SQLite library. If the library isn't installed in a standard
23 location, you may have to specify the --with-sqlite3 option to help
24 configure find it. For complicated cases, you can use separate
25 --with-sqlite3-include and --with-sqlite3-lib options. Finally, if you
26 don't want ovsqlite support even when your system has the SQLite
27 library, you can use the --without-sqlite3 option.
28
29 If you have a recent Linux installation, SQLite is most likely already
30 installed. You may have to install a separate package with a name
31 similar to "libsqlite3-dev" to get the required header files.
32
33 Plan on needing at least 0.93 KB for every article in your spool (not
34 counting crossposts). So, if you have 5 million articles, you'll need
35 at least 4.65 GB of disk space for ovsqlite. With compression enabled,
36 this estimate changes to 0.4 KB per article, so you'll need at least
37 2 GB of disk space for 5 million articles. Plus, you'll need
38 additional space for transaction logs (a few MB).
39
41 To select ovsqlite as your overview method, set the ovmethod parameter
42 in inn.conf to "ovsqlite". The database file will be created in the
43 directory specified by the pathoverview parameter in inn.conf. Restart
44 INN to take the change into account (after having rebuilt your existing
45 overview with makehistory, if needed).
46
47 These additional parameters are read from the ovsqlite.conf
48 configuration file:
49
50 cachesize
51 The SQLite in-memory page cache size in kilobytes. The default
52 value is left up to the SQLite library and seems to be stable at
53 2000 KB.
54
55 compress
56 If INN was built with zlib support and this parameter is true,
57 ovsqlite will compress overview records whenever this saves space.
58 This parameter is consulted only when creating a new database.
59 Enabling compression saves about 55 % of disk space on standard
60 overview data. The default value is false.
61
62 pagesize
63 The SQLite database page size in bytes. Must be a power of 2,
64 minimum 512, maximum 65536. Appropriate values include the virtual
65 memory page size and the filesystem allocation block size. This
66 parameter is consulted only when creating a new database. The
67 default value is left up to the SQLite library and varies between
68 versions.
69
70 transrowlimit
71 The maximum number of article rows that can be inserted or deleted
72 in a single SQL transaction. The default value is 10000 articles.
73
74 transtimelimit
75 The maximum SQL transaction lifetime in seconds. The default value
76 is 10 seconds.
77
78 A transaction occurs every transrowlimit articles or transtimelimit
79 seconds, whichever is smaller. You are encouraged to keep the default
80 value for row limits and, instead, adjust the time limit according to
81 how many articles your news server usually accepts per second during
82 normal operation (you can find statistics about incoming articles in
83 your daily Usenet reports). Inserting or deleting a database row
84 within a transaction is very fast whereas committing a transaction is
85 slow, especially on rotating storage. Setting transaction limits too
86 low leads to poor performance. When rebuilding overview data, it may
87 be worth temporarily raising these values on systems with slow CPU or
88 rotating storage (for instance, multiply by 10 the default values).
89 Performance won't change much on fast systems.
90
92 All overview database access goes through the ovsqlite-server daemon.
93 For ordinary operation, rc.news will start and stop it automatically.
94 If you want to touch the overview database while innd isn't running,
95 you'll have to start ovsqlite-server manually first. See
96 ovsqlite-server(8).
97
99 Initial implementation of ovsqlite written by Bo Lindbergh
100 <2bfjdsla52kztwejndzdstsxl9athp@gmail.com> for InterNetNews.
101
103 inn.conf(5), makehistory(8), ovsqlite-server(8), rc.news(8).
104
105
106
107INN 2.7.0 2022-07-10 OVSQLITE(5)