Partitioning分為兩種,一種是橫向Partitioning,而另一種是縱向。橫向相當于把整個表按照列來分開,然后用主鍵來配對。比如說表格里有序號、姓名、電話、住址,我們把序號+姓名做成一張表,然后把序號+電話+住址做成另外一張表,序號作為主鍵相互關聯(lián)??v向Partitioning是指,把表格按照行來分開,,比如第一張表存的是張三李四,第二張表開始存王二麻子數(shù)據,表頭都是保持不變的。
Sharding和縱向partitioning有點像,不過區(qū)別在于做的更完備,會把數(shù)據進行分區(qū),通過哈希的方式,每次存數(shù)據的時候,數(shù)據就知道自動存在哪兒了。比如說,把姓名按照二十四個字母來sharding,然后A-E進入一個分區(qū)E-J進入另外一個分區(qū)等。另外,Cassandra這種分布式數(shù)據庫里會有更加完備的分區(qū)方式,可以好好參考。