comparison Sphinx/source/plugins/mysql.rst @ 643:411e82bb3a9f

documenting revisions and multiple writers
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 23 Apr 2021 15:47:14 +0200
parents 5bb6bc85f99f
children 96574b57249a
comparison
equal deleted inserted replaced
642:a76d83a00c68 643:411e82bb3a9f
10 default storage area (on the filesystem) and the default SQLite index 10 default storage area (on the filesystem) and the default SQLite index
11 by a MySQL or a MariaDB database. 11 by a MySQL or a MariaDB database.
12 12
13 For general information, check out the `official homepage of the 13 For general information, check out the `official homepage of the
14 plugins <https://www.orthanc-server.com/static.php?page=mysql>`__. 14 plugins <https://www.orthanc-server.com/static.php?page=mysql>`__.
15
16 For information about scalability, make sure to read the section about
17 :ref:`multiple writers in large-scale deployments <multiple-writers>`.
15 18
16 **Warning:** According to `this thread on our discussion group 19 **Warning:** According to `this thread on our discussion group
17 <https://groups.google.com/d/msg/orthanc-users/yV3LSTh_TjI/Fb4ShaYMBAAJ>`__, 20 <https://groups.google.com/d/msg/orthanc-users/yV3LSTh_TjI/Fb4ShaYMBAAJ>`__,
18 the MySQL/MariaDB plugins require MySQL 8.x if running on Microsoft 21 the MySQL/MariaDB plugins require MySQL 8.x if running on Microsoft
19 Windows. 22 Windows.
98 "UnixSocket" : "/var/run/mysqld/mysqld.sock", // For UNIX on localhost 101 "UnixSocket" : "/var/run/mysqld/mysqld.sock", // For UNIX on localhost
99 "Database" : "orthanc", 102 "Database" : "orthanc",
100 "Username" : "orthanc", 103 "Username" : "orthanc",
101 "Password" : "orthanc", 104 "Password" : "orthanc",
102 "EnableSsl" : false, // force SSL connections 105 "EnableSsl" : false, // force SSL connections
103 "SslVerifyServerCertificates": true, // verify server certificates if EnableSsl is true 106 "SslVerifyServerCertificates": true, // Verify server certificates if EnableSsl is true
104 "SslCACertificates": "", // path to CA certificates to validate servers 107 "SslCACertificates": "", // Path to CA certificates to validate servers
105 "Lock" : true // See section about Locking 108 "Lock" : true, // See section about Locking
109 "MaximumConnectionRetries" : 10, // New in release 3.0
110 "ConnectionRetryInterval" : 5, // New in release 3.0
111 "IndexConnectionsCount" : 1 // New in release 4.0
106 }, 112 },
107 "Plugins" : [ 113 "Plugins" : [
108 "/home/user/orthanc-databases/BuildMySQL/libOrthancMySQLIndex.so", 114 "/home/user/orthanc-databases/BuildMySQL/libOrthancMySQLIndex.so",
109 "/home/user/orthanc-databases/BuildMySQL/libOrthancMySQLStorage.so" 115 "/home/user/orthanc-databases/BuildMySQL/libOrthancMySQLStorage.so"
110 ] 116 ]
163 169
164 Several advanced options are available as well to fine-tune the 170 Several advanced options are available as well to fine-tune the
165 configuration of the MySQL plugins. They are documented below. 171 configuration of the MySQL plugins. They are documented below.
166 172
167 173
174 .. _mysql-multiple-writers:
175
176 Multiple writers or connections
177 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
178
179 Starting with Orthanc 1.9.2 and MySQL 4.0, it is possible to use
180 :ref:`multiple writers or connections in large-scale deployments
181 <multiple-writers>`. Here is the list of configuration that control
182 this behavior:
183
184 * ``Lock`` must be set to ``false`` (cf. :ref:`below <mysql-lock>`)
185
186 * ``MaximumConnectionRetries`` governs how many times Orthanc tries to
187 connect to the database, as well as how many times Orthanc replays
188 transactions to deal with collisions between multiple writers.
189
190 * ``IndexConnectionsCount`` controls the number of connections from
191 the index plugin to the MySQL database. It is set to ``1`` by
192 default, which corresponds to the old behavior of Orthanc <= 1.9.1.
193
194 * ``ConnectionRetryInterval`` is only used when opening one database
195 connection to MySQL.
196
197 * As of release 4.0, the MySQL plugin does **not** support yet the
198 :ref:`revision mechanism <revisions>` to protect metadata and
199 attachments from concurrent modifications.
200
201
168 Locking 202 Locking
169 ^^^^^^^ 203 ^^^^^^^
170 204
171 .. highlight:: json 205 .. highlight:: json
172 206