Hunter的大杂烩 技术学习笔记

July 15, 2008

分区 vs 联邦 vs shard

Filed under: 架构 — hunter @ 10:57 pm

from: http://lethargy.org/~jesus/archives/95-Partitioning-vs.-Federation-vs.-Sharding.html
A partition is a structure that divides a space into two parts.
分区是指将一个数据结构在空间上存储为多个部分;
A federation is a set of things (usually states or regions) that together compose a

centralized unit but each individually maintains some aspect of autonomy.
联邦指的是若干个数据库各自根据需要保存不同的信息,并组成统一的对外平台。每个存储单位
是独立的。
Federation 顾名思义,更多的是不同类型数据的部署方案,比如付费用户和非付费用户的存储
集群;
Partition 是一个更加广泛的词汇,Federation 也可称为一种partition。通常人们认为partion是
将一个大表按各种维度进行拆分,实际上partion还可以跨越不同机器。
“Some partitioning schemes require mapping questions across many nodes and some partitioning

schemes provide a priori knowledge about which components hold what data allowing more

targeted questioning.”
针对partition分布的数据访问模式,有类似google map-reduce的boardcast类访问,也有
针对根据数据分布进行目标访问模式
两种模式各有优劣,如何选择是需要根据你的数据特点来决定;
作者认为sharding这个词汇是无聊的人故意创造的,其实本质就是partition

================================================

作者把partition的意义做了放大,从现在的资料来看,一般大家会认为数据在单机内的分区是partition,数据除了在单机内分区还需要跨服务器分布的是sharding 。

在实际应用中 federation 和sharding是结合使用的,比如ebay架构中,将数据库分为了user/item/account等等

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress