分布式数据库垂直分片如何计算?

news2024/11/17 23:56:58

在复习分布式数据库这一部分时,发现垂直分片较难理解,上网上查找资料,也发现找不到,固在考试结束后将自己的理解记录下来。
垂直分片的计算总体上分为三个步骤;1、属性亲和度矩阵AA的计算;2、聚类亲和度CA矩阵的计算;3、进行划分。
话不多说,我们开始以例题为例,进行引入
在这里插入图片描述
对于上述例子,给出了查询集合Q ,属性集合A,和站点集合S。

一、AA矩阵计算:
首先我们需要知道对于每个查询q,共访问的频次。对于查询q1来说,其访问的频次为站点S1的访问频次+站点S2的访问频次+站点S3的访问频次=30。同理,我们可以知晓对于查询q2,q3,q4,q5的访问频次,用矩阵的形式表示为[q1,q2,q3,q4,q5] = [30,15,40,10,15]

之后,我们定义属性亲和度AA,结果如下。这个亲和度矩阵的原理是这样的;
我们先来看图a,在a中关注数值不为0的,对于查询q1来说,数值不为0的属性为A2,A3,A5,这三个进行两两组合,可得到的组合为(A2,A3)、(A2,A5)、(A3,A5)然后再相应的AA矩阵中对应的位置填上q1的频次。即,(A2,A3)对应的位置为30:这里注意,每个组合会填上两次,因为矩阵是对角的。
同理,对于q2来说,不为0的位置为A1,A2,A3,A5,那么所得的组合为(A1,A2)(A1,A3)(A1,A5)(A2,A3)(A2,A5)(A3,A5),同样在其对应的位置填上q2的频次,如果原位置有数值,直接相加即可。
对于每个查询q,都执行上述的步骤,即可得到下面的AA矩阵
在这里插入图片描述
上述的这种方式,计算的相对来说较慢,因为相同的还要相加。有另一种方式,比较容易快的得到。比如:在查询q1中,我们得到了一下组合:(A2,A3)、(A2,A5)、(A3,A5),对于组合(A2,A3)中,我们在图a中观察,哪个查询同时在A2和A3中有数值:可以看到是查询q1、q2、q5:所以(A2,A3)处的值应该为q1+q2+q5 = 30+15+15 = 60,可以直接的得到。同理对于(A2,A5)来说,查询q1、q2 ,所以对应的数值为30+15 = 45,因此,这种方式可以很快速的得到AA矩阵。

下面对于对角线上的值进行计算。对角线(A1,A1)的值即为所有访问A1属性的查询加和。所以(A1,A1)上的值应该为 = q2+q3+q5 = 15+40+15 = 70,同理可计算其他对角线的值。

二、聚类亲和度矩阵CA的计算
CA的计算主要可以分为以下几步:
(1)初始化:从AA中任选一列,将其放入到CA中,一般选择第一列
(2)迭代。逐一选取剩余的n-i列(i是已经放入CA的列的数目)的每一列,尝试把他们放入到CA所剩余的i+1个位置上,所选择的位置应当对前面所描述的全局亲和度度量贡献最大,继续这一步骤,直到没有在可以放置的列
(3)行排序:一旦列的顺序决定,行的放置也应当改变,使得他们的相对位置和列的相对位置匹配
以AA矩阵为基础,初始化:在AA矩阵上随机选择一列(一般选择第1列)作为CA矩阵的第一列,之后,将第两列插入到CA中,初始时,我们默认有一个0列(其数据全部为0),则第二列无论插入第一列的左边还是右边都是一样的。(这个之后我们计算cont的时候可以知晓),但是一般第二列是会插入到第一列右边的。
之后将第三列插入到1,2列的位置。那么有以下三种插入方法:0-3-1,和1-3-2
cont(A0,A3,A1) = 2(bond(A0,A3)+bond(A3,A1)-bond(A0,A1)) = 2(0+3070+6030+3070+5545) = 16950
cont(A1,A3,A2) = 2(bond(A1,A3)+bond(A3,A2)-bond(A1,A2)) = 22050
所以选择将A3插入到A1和A2中间 。
同理,在将A4插入到A1,A2,A3时,其可以插入到A1的左边、右边。A2的右边等位置。同理我们可以计算A5.注意在插入时,插入到哪两个中间,则计算这三者的cont
最终得到的CA矩阵为:
在这里插入图片描述
最后需要调整CA矩阵的行,使其和列相同 ,形成一个对角矩阵

三,划分
划分主要是在CA矩阵的基础上,以对角线进行划分属性。如下图的这种形式所示

