和所有其他类型的数据库一样,可扩展的图数据库(Scalable Graph Database)是图数据库发展的必然阶段。
单机(单实例)所能承载的最大数据量、吞吐率、系统可用性显然是有限的,也正是这种限制,几乎所有的新型数据库系统都会把扩展能力,特别是通过多实例形成的水平集群扩展能力,作为一个重要的能力衡量指标。这也是分布式数据库方兴未艾的核心原因。
在探讨可扩展的图数据库设计时须明确一点,只有在垂直扩展没有可能的时候,才开始追求水平可扩展系统的构建与迭代。
换句话说,很多业务问题,无论是从数据量、吞吐量、性能还是其他要素来考虑,通过垂直扩展方式解决一定是复杂度最低、代价最小的。
事实上,水平可扩展系统的设计、实现及运维复杂度,远远超出绝大多数开发者的预期,而且很多情况下,系统的稳定性、时效性因真实世界的业务复杂性而变得不可预知,反而会形成一种颇具讽刺意味的效果:很多所谓的大规模水平分布式系统的实际应用效果往往差于预期,更弱于它们所取代的那些Monolithic(所谓的单机版)系统——最典型的基于秒杀类短链条交易场景而构建的分布式关系型数据库的性能、稳定性、用户总拥有成本、效率真的全面超越了它们所“取代”的Oracle数据库吗?
或许,我们在关注分布式图数据库架构设计的时候,可以更多地从真实的业务需求出发,避免让架构设计变成一种为了追求分布式而分布式的死循环。本篇内容先着重探讨垂直扩展的可能性,再探讨水平扩展的意义和优劣。
一、垂直扩展
传统意义上的垂直可扩展指的是在单节点(单实例)上,通过对存储、算力及网络三要素进行升级来获得更高的系统性能、吞吐率,以实现服务更多客户请求的业务目标。
在水平可扩展的概念被开发者与客户广泛接受前,垂直可扩
订阅专栏 解锁全文
591

被折叠的 条评论
为什么被折叠?



