[ 
https://issues.apache.org/jira/browse/HDDS-5332?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuan Gu updated HDDS-5332:
--------------------------
    Description: 
Table schema:
{code:java}
objectId --> class NSSummary
{code}
New class NSSummary should at least include these fields:

1. Total number of files *directly*[1] under this directory,
 2. Total size of files directly under this directory,
 3. File Size Buckets of files directly under this directory.

Note: [1] *directly* means not counting files under any subdirectories, for 
now. We could further optimize the speed later by trading more writes 
(propagating the statistics any layers deep upwards) with speed. This is for 
reducing potential write-amplification for now. The stats could be extended 
into arbitrary layers deep later.

[06/21] Renamed ReconContainerDBProvider to ReconDBProvider

[06/21] Expanded the scope of this issue by designing a service provider 
interface for namespace summary, which wraps up all operations on the new 
schema.

 

[06/23] Merge with [HDDS-5379|https://issues.apache.org/jira/browse/HDDS-5379]

Because we are intending to add a new CF to the Recon container DB, the 
existing ContainerDBServiceProvider must be refactored to resolve conflict with 
a new service provider sharing the same RDB as the current one directly 
operates on the DB not just the CF/tables.
 # Refactor ContainerDBServiceProvider into something not directly related to 
the underlying RDB
 # Use a new ReconDBStore instead of containerDbStore in 
ContainerDBServiceProviderImpl
 # Rename ContainerDBServiceProvider/ContainerDBServiceProviderImpl into sth 
more appropriate
 # Combined ReconRocksDB and ReconDBProvider into one class, which manages all 
db-level operations.

  was:
Table schema:
{code:java}
objectId --> class NSSummary
{code}
New class NSSummary should at least include these fields:

1. Total number of files *directly*[1] under this directory,
 2. Total size of files directly under this directory,
 3. File Size Buckets of files directly under this directory.

Note: [1] *directly* means not counting files under any subdirectories, for 
now. We could further optimize the speed later by trading more writes 
(propagating the statistics any layers deep upwards) with speed. This is for 
reducing potential write-amplification for now. The stats could be extended 
into arbitrary layers deep later.

[06/21] Renamed ReconContainerDBProvider to ReconDBProvider

[06/21] Expanded the scope of this issue by designing a service provider 
interface for namespace summary, which wraps up all operations on the new 
schema.


> Add a new column family and a service provider in Recon DB for Namespace 
> Summaries
> ----------------------------------------------------------------------------------
>
>                 Key: HDDS-5332
>                 URL: https://issues.apache.org/jira/browse/HDDS-5332
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Siyao Meng
>            Assignee: Yuan Gu
>            Priority: Major
>
> Table schema:
> {code:java}
> objectId --> class NSSummary
> {code}
> New class NSSummary should at least include these fields:
> 1. Total number of files *directly*[1] under this directory,
>  2. Total size of files directly under this directory,
>  3. File Size Buckets of files directly under this directory.
> Note: [1] *directly* means not counting files under any subdirectories, for 
> now. We could further optimize the speed later by trading more writes 
> (propagating the statistics any layers deep upwards) with speed. This is for 
> reducing potential write-amplification for now. The stats could be extended 
> into arbitrary layers deep later.
> [06/21] Renamed ReconContainerDBProvider to ReconDBProvider
> [06/21] Expanded the scope of this issue by designing a service provider 
> interface for namespace summary, which wraps up all operations on the new 
> schema.
>  
> [06/23] Merge with [HDDS-5379|https://issues.apache.org/jira/browse/HDDS-5379]
> Because we are intending to add a new CF to the Recon container DB, the 
> existing ContainerDBServiceProvider must be refactored to resolve conflict 
> with a new service provider sharing the same RDB as the current one directly 
> operates on the DB not just the CF/tables.
>  # Refactor ContainerDBServiceProvider into something not directly related to 
> the underlying RDB
>  # Use a new ReconDBStore instead of containerDbStore in 
> ContainerDBServiceProviderImpl
>  # Rename ContainerDBServiceProvider/ContainerDBServiceProviderImpl into sth 
> more appropriate
>  # Combined ReconRocksDB and ReconDBProvider into one class, which manages 
> all db-level operations.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to