Uploaded image for project: 'eXo-JCR'
  1. eXo-JCR
  2. EXOJCR-1754

Allow to have dedicated tables per workspace even in single db mode

    Details

      Description

      The goal of this task is to split the data of each workspace in a dedicated tables even in single db mode. Indeed in practice only the single db mode is used by the customer which has for consequences to have all the data of all the workspaces in the same tables which cause perf issues when we have a lot of data. As the size of the table grows very quickly, it is critical to slip the data to be able to have several medium tables instead of one huge. So we need to add a new sub class of JDBCWorkspaceDataContainer that will store the data in tables of the same structure as the current multi db mode for both mode, the only difference is the fact that the table names are now dynamic and will be composed of the workspace name, the tables could then be of type JCRI_${escaped_workspace_name} for the ITEM table, JCRV_${escaped_workspace_name} for the VALUE table and JCRR_${escaped_workspace_name} for the REF table. In case the name of the workspace is too long, we can add a new parameter in the config allow to set a short workspace name that will be used instead of the workspace name.

        Gliffy Diagrams

          Attachments

          1.
          Adopt RDBMS backup/restore/clean Sub-task Resolved Dmitry Kuleshov

          41%

          Original Estimate - 3 days
          Time Spent - 1 day, 2 hours Remaining Estimate - 1 day, 6 hours
          JCR-1.15.0-Beta01 jcr.component.core, jcr.component.ext
          2.
          Adopt RepositoryCheckController Sub-task Resolved Dmitry Kuleshov

          87%

          Original Estimate - 2 days
          Time Spent - 1 day, 6 hours Remaining Estimate - 2 hours
          JCR-1.15.0-Beta01 jcr.component.core
          3.
          Implement new JDBCWorkspaceDataContainer and related queries Sub-task Resolved Nikolazy Zamosenchuk

          100%

          Original Estimate - 1 week
          Time Spent - 1 week
          JCR-1.15.0-Beta01 jcr.component.core
          4.
          Mark "multi-db" parameter as deprecated Sub-task Resolved Alex Reshetnyak

          87%

          Original Estimate - 1 day
          Time Spent - 7 hours Remaining Estimate - 1 hour
          JCR-1.15.0-Beta01 jcr
          5.
          Update documentation Sub-task Resolved Dmitry Kuleshov

          100%

          Original Estimate - 1 day Original Estimate - 1 day
          Time Spent - 2 days
          JCR-1.15.0-Beta01 docs.developer
          6.
          Make configuration with isolated tables as default configuration in all tests Sub-task Resolved Anatolii Bazko

          25%

          Original Estimate - 1 day, 4 hours
          Time Spent - 3 hours Remaining Estimate - 1 day, 1 hour
          JCR-1.15.0-Beta01 jcr
          7.
          Run tests on all supported Databases Sub-task Resolved Anatolii Bazko

          100%

          Original Estimate - 2 days Original Estimate - 2 days
          Time Spent - 2 days, 4 hours
          JCR-1.15.0-Beta01 jcr
          8.
          Migration tool from single-db mode to isolated-db mode Sub-task Resolved Dmitry Kuleshov

          100%

          Original Estimate - 3 days Original Estimate - 3 days
          Time Spent - 4 days, 4 hours
          JCR-1.15.0-Beta01 jcr.component.core
          9.
          Migrate preloaded databases for backup/restore/tests from single-db mode to isolated-db mode Sub-task Resolved Alex Reshetnyak

          100%

          Original Estimate - 3 days Original Estimate - 3 days
          Time Spent - 1 week, 1 hour
          JCR-1.15.0-Beta01 jcr
          10.
          Configure benchmark tests for using isolated-db mode Sub-task Resolved Andrew Plotnikov   JCR-1.15.0-Beta01 jcr
          11.
          Need to escape workspace names, used in database table names Sub-task Resolved Anatolii Bazko

          0%

          Original Estimate - 4 hours
          Remaining Estimate - 4 hours
          JCR-1.15.0-Beta01 jcr.component.core
          12.
          Performance testing backup/restore/reindexing on preloaded DBs Sub-task Resolved Alex Reshetnyak

          100%

          Original Estimate - 3 days Original Estimate - 3 days
          Time Spent - 4 days, 3 hours
          JCR-1.15.0-Beta01 jcr
          13.
          Check problem with restoring from RDBMS backup on DB with "isolated" database structure type to "isoleted" on Oracle 11g r2. Sub-task Resolved Alex Reshetnyak

          100%

          Original Estimate - 3 days Original Estimate - 3 days
          Time Spent - 1 week, 5 hours
          JCR-1.15.0-Beta01 jcr.component.core, jcr.component.ext
          14.
          Check problem with restoring from RDBMS backup big DB on DB2. Sub-task Resolved Andrew Plotnikov

          75%

          Original Estimate - 4 days
          Time Spent - 3 days Remaining Estimate - 1 day
            jcr.component.core
          15.
          Performance regression in daily tests Sub-task Resolved Anatolii Bazko

          91%

          Original Estimate - Not Specified Original Estimate - Not Specified
          Time Spent - 1 week, 5 hours Remaining Estimate - 4 hours
          JCR-1.15.0-Beta01 jcr.component.core
          16.
          Check problem with perfomance RDBMS reindexing on DB with "isolated" database structure type on Oracle Sub-task Resolved Alex Reshetnyak

          60%

          Original Estimate - 2 days, 4 hours
          Time Spent - 1 day, 4 hours Remaining Estimate - 1 day
          JCR-1.15.0-Beta01 jcr.component.core
          17.
          TESTING: Errors on oracle profile during functional testing of jcr.ext Sub-task Resolved Dmitry Kuleshov

          100%

          Original Estimate - Not Specified Original Estimate - Not Specified
          Time Spent - 2 days, 1 hour
          JCR-1.15.0-Beta01 jcr.component.core, jcr.component.ext
          18.
          Check problem with runtime RDBMS restoring on DB with "isolated" database structure type on DB2 Sub-task Resolved Andrew Plotnikov

          100%

          Original Estimate - 3 days Original Estimate - 3 days
          Time Spent - 1 week, 2 days, 3 hours
             

            Activity

              People

              • Assignee:
                tolusha Anatolii Bazko
                Reporter:
                nfilotto Nicolas Filotto
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 7 weeks, 2 days, 4 hours Original Estimate - 7 weeks, 2 days, 4 hours
                  7w 2d 4h
                  Remaining:
                  Time Spent - 10 weeks, 3 days, 2 hours Remaining Estimate - 1 week, 1 day, 2 hours
                  1w 1d 2h
                  Logged:
                  Time Spent - 10 weeks, 3 days, 2 hours Remaining Estimate - 1 week, 1 day, 2 hours
                  10w 3d 2h