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
|
==============================
== 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
* Do not log "DatabaseCannotSerialize" errors in the plugin but only
in Orthanc after all retries have been made.
---------------------
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
|