share-everything and share-nothing原理区别

(1)        Sharding:某个表从物理存储上被水平分割,并分配给多台服务器(或多个实例),每台服务器可以独立工作,具备共同的schema,比如MySQL ProxyGoogle的各种架构,只需增加服务器数就可以增加处理能力和容量。(scale out

(2)        Horizontal Partition:管理某个表数据一台服务器(或一个实例)将数据水平分割为多个部分,分别加以管理,便于减小索引的size,以及加速查询,这个方面可能各种商业数据库都是这么干的,如RAC

(3)        Share Nothing:这个是从服务(实例)的角度来定义的,即数据库服务器(或者实例)之间不共享任何和存储相关的部分,我感觉这个架构多指数据仓库。Teradata是真正SN,而DB2据说是共享内存的。另外,即便是share nothing,实际上也是有共享的元数据库服务器

分清楚上述概念则可以推知:

l  Sharding的系统是Share Nothing架构,因为里面的各项数据都不共享。元数据除外

posted @ 2013-01-10 15:46  596448745  阅读(1079)  评论(0编辑  收藏  举报