changeset 438:5d6d593bceb6

scalability section
author Alain Mazy <alain@mazy.be>
date Tue, 26 May 2020 08:21:29 +0200
parents 0942c745d2b5
children 76b7279e52e6
files Sphinx/source/faq/scalability.rst Sphinx/source/plugins/mysql.rst Sphinx/source/plugins/postgresql.rst
diffstat 3 files changed, 50 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/Sphinx/source/faq/scalability.rst	Mon May 25 17:29:13 2020 +0200
+++ b/Sphinx/source/faq/scalability.rst	Tue May 26 08:21:29 2020 +0200
@@ -162,3 +162,40 @@
 bypass arenas for large memory blocks such as DICOM files). Check out
 the `manpage <http://man7.org/linux/man-pages/man3/mallopt.3.html>`__
 of ``mallopt()`` for more information.
+
+
+.. _scalability-limitations:
+
+Known limitations
+-----------------
+
+Exclusive access to the DB
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+As of Orthanc 1.7.0, the internal code accessing the DB is still affected
+by limitations induced by the SQLite engine that was the only one originally
+available at the beginning of the project: inside a single Orthanc process,
+there are no concurrent access to the DB.
+
+One solution to avoid this limitation is to have multiple Orthanc accessing
+the same DB (works only for MySQL and PostgreSQL) as presented in this `sample 
+<https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/multiple-orthancs-on-same-db/>`__.
+
+Also note that the core of Orthanc does not currently support the replay
+of database transactions, which is necessary to deal with conflicts
+between several instances of Orthanc that would simultaneously write
+to the database.  As a consequence, as of Orthanc 1.7.0, when connecting multiple
+Orthanc to a single database by setting ``Lock`` to ``false``, there
+should only be one instance of Orthanc acting as a writer and all the
+other instances of Orthanc acting as readers only. Be careful to set
+the option ``SaveJobs`` to ``false`` in the configuration file of all
+the instances of Orthanc acting as readers.
+
+A refactoring is needed to improve the core of Orthanc in that
+respect, for which we are looking for funding from the
+industry. Some issues reported in our bug tracker call for this
+refactoring: `issue 83
+<https://bitbucket.org/sjodogne/orthanc/issues/83/>`__, `issue 121
+<https://bitbucket.org/sjodogne/orthanc/issues/121/>`__, `issue 151
+<https://bitbucket.org/sjodogne/orthanc/issues/151/>`__.
+
--- a/Sphinx/source/plugins/mysql.rst	Mon May 25 17:29:13 2020 +0200
+++ b/Sphinx/source/plugins/mysql.rst	Tue May 26 08:21:29 2020 +0200
@@ -171,3 +171,9 @@
 instance of Orthanc writing to the database).  For more information,
 please check out the :ref:`documentation for PostgreSQL
 <postgresql-lock>`.
+
+Scalability
+^^^^^^^^^^^
+
+When configuring your MySQL plugin, ensure you've read the :ref:`scalability section 
+<scalability>`
--- a/Sphinx/source/plugins/postgresql.rst	Mon May 25 17:29:13 2020 +0200
+++ b/Sphinx/source/plugins/postgresql.rst	Tue May 26 08:21:29 2020 +0200
@@ -243,27 +243,6 @@
 between instances of Orthanc. In particular, all these instances
 should share the same configuration.
 
-Furthermore, the core of Orthanc does not currently support the replay
-of database transactions, which is necessary to deal with conflicts
-between several instances of Orthanc that would simultaneously write
-to the database.
-
-As a consequence, as of Orthanc 1.7.0, when connecting multiple
-Orthanc to a single database by setting ``Lock`` to ``false``, there
-should only be one instance of Orthanc acting as a writer and all the
-other instances of Orthanc acting as readers only. Be careful to set
-the option ``SaveJobs`` to ``false`` in the configuration file of all
-the instances of Orthanc acting as readers.
-
-A refactoring is needed to improve the core of Orthanc in that
-respect, for which we are looking for funding/donation from the
-industry. Some issues reported in our bug tracker call for this
-refactoring: `issue 83
-<https://bitbucket.org/sjodogne/orthanc/issues/83/>`__, `issue 121
-<https://bitbucket.org/sjodogne/orthanc/issues/121/>`__, `issue 151
-<https://bitbucket.org/sjodogne/orthanc/issues/151/>`__.
-
-
 
 Keep-alive
 ^^^^^^^^^^
@@ -283,3 +262,10 @@
 `enable keep-alive
 <https://dba.stackexchange.com/questions/97534/is-there-a-timeout-option-for-remote-access-to-postgresql-database>`__
 in the configuration of your PostgreSQL server
+
+
+Scalability
+^^^^^^^^^^^
+
+When configuring your PostgreSQL plugin, ensure you've read the :ref:`scalability section 
+<scalability>`