[
https://issues.apache.org/jira/browse/HDDS-6486?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Gui updated HDDS-6486:
---------------------------
Description:
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].
> Add new container schema v3 definitions on Datanode side.
> ---------------------------------------------------------
>
> 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
>
> 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].
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]