在众多分布式数据库中,有的采用了计算与存储分离的架构,例如TiDB,有的并未做算存分离,例如OceanBase。如何看待这两种架构的不同优劣势,以及如何进行选择?
收起这里和题主探讨下存算分离。
个人认为OceanBase也是存算分离。OceanBase也分为OBProxy、SQL引擎、计算引擎、存储引擎等不同的角色,只不过是逻辑上的分离,而在物理上可以部署在同一台服务器上。
如果想要实现一定程度上的物理上的存算分离,那么可以把 OBProxy 、OBServer分别部署。
TiDB的优势在于集群中设置了非常明显的存算分离角色,即TiDB和TiKV,这种架构下,后续扩缩容可以分别进行,更加便捷,互不影响,最大化利用资源。