在这里插入图片描述

以CA矩阵为基础,
当n=1时,TA = {A4},BA = {A1,A2,A3,A5}
TQ为空,BQ={q1,q2,q4,q5},OQ= {q3},其中TQ是查询中仅仅只访问TA的,BQ是查询中仅仅访问BA的,OQ是查询中既访问TA集合又访问BA集合的。
同理当n=2时,TA = {A4,A1},BA = {A2,A3,A5}
TQ为空,BQ={q1,q4},OQ= {q2,q3,q5}
当n=3时,TA = {A4,A1,A5},BA = {A2,A3}
TQ为{q3},BQ={q4},OQ= {q1,q2,q5}
当n=4时,TA = {A4,A1,A5,A3},BA = {A2}
TQ为{q3,q4},BQ为空,OQ= {q1,q2,q5}
Z = CTQCBQ -COQ2,其中CTQ为ref(qk)的值乘以TQ集合的所有查询的频次相加
根据这个公式,我们可以计算相应的
Z1 = 1
0*(30+15+10+15)-40的平方 =-1600,这是因为TQ为空
同理可以计算Z2 = -4900,Z3=-3200,Z4=-3600
所以划分点n=1出,由于主键是A1,所以属性的划分为:
F={R1,R2}
R1= {A1,A4}
R2={A1,A2,A3,A5}

至此,垂直分片属性划分已完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1858825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“了解MySQL中的enum枚举数据类型“

目录 # 开篇 1. 创建包含枚举类型的表 2. 插入枚举类型的数据 3. 查询包含枚举类型的表 4. 更新枚举类型的数据 5. 使用枚举类型的好处 注意事项 示例总结 附加 # 开篇 在数据库中,枚举(ENUM)是一种数据类型,用于存储一组…

vue3 运用高德地图 自定义弹框 为信息窗体 添加 new AMaps.value.InfoWindow 添加事件

