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

Mark Gui resolved HDDS-6486.
----------------------------
    Resolution: Fixed

> Add new container schema v3 definitions.
> ----------------------------------------
>
>                 Key: HDDS-6486
>                 URL: https://issues.apache.org/jira/browse/HDDS-6486
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Mark Gui
>            Assignee: Mark Gui
>            Priority: Major
>              Labels: pull-request-available
>
> Add definition classes for rocksdb-merge, thus we have a new container schema 
> – schemaV3.
> After rocksdb-merge, we have the metadata of multiple containers into a 
> central per-disk rocksdb instances, so we should add prefix to their metadata 
> KVs, here is a comparison of the old schemaV2 v.s. schemaV3:
> SchemaV2
> |*Table Name/ColumnFamily*|*KeyValue*|
> |block_data|<LocalID, BlockData>|
> |metadata|<MetadataPrefix, MetadataValue>|
> |delete_txns|<TxnID, DeletedBlocksTransaction>|
> SchemaV3
> |*Table Name/ColumnFamily*|*KeyValue*|
> |block_data|<{*}ContainerID#{*}LocalID, BlockData>|
> |metadata|<{*}ContainerID#{*}MetadataPrefix, MetadataValue>|
> |delete_txns|<{*}ContainerID#{*}TxnID, DeletedBlocksTransaction>|
> The containerID should be of fixed-length, then the iteration of a specific 
> container metadata will be optimized using rocksdb "Prefix-Seek" feature: 
> [https://github.com/facebook/rocksdb/wiki/Prefix-Seek].
> We need to define new classes such as:
>  * DatanodeSchemaThreeDBDefinition
>  * DatanodeStoreSchemaThreeImpl



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to