view TODO @ 366:cd9521e04249 attach-custom-data

DatabaseBackendAdapterV4: added support for customData + revision when not already done
author Alain Mazy <am@osimis.io>
date Thu, 15 Sep 2022 18:12:34 +0200
parents 7671fa7f099e
children c1fe28de1bf6
line wrap: on
line source


==============================
== Orthanc database plugins ==
==============================

-----------------------
Common - Database index
-----------------------

* Performance of joins in LookupResources: Create cached statement for
  LookupResources, that are grouped to search up to, say, 10 tags,
  instead of recompiling for each request


---------------------
Common - Storage area
---------------------

* Implement the "StoreDicom" option from the default filesystem
  storage area to run MySQL/PostgreSQL storage in index-only mode:
  https://book.orthanc-server.com/contributing.html

* Performance: Add a pool of connections to PostgreSQL/MySQL, as
  already done in the database index plugins

----------
PostgreSQL
----------

* reported issue to validate:  uploading lots of files through HTTP with:
  - 1 client and IndexConnectionsCount==1 took 100s
  - 2 client and IndexConnectionsCount==2 took 600s (lots of transaction replayed)

* Seems Orthanc might deadlock when there are plenty of conflicting transactions:
  https://groups.google.com/g/orthanc-users/c/xQelEcKqL9U/m/HsvxwlkvAQAJ
  https://groups.google.com/g/orthanc-users/c/1bkClfZ0KBA/m/s4AlwVh3CQAJ 

-----
MySQL
-----

* Store revisions for metadata and attachments in MySQL (this is
  already implemented in PostgreSQL)

* MySQL performance => implement GlobalProperty_GetTotalSizeIsFast:
  https://groups.google.com/d/msg/orthanc-users/kSR4a110zDo/D7e4ITR8BwAJ

* Add index to speed up wildcard search, as already done in PostgreSQL:

  - https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html +
    ALTER TABLE table ADD FULLTEXT index_name(column1);

  - https://dev.mysql.com/doc/refman/8.0/en/index-btree-hash.html