您的位置:首页 > 运维架构 > 网站架构

shared nothing架构

2017-11-22 10:48 260 查看
shared noting(SN)是一种分布式计算架构。这这种架构中,每一个节点都是独立的,自给的,在系统中不存在单点竞争。更明确地说,没有节点共享存储和硬盘。人们通常将SN和大量保存中央存储状态信息的系统进行对比,无论是在数据库,应用服务器或者是其他相似的单点竞争。

SN相对中央控制架构有很大的优点。SN可以避免单点故障,拥有自我恢复能力,并且在不破坏原有系统的情况下进行升级。

SN架构的概念早于web。Michael Stonebraker1986年在加州大学伯克利分校的论文中使用到了SN这个术语。在论文找那个他提及了一些当时已经存在的NS架构的商用实现。包括Teradata在1983年发行的第一个系统和Tandem Computers在1984年发行的NonStop SQL,一个shared noting架构的数据库。

shared noting在web应用中广泛使用。原因就在于他的可扩展性。一个完全的SN系统可以通过增加廉价的计算机来实现极大的扩展,因为在系统中没有单点瓶颈去降低系统的速度。谷歌吧这种特性成为sharding。一个典型的SN系统把它的数据划分为不同的部分存储在不同节点的数据库中,并且为不用的用户和请求分配不同的节点,要求系统中的每个节点使用某种协议维护自己的应用程序数据的副本。这通常被称为数据库分片。

一个web应用有着多个web节点但是有一个单独的共享数据库是否应该被称为SN架构现在还有很多争议。一个状态型的应用通常拥有一个中央存储数据库用来保存公共的状态,这种应用要想称为SN架构就需要使用数据分片和分布式caching。即便这样,中央存储数据库仍然是一个单点故障。

shared nothing架构在数据仓库领域已经非常流行。关于无shared nothing是否优于共享磁盘,有很多争论,这两个阵营都给出了合理的论据。shared nothing架构肯定需要更长的时间来响应涉及不同分区(机器)的大型数据集的连接查询。然而,shared nothing缩放的潜力是巨大的。

以上内容翻译自维基百科,详细内容请查看维基百科:https://en.wikipedia.org/wiki/Shared_nothing_architecture
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息