效果图 划过散点的时候出现每个三点位置的数据提示 点击具体散点获取展示信息弹框,并为其添加点击事件 注意点: 1 即使是用的vue,也不能使用click为窗体添加点击事件,需要使用onclick, (原因&#xff1a…

Android 13 创建静态快捷方式shortcuts

参考 创建快捷方式 原生系统上&#xff0c;长按应用图标显示快捷方式&#xff0c;点击快捷方式就打开应用的某个页面。 给自己的应用也加一下。 1.清单文件添加 在应用的主页面添加如下&#xff0c;shortcuts 就是要配置的文件。 <meta-dataandroid:name"android.…

01 Swift 基础语法(变量,常量,注释,整数,浮点数,元组)

Swift 介绍 Swift 是一门用于开发 iOS、macOS、watchOS 和 tvOS 应用的新编程语言。它以安全、快速和互动的特点而著称。Swift 提供了代码预览&#xff08;playgrounds&#xff09;功能&#xff0c;使程序员可以在不编译和运行应用程序的情况下&#xff0c;实时运行 Swift 代码…

多模态-大模型:MLLM综述(适用初学)

文章目录 前言一、多模态模型基础知识二、多模态指令调优&#xff08;M-IT&#xff09;1.MLLM基础2.模态对齐3.数据获取4.模态桥接 三、多模态上下文学习&#xff08;M-ICL&#xff09;三、多模态思维链 (M-CoT)四、LLM辅助视觉推理1.训练范式2. LLM功能 五、一些思考总结 前言…

索引的分类和回表查询——Java全栈知识(29)

索引的分类和回表查询 Mysql 的索引按照类型可以分为以下几类&#xff0c;但是我们使用的 InnoDB 只支持主键索引&#xff0c;唯一索引&#xff0c;普通索引&#xff0c;并不支持全文索引。 1、聚集索引和二级索引 InnoDB 可以将索引分为两类分别是聚集索引和二级索引&…

模板匹配算法:基于模板相关性匹配的手写数字识别

1 前言 得益于硬件技术的发展&#xff0c;基于深度学习的各种识别方法如火如荼&#xff0c;在各种应用场景中都取得很好的效果。本人入行深度学习领域若干年&#xff0c;做过很多项目的工程化评估&#xff0c;对于神经网络是如何工作的也解释不清楚&#xff0c;只是知道这样做是…

如何借用物联网快速实现高标准农田信息化

如何借用物联网快速实现高标准农田信息化 高标准农田信息化&#xff0c;作为现代农业发展的重要基石&#xff0c;是指在建设高产、稳产、节水、环保的农田基础上&#xff0c;深度融合现代信息技术&#xff0c;实现农田管理的精准化、智能化和高效化。物联网&#xff08;Intern…

[Angew]:调整单原子 Pt1/CeO2催化剂中铂的局部环境以实现稳定的低温 CO 氧化

通过热冲击合成调整孤立 Pt2+的局部环境,开发出一种用于 CO 氧化的高活性和坚固的单原子 Pt1/CeO2催化剂(见图)。惰性气氛中的超快冲击波在非对称 Pt1O4结构中产生 Pt 单原子,从而大大增强了低温活性,并且在氧化条件下仍能保持活性。 摘要:通过原子捕获(AT,800C空气中…

pycharm在pytorch环境的使用

前言 有时我们使用jupyter感觉不习惯&#xff0c;想使用编译器进行相关任务。在安装好pytorch环境下&#xff0c;我们可以使用pycharm等编译器进行完成任务等操作。 安装pycharm不做赘述。配置安装好pytorch环境可以参考我前一篇博客&#xff1a; 深度学习工具jupyter创建并检…

基于Java考研助手网站设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

海南聚广众达电子商务咨询有限公司抖音开店怎么样?

在数字化浪潮汹涌的当下&#xff0c;电商行业正迎来前所未有的发展机遇。作为抖音电商服务领域的佼佼者&#xff0c;海南聚广众达电子商务咨询有限公司凭借其专业的服务团队和前瞻的战略眼光&#xff0c;成为了众多品牌和商家在抖音平台上实现业务增长的重要合作伙伴。今天&…

毫米波移动通信系统中的波束赋形—模数混合的波束赋形架构

模数混合的波束赋形将波束赋形分为了模拟波束赋形与数字波束赋形两部分&#xff0c;其模拟部分通过移相器实现&#xff0c;数字部分通过基带预编码实现&#xff0c;&#xff0c;其结构如图2所示。当射频链路数目NRF为1时&#xff0c;认为其是一种特殊的模数混合的波束赋形。 此…

linux企业级CDN/100万并发架构设计/企业故障案例、网站优化架构原则

高薪思想&#xff1a;财富来源于信息差 什么是cdn&#xff1f; cdn全称是contenct delivery network内容分发网络 cdn是一套分布式&#xff0c;缓存&#xff0c;集群&#xff0c;范围可以是全球或全国&#xff0c;运行的实质是通过智能DNS获取用户的来源地域以及上网线路 为…

perfect-scrollbar缩小浏览器窗口滚动条无线滚动的bug

https://github.com/mdbootstrap/perfect-scrollbar/issues/153

【tcomat】聊聊tomcat是如何打破双亲委派模型进行类加载的

双亲委派模型 对于JVM类加载器来说&#xff0c;其实就是如下的code&#xff0c;JDK提供的三个类加载器&#xff0c;每个类加载器都加载自己范围内的类。Boot\EXT\APP 三个。双亲委派一句话就是&#xff0c;先让老爸处理&#xff0c;老爸处理不了&#xff0c;给爷爷。爷爷处理不…

java数据结构-链表经典习题

前言 上一篇讲解了链表的基本操作详解&#xff0c;接下来练习一下链表的应用。 目录 1.删除链表中等于给定值 val 的所有节点。 题解思路 2.反转一个单链表 思路分析 画图分析 代码实现 3.链表的中间结点 思路分析 画图分析 代码实现 4.链表中倒数最后k个结点 第一解决…

IPV6典型实验

实验要求&#xff1a; 1、R1和R2之间使用静态IPV6地址互联 2、R2作为DHCPIPV6服务器给R3分配全球单薄地址 3、R4接口通过R2的RA进行无状态地址自动分配 4、配置静态路由&#xff0c;实现设备直接互访。 R1&#xff1a; ipv6 #系统视图使设备能够处理IPV6报文 interface Gigabi…

《好内容成就好商单—巨量星图内容洞察全量培训课件》

本报告详细阐述了如何通过优质内容挖掘商业机会,包括平台升级规划、内容营销新机、如何做好内容以及怎么选对达人等关键议题。报告中深入分析了抖音内容生态的繁荣,以及如何利用巨量星图平台进行内容洞察和达人选择,以实现高效种草和转化。报告还介绍了多种选人方式和热点洞察工…

《2024年战略管理趋势报告》

本报告由Quantive发布。 《2024年战略管理趋势报告》这份报告深刻剖析了企业在策略管理上的当前状态、面临的挑战以及未来发展的趋势。报告指出,大多数组织在迅速适应市场变化方面存在困难,并且许多企业未能实现其战略目标,显示出策略制定与执行之间存在脱节。报告中不仅强调了…