PolarDB x-engin写在Polardb 原来的chunk server上?[阿里云PolarDB]

PolarDB x-engine,这个LSM tree的L0, L1 L2,还都是写在Polardb 原来的chunk server上?不同的layer如何写入不同的介质呢?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. PolarDB x-engine中的LSM树的L0、L1和L2层都是存储在原先的chunk server上。不同层的数据可以写入不同的介质,例如L0可以采用SSD介质进行存储,而L1和L2可以采用更廉价的HDD介质进行存储。这样可以在保证高速写入性能的同时,也可以降低存储成本。此外,PolarDB x-engine还可以根据用户的需求进行灵活配置和管理不同层的存储介质。

  2. 目前都是写在PolarDB底下分布式存储的trunk server上。我们开源的代码上是支持不同的layer 配置不同的表空间然后放到不同的介质上。不过目前这个没有参数开放出来,感兴趣的话可以研究下SpaceManager这块的代码,此回答整理自钉群“阿里云 PolarDB-X 开源交流群”

  3. PolarDB X-Engine是由阿里云自主研发的分布式关系型数据库引擎,采用了Log-structured Merge Tree (LSM Tree)作为底层存储引擎。在PolarDB X-Engine中,L0、L1、L2等不同层次的数据都是写入到同一组chunk server中,但是不同的层次会使用不同的介质进行存储,以达到更好的性能和成本效益的平衡。

    具体来说,L0层是内存中的缓存,用于快速响应读写请求,L1层则采用了SSD硬盘作为存储介质,以实现较高的写入和查询性能。而L2层则采用了HDD硬盘作为存储介质,以实现更高的存储容量和较低的成本。

    在PolarDB X-Engine中,不同层次数据的写入是由数据的热度和大小等因素来决定的,热点数据和较小的数据会被优先写入到L0和L1层中,而较冷的数据和较大的数据则会被写入到L2层中。这样可以有效地提高数据的访问效率和存储利用率。