7、分布式与并行数据库设计:数据分片与分配策略

分布式与并行数据库设计:数据分片与分配策略

1. 数据分片

1.1 分割算法

分割的目标是找到仅由不同查询集访问的属性集。例如,若能确定属性 A1 和 A2 仅由查询 q1 访问,属性 A3 和 A4 由查询 q2 和 q3 访问,就可轻松确定片段。关键在于找到识别这些属性组的算法。

考虑聚类属性矩阵,若固定对角线上一点,可识别出两组属性。一组 {A1, A2, …, Ai} 位于左上角(记为 TA),另一组 {Ai+1, …, An} 位于右下角(记为 TB)。

将访问属性的查询集 Q = {q1, q2, …, qq} 划分为仅访问 TA、仅访问 TB 或两者都访问的集合,定义如下:
- (AQ(qi) = {Aj|use(qi, Aj) = 1})
- (TQ = {qi|AQ(qi) \subseteq TA})
- (BQ = {qi|AQ(qi) \subseteq BA})
- (OQ = Q - {TQ \cup BQ})

这里存在一个优化问题。若关系有 n 个属性,在聚类属性矩阵对角线上有 n - 1 个可能的分割点。最佳分割点应使仅访问一个片段的总访问次数最大化,同时使访问两个片段的总访问次数最小化。为此定义以下成本方程:
- (CQ = \sum_{qi\in Q} \sum_{\forall Sj} refj(qi)accj(qi))
- (CTQ = \sum_{qi\in TQ} \sum_{\forall Sj} refj(qi)accj(qi))
- (CBQ = \sum_{qi\in BQ} \sum_{\forall Sj} re

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值