基于共享存储的数据库到底需不需要搞?之所以出现这种架构的数据库,很大的原因是搬运数据的速度太慢了,比如给 mysql 增加一个新的复制节点时需要从现有节点中把数据搬运到新节点才能提供查询计算服务,如果使用共享存储,不用搬运数据,新增一个计算节点就很快了,当然如果你想增加一个新的存储节点还是一样慢。
所以这里面的关键问题是如何快速新增一个计算节点?只要足够快了,用不用共享存储也无关紧要了。lealone 的复制集群提供了一种新的快速增加计算节点的方案,不需要使用共享存储,只需要复制现有节点某个数据库的少量数据到新的计算节点就能秒级提供服务了,核心思想是在 btree 里引入 remote page,只要计算节点中的 btree 遇到 remote page,快速读过来即可,计算节点不需要把现有节点的数据都搬运过来,用到什么就加载什么,page 有了本地副本之后性能也很快。所以 lealone 不需要搞共享存储。
发布于 广西
