码迷,mamicode.com
首页 > 数据库 > 详细

[原]数据库中的partitioning和sharding

时间:2016-09-16 15:22:57      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

1. 如何理解定义

    在中文中,partitioning和sharding都有分区的意思。从大的方面来说,这两个词所执行的动作确实也和分区相关。partitioning在很多场合是vertical partitioning的简称,那么自然而然,sharding就是horizon partitioning了。但是此时又引入了两个名词,vertical和horizon。在什么东西上进行vertic和horizon进行操作?区别在哪里?

 

2.从一个特定点出发

    要理解vertical partitioning和horizon partitioning,那么就应该知道这是站在什么角度去区分这两个动作。显然,我们一直在讨论的是数据,那么当然就是站在数据行的角度了。

    vertical partitioning指的是将逻辑的数据行打散到多个数据行中(但是还是在同一个物理机上)。这么做的理由可以是为了性能、可用性或者可维护性。

    horizon partitioning(sharding)指的是将存储的数据分散到多个物理机上。但是每个数据行的列是相同的。这么重的理由同样可以是为了性能、可用性或者可维护性。

3.总结

        vertical partitioning是列(column)的角度去分区,而horizon partitioning是从行(row)的角度去分区。

4.引用

1.https://www.quora.com/Whats-the-difference-between-sharding-DB-tables-and-partitioning-them

2.http://stackoverflow.com/questions/20388923/database-partitioning-horizontal-vs-vertical-difference-between-normalizatio

[原]数据库中的partitioning和sharding

标签:

原文地址:http://www.cnblogs.com/navono007/p/5876439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!