共享存储设计虽然无须像其他采用大规模并行处理架构的数据库一样进行大量数据搬迁,但是也会造成存储服务层每个节点都处理写事务,而因此概率产生数据冲突,解决这些冲突需要更高处理代价。那么云原生数据库是如何解决这个问题的呢?
一些云原生数据库在实现时为了简化实现,往往指定其中一个节点为更新节点,其他作为只读节点。只读节点需要根据事务隔离的语义提供一致性数据页面的读取。共享存储层不等同于一般意义上的分布式文件系统,如Google 文件系统(Google File System,GFS)、Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS),更多的是为适应数据库的段页式结构来设计的。数据块大小的选择会更多地考虑数据库的I/O 模式,更重要的是共享存储层里集成了数据的日志回放逻辑,利用分布式能力增加并发度,提升页面更新的性能。
以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。