问题一:Level字段在ADB PG的Merge Tree中代表什么含义?
Level字段在ADB PG的Merge Tree中代表什么含义?
参考回答:
Level字段在ADB PG的Merge Tree中代表文件的合并层次。其中,0层代表实时写入的数据,这部分数据在合并时有更高的权重。Level值越大,表示该文件包含的数据越旧,合并时的权重越低。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/672249
问题二:Physical file id和Stripe id在File Metadata表中分别有什么作用?
Physical file id和Stripe id在File Metadata表中分别有什么作用?
参考回答:
Physical file id在File Metadata表中用于唯一标识一个逻辑文件对应的oss物理文件。由于它不再与segment关联,因此需要全局唯一。Stripe id则是因为一个oss文件可以包含多个bucket的文件,以stripe为单位进行组织,方便在segment一次写入的多个bucket合并到一个oss文件中,避免oss小文件导致的性能下降和oss小文件爆炸问题。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/672250
问题三:Visibility bitmap表是如何记录被删除的文件信息的?
Visibility bitmap表是如何记录被删除的文件信息的?
参考回答:
Visibility bitmap表通过physical_file_id、stripe_id、start_row、hash_bucket_id、delete_count和bitmap等字段来记录被删除的文件信息。其中,physical_file_id和stripe_id用于定位到具体的oss物理文件和其中的stripe;start_row表示delete bitmap对应的起始行号,每32k行对应一个delete bitmap;hash_bucket_id表示所属的hash bucket;delete_count表示该delete bitmap总共记录删除了多少行;bitmap字段则存储了delete bitmap的具体数值,采用压缩存储以节省空间。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/672251
问题四:为什么要设计Visibility bitmap表来记录删除信息,而不是直接在oss上修改数据?
为什么要设计Visibility bitmap表来记录删除信息,而不是直接在oss上修改数据?
参考回答:
设计Visibility bitmap表来记录删除信息,而不是直接在oss上修改数据,主要有两个原因:一是可以避免访问oss带来的延迟,提高查询效率;二是oss对于访问的吞吐有限额,频繁访问可能导致触发oss的限流策略,影响系统稳定性。通过Visibility bitmap表,我们可以直接获取到需要合并的文件信息,避免了对oss的频繁访问。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/672252
问题五:Mergetree结构的核心特点是什么?
Mergetree结构的核心特点是什么?
参考回答:
Mergetree结构的核心特点是通过后台merge的方式,将小文件合并成有序的大文件,并在合并过程中可以对数据进行重排,以优化数据的有序特性。与leveldb不同,Mergetree的0层实时写入数据会进行合并,不同bucket的文件会合并成大文件,并且这些文件会按照对应的stripe进行组织。
关于本问题的更多回答可点击原文查看: