无共享体系结构 (SNA:Shared-Nothing Architecture) 是一种分布式计算体系结构,其中每个更新请求都由计算机群集中的单个节点(处理器/内存/存储单元)满足。目的是消除节点之间的争用。节点不共享(独立访问)相同的内存或存储。另一种架构是共享所有内容(Shared-Everything),其中请求由任意节点组合满足。这可能会引入争用,因为多个节点可能会同时寻求更新相同的数据。
这些术语其实首先来自数据库领域。加州大学伯克利分校的迈克尔·斯通布拉克(Michael Stonebraker)在1986年的一篇数据库论文(“The Case for Shared Nothing Architecture” ,Database Engineering)中使用了这个术语。Teradata 于 1983 年交付了第一个 SN 数据库系统。无共享和共享一切架构各有优势。DBMS供应商和行业分析师经常就此事进行辩论;例如,Microsoft 吹捧其 SQL Server 2005 与 Oracle 10g RAC 的比较。
后来,这个分布式架构,慢慢发展到了存储领域。首先体现在分布式文件存储上。
2003年,谷歌发布了GFS白皮书,采用了shared-nothing架构,解决了IBM GPFS的shared-disk带来的成本和扩展性问题,成为了存储圈shared-nothing架构的启蒙。
后来的HDFS还有无数的软件定义存储创业公司,都是参考了GFS的SN架构。
GPFS也一样,虽然1998年就推向市场,但最初只支持Shared-Disk架构,2012年才顺应潮流,开始支持Shared-Nothing架构。一般来说,Shared-Disk架构有更好的性能,但成本也更高。
从此,SN架构成为了分布式软件定义存储的标准架构,至今已经已经有20多年的历史。全球几乎所有的分布式软件定义存储,99%都是采用SN架构。
但是,2019年,一个叫VAST Data的公司,推出了业界第一款Shared-Everthing架构的全闪第二存储,支持文件和对象,号称$/GB成本比HDD还便宜,成为AI存储的一匹黑马,受到了业界的吹捧。
在2000年,VAST Data更是提出“Shared-Nothing时代的结束”的口号,让业界重新思考分布式存储的架构之争,就像20年前数据库架构之争一样。
国内的情况也一样。最近,XSKY星辰天合推出了业界首款Shared-Everything架构的分布式全闪主存储星飞XINFINI 9000,支持块和文件。国内的同行这段时间也在谈论,到底软件定义存储的经典架构Shared-Nothing时代真的结束了吗?
其实,Shared-Everything在存储圈,不是什么新事务,因为高端存储一开始就是这样的架构,现在也是。
比如Dell EMC的高端存储PowerMax最新的Dynamic Fabric架构,就是共享内存和共享NVMe SSD的shared-everything scale-out架构。
但在分布式软件定义存储领域,为什么大家都更喜欢shared-nothing架构呢?VAST Data和XSKY为什么抛弃这个经典架构,采用类似高端存储的shared-everything架构呢?
最开始我也有这样的问题,因此我收集了大量的资料,分析了业界主流的全闪存储架构,从集中式存储到分布式存储,得出了很多我自己个人的看法。西瓜哥的个人观点,虽然仅代表个人思考,但也许你也能从中得到启发。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !