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

Zhihua Deng updated HIVE-29645:
-------------------------------
    Description: 
ObjectStore is the default implementation of RawStore and has grown into a very 
large, monolithic class that handles catalogs, databases, tables, partitions, 
privileges, column stats, constraints, functions, notifications, and more. 

This refactoring aligns with the long-standing objective of mitigating the size 
and complexity of the ObjectStore implementation(cf.HIVE-14730). By decomposing 
the large RawStore/ObjectStore into smaller, domain-oriented store interfaces 
and implementations, we can reduce the complexity and maintenance of 
ObjectStore, improve separation of concerns, and create a cleaner foundation 
for future evolution of metastore persistence logic. It also centralizes 
transaction/query lifecycle management through helper/proxy abstractions so 
that the new sub-stores can reuse the existing persistence behavior without 
duplicating boilerplate.

More can refer to the attached design document.

  was:This refactoring aligns with the long-standing objective of mitigating 
the size and complexity of the ObjectStore implementation(cf.HIVE-14730). By 
decomposing the large RawStore/ObjectStore into smaller, domain-oriented store 
interfaces and implementations, we can reduce the complexity and maintenance of 
ObjectStore, improve separation of 
concerns,andcreateacleanerfoundationforfutureevolutionofmetastorepersistencelogic.Italsocentralizestransaction/querylifecyclemanagementthroughhelper/proxyabstractionssothatthenewsub-storescanreusetheexistingpersistencebehaviorwithoutduplicatingboilerplate


> Refactoring Hive Metastore RawStore into pluggable sub-stores
> -------------------------------------------------------------
>
>                 Key: HIVE-29645
>                 URL: https://issues.apache.org/jira/browse/HIVE-29645
>             Project: Hive
>          Issue Type: Task
>          Components: Standalone Metastore
>            Reporter: Zhihua Deng
>            Priority: Major
>         Attachments: HIVE-29645-pluggable-substores.pdf
>
>
> ObjectStore is the default implementation of RawStore and has grown into a 
> very large, monolithic class that handles catalogs, databases, tables, 
> partitions, privileges, column stats, constraints, functions, notifications, 
> and more. 
> This refactoring aligns with the long-standing objective of mitigating the 
> size and complexity of the ObjectStore implementation(cf.HIVE-14730). By 
> decomposing the large RawStore/ObjectStore into smaller, domain-oriented 
> store interfaces and implementations, we can reduce the complexity and 
> maintenance of ObjectStore, improve separation of concerns, and create a 
> cleaner foundation for future evolution of metastore persistence logic. It 
> also centralizes transaction/query lifecycle management through helper/proxy 
> abstractions so that the new sub-stores can reuse the existing persistence 
> behavior without duplicating boilerplate.
> More can refer to the attached design document.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to