Abstract

Read separating from write is a strategy that NewSQL adopts to incorporate the advantages of traditional relation database and NoSQL database. Under this architecture, baseline data is split into multiple partitions stored at distributed physical nodes, while delta data is stored at single transaction node. For reducing the pressure of transaction node and improving the query performance, delta data needs to be synchronized into storage nodes. The current strategies trigger the procedure of data synchronization per partition, meaning that unchanged partitions will also participate in data synchronization, which consumes extra network cost, local IO and space resources. For improving the efficiency of data synchronization meanwhile mitigating space utilization, the fine-grained data synchronization strategy is proposed, whose main idea includes that fine-grained logical partitions upon original coarse-grained partitions is established, providing more correct synchronized unit; the delta data sensing strategy is introduced, which records the mapping between changed partitions and its delta data; instead of partition driven, the data synchronization through the delta-broadcasting mechanism is driven, constraining that only changed partitions can participate in data synchronization. The fine-grained data synchronization strategy on Oceanbase is implemented, which is a distributed database with read separating from write, and the results show that our strategy is better than other strategies in efficiency of data synchronizing and space utilization.

Highlights

  • The fine⁃grained data synchronization strategy on Oceanbase is implemented, which is a distributed database with read separating from write, and the results show that our strategy is better than other strategies in efficiency of data synchronizing and space utilization

  • Https: / / github.com / Level / levelup / blob / master / README.md

Read more

Summary

Introduction

西北工业大学学报 Journal of Northwestern Polytechnical University https: / / doi.org / 10.1051 / jnwpu / 20203810209 摘 要:读写分离是 NewSQL 数据库兼容传统关系型数据库以及 NoSQL 数据库各自优势的一种常用 策略。 这种架构下,基线数据被分割为多个分区分布存储于不同存储节点,更改数据存储于单个事务 节点,为减轻事务节点压力以及提升查询效率,需要将更改数据定期同步到存储节点。 当前策略以分 区粒度进行数据同步,导致无更改数据的分区同样参与同步操作,消耗额外网络代价、本地 IO 代价、 内存空间以及磁盘空间。 为提升同步效率,降低空间消耗,提出一种细粒度数据同步策略,在原始分 区之上建立细粒度逻辑分区,提供更精确的同步单位;引入更改感知策略,记录被更改的分区以及对 应的更改数据;利用更改发布机制驱动同步的进行,限制参与同步的分区为发生改变的分区。 在分布 式读写分离系统 Oceanbase 上验证细粒度数据同步策略,结果表明其同步效率和空间占用量均优于其 他策略。 对于传统集中式数据库系统,如 PostgreSQL[7] 、 MySQL[8] 、DB2[9] 等,更改操作发生在本地,不涉及 跨节 点数据同步。 NoSQL 数据库系统, 如 Big⁃ Table[10] 、HBase[11] 等, 牺牲一致性, 追求高扩展。 HBase 将大表切分成多个子表,分布存储在多个物 理节点,只支 持行级别事务, 但能够节点内本地更改。 大数据时代应运而生的 NewSQL 数据库系统, 如 MemSQL[2] 、Oceanbase[4] 、VoltDB[3] 等,在兼容大 数据分析和传统事务处理能力的同时,面临数据同 步的性能问题,特别是读写分离情况下,提升性能挑 战巨大。 如 Oceanbase 中数据同步过程为:以分区 为单位,首先通过网络到事务节点拉取更改的数据 到存储节点,然后存储节点将分区( 默认 256 MB) 的数据全部加载到内存,执行合并操作,最后将合并 后的数据落盘。

Results
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.