
1.引言
Hadoop提供了一个基于HDFs的简单数据库HBase,它的设计思想和数据模型都与Google开发的模型简化的大规模分布式数据库BigTabIe极为相似。HBase不支持完全的关系数据模型,只为用户提供了简单的数据模型,让客户来动态控制数据的分布和格式。从数据模型角度看,HBase是一个稀疏的、长期存储的(存在硬盘上)、多维度的、排序的映射表。这张表的索引是行关键字、列关键字和时间戳。每个值是一个不解释的字符数组,用户需要自己解释存储的字串的类型和含义。这种模型具有很大的灵活性,通过仔细选择数据表示,用户可以控制数据的局部化。但是这种灵活性的代价就是不支持完全的关系数据模型,这导致传统的数据存储格式无法应用于HBase。Google自身的GFS是为网页搜索功能量身定做的,采用BigTable的简单数据模型可以以字符串形式灵活存储网页的URL、时间戳等信息。HDFS的设计完全借鉴了GFS的思想,因此从目前的版本来看,HDFS对网页搜索具有较好的支持,但是对于使用传统的关系数据模型的产品来说,HDFS并不是一个很好的选择,因为它不能提供传统的关系数据库的相关功能。如上所述,以Hadoop为例,目前的开源解决方案并不完全适用于某公司的新产品需求,因此我们需要参照现有解决方案,设计符合自身需要的新方案。
2.DDF的数据划分策略
面对大量的异构的用户数据,我们有必要对数据进行划分,以期得到更好的查询性能。
数据划分策略可分为垂直数据划分(Horizontal panition)和水平数据划分(VerticaI partition),在DDF中同时采用了这两种划分策略。垂直数据划分是按照功能划分:
(1)首先把对象数据、查询数据和其他数据划分到不同的数据表中(数据库的表)。
(2)对于对象数据,由于是按对象类型(Object type)访问的,那么我们可以进一步按照对象类型进行垂直划分,把不同类型的对象数据划分到相应的数据表中。
(3)对于查询数据,在目前的研究阶段,也将其按照对象类型进行垂直划分,存储到相应的数据表中。
另外,采用对象的全局标识(UID)的哈希值(Hash)进行水平划分,从而将对象数据划分到不同的数据节点(Datanode)的策略,需要面对数据迁移的问题,即当增加新的数据节点时,如何确保原有数据节点上的数据不进行或者尽量少进行迁移。
3.DDF的数据存储策略
DDF借鉴了HDFS的设计思想,在架构中引入了数据节点的概念,整个数据存储策略的设计理念如下。
(1)每个数据划分只可能存放在同一个数据库中,不允许一个数据划分分裂存放在多个数据库的情况出现。但是,具有相同数据对象类型的不同划分可以存放在不同的数据库中。
(2)允许不同类型的数据(如对象数据和查询数据)采用不同的划分策略。
(3)概念层次上的划分和存储层次上的数据库是一个多对多的关系,也就是说,我们甚至可以将所有的划分存放在同一个数据库内。这种极端情况同样是被允许的。
(4)当我们将一个划分指定给一个数据库时,它们的对应关系应被记录,这样在查询数据时可以定位到正确的数据库。
4.DDF的节点划分策略
DDF的节点划分策略是建立在数据划分和数据存储策略的基础之上的,节点划分策略从应用层面上描述了DDF各节点的功能。
对于收到的远程更新和查询操作的请求,调度节点必须进行分析,以判断这些操作的作用域。如果操作与当前位置的数据无关,那么这些更新和查询操作会被拒绝。数据节点则应具有以下功能:
(1)存储数据。
(2)处理索引相关的请求。
(3)处理查询请求。
(4)负责部分对查询结果进行分页的功能。
(5)创建并管理集合对象(对缓存的查询)。
(6)负责对过期数据进行处理,这包括删除与过期数据相关的对象和索引。
数据节点本身并不关心数据的位置问题,调度节点应该关心数据所处的位置。数据对象的全局标识符决定了它应该位于哪个位置。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据成为新时代“石油”的今天,几乎每个职场人都在焦虑: “为什么别人能用数据驱动决策、升职加薪,而我面对Excel表格却无从 ...
2025-10-18数据清洗是 “数据价值挖掘的前置关卡”—— 其核心目标是 “去除噪声、修正错误、规范格式”,但前提是不破坏数据的真实业务含 ...
2025-10-17在数据汇总分析中,透视表凭借灵活的字段重组能力成为核心工具,但原始透视表仅能呈现数值结果,缺乏对数据背景、异常原因或业务 ...
2025-10-17在企业管理中,“凭经验定策略” 的传统模式正逐渐失效 —— 金融机构靠 “研究员主观判断” 选股可能错失收益,电商靠 “运营拍 ...
2025-10-17在数据库日常操作中,INSERT INTO SELECT是实现 “批量数据迁移” 的核心 SQL 语句 —— 它能直接将一个表(或查询结果集)的数 ...
2025-10-16在机器学习建模中,“参数” 是决定模型效果的关键变量 —— 无论是线性回归的系数、随机森林的树深度,还是神经网络的权重,这 ...
2025-10-16在数字化浪潮中,“数据” 已从 “辅助决策的工具” 升级为 “驱动业务的核心资产”—— 电商平台靠用户行为数据优化推荐算法, ...
2025-10-16在大模型从实验室走向生产环境的过程中,“稳定性” 是决定其能否实用的关键 —— 一个在单轮测试中表现优异的模型,若在高并发 ...
2025-10-15在机器学习入门领域,“鸢尾花数据集(Iris Dataset)” 是理解 “特征值” 与 “目标值” 的最佳案例 —— 它结构清晰、维度适 ...
2025-10-15在数据驱动的业务场景中,零散的指标(如 “GMV”“复购率”)就像 “散落的零件”,无法支撑系统性决策;而科学的指标体系,则 ...
2025-10-15在神经网络模型设计中,“隐藏层层数” 是决定模型能力与效率的核心参数之一 —— 层数过少,模型可能 “欠拟合”(无法捕捉数据 ...
2025-10-14在数字化浪潮中,数据分析师已成为企业 “从数据中挖掘价值” 的核心角色 —— 他们既要能从海量数据中提取有效信息,又要能将分 ...
2025-10-14在企业数据驱动的实践中,“指标混乱” 是最常见的痛点:运营部门说 “复购率 15%”,产品部门说 “复购率 8%”,实则是两者对 ...
2025-10-14在手游行业,“次日留存率” 是衡量一款游戏生死的 “第一道关卡”—— 它不仅反映了玩家对游戏的初始接受度,更直接决定了后续 ...
2025-10-13分库分表,为何而生? 在信息技术发展的早期阶段,数据量相对较小,业务逻辑也较为简单,单库单表的数据库架构就能够满足大多数 ...
2025-10-13在企业数字化转型过程中,“数据孤岛” 是普遍面临的痛点:用户数据散落在 APP 日志、注册系统、客服记录中,订单数据分散在交易 ...
2025-10-13在数字化时代,用户的每一次行为 —— 从电商平台的 “浏览→加购→购买”,到视频 APP 的 “打开→搜索→观看→收藏”,再到银 ...
2025-10-11在机器学习建模流程中,“特征重要性分析” 是连接 “数据” 与 “业务” 的关键桥梁 —— 它不仅能帮我们筛选冗余特征、提升模 ...
2025-10-11在企业的数据体系中,未经分类的数据如同 “杂乱无章的仓库”—— 用户行为日志、订单记录、商品信息混杂存储,CDA(Certified D ...
2025-10-11在 SQL Server 数据库操作中,“数据类型转换” 是高频需求 —— 无论是将字符串格式的日期转为datetime用于筛选,还是将数值转 ...
2025-10-10