在大数据应用开发的流程中我们将原始大数据经过清洗、抽取、转换之后,需要将转换后的大数据存入大数据管理系统中。为了能够高效地查询和分析转换之后的大数据,应用开发人员需要设计大数据的物理存储结构。大数据库设计与传统的数据库设计步骤相同,大数据库也采用自顶向下、逐步求精的设计原则:

一、顶层设计

大数据管理系统支持多种大数据物理存储结构,需要根据应用需求,为转换之后的大数据选择相应的物理存储结构。选择物理存储结构时需要考虑的因素如下:

(一)数据存储格式∶大数据管理系统通常支持多种文件格式和压缩格式

(二)数据模式设计∶多数大数据管理系统,如Hadoop生态系统具有无模式的特性,在数据存储进分布式系统时,仍然要考虑数据结构,目录结构以及数据处理和分析导出的结果。

(三)元数据管理∶在数据管理系统中,元数据和数据一样重要。

二、数据存储格式

在分布式系统上搭建架构时,最基本的考量是数据如何存储。而在分布式系统中没有标准的数据存储格式,但就像使用标准文件系统一样,分布式系统允许数据以任何格式存储,例如文本、二进制或图像等其他的格式。分布式系统还内置了对数据存储和处理的优化设置,可以选择多种数据存储形式,优化设置不仅可用于原始数据的获取,还可以应用在处理数据时产生的中间值,以及数据处理后的结果数据,主要注意:文件格式、数据压缩。

三、数据模式设计

与统的关系数据库系统采用的写时模式(schema-on-write)即当数据写入大数据管理系统时检查数据模式不同,大数据管理系统普遍采用读时模式(schema-on-read),即数据写入时不进行验证而在数据读取时检查数据模式,数据可以通过许多方法简单地导入大数据管理系统中。由于大数据管理系统经常存储非结构数据和半结构数据,所以普遍以数据文件为核心组织数据。

四、元数据管理

大数据管理系统中常见的元数据类型:

(一)和逻辑数据集相关的元数据∶这类元数据记录数据集存储的位置信息、和数据集关联的模式信息、数据集的分区和排序信息,还有数据集的格式。它通常存储在单独的数据库中。

(二)和分布式文件系统有关的元数据∶这类元数据记录文件和多种数据节点的权限和拥有权,它由分布式系统主节点存储和管理。

(三)和分布式存储系统相关的元数据∶这类元数据记录列表的表名、数据属性等。它通常由分布式存储系统存储和管理。

(四)和数据获取、转换有关的元数据∶这类元数据记录数据使用者产生的数据集、数据集的来源、产生数据集的时间、数据集的规模等信息。

(五)和数据集统计有关的元数据∶这类元数据记录数据集的行数量、列的不同属性值数量、数据分布的直方图、数据最大最小值。这类元数据可以充分加快数据分析性能,优化执行程序。

五、元数据存储

在前面分布式文件系统设计中我们已经讨论过将元数据嵌入到文件路径上,方便管理和数据一致性。对元数据进行存储、维护和管理,可以选择使用类似 Kite的方式存储元数据,Kite 支持提供多份元数据,可以将元数据存储到其他系统中,轻松地将元数据从一个源转换到另一个源。

数据建模在任何系统中都是一项富有挑战性的任务,而在分布式系统中,由于存在着大量可选方式,其挑战性更大。数据处理可选的方式越多,分布式系统灵活性越强。选择合适的数据模型将会给数据处理带来很大改善。例如减少存储空间,改善处理时间,使得权限管理更为便利,提供更简单的元数据管理。

大数据的数据库设计原则有哪些相关推荐

  1. 大数据量数据库设计与优化方案

    一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. ...

  2. MYSQL数据库设计原则

    一.MYSQL数据库设计原则 1.核心原则 不在数据库做运算; cpu计算务必移至业务层; 控制列数量(字段少而精,字段数建议在20以内); 平衡范式与冗余(效率优先:往往牺牲范式) 拒绝3B(拒绝大 ...

  3. 数据库设计原则:应该使用软删除吗?

    在数据库设计中,当删除一条记录的时候,是加一个标记位还是直接删除这一行? 物理删除:真删除,数据消失. 逻辑删除:假删除,数据存在,只是用一个字段来标记该条数据"已删除". 参考了 ...

  4. 数据库设计原则与开发规范,你知道多少?

    VOL 187 21 2020-12 今天距2021年11天 这是ITester软件测试小栈第187次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周早上 08:30准 ...

  5. 浅谈大数据平台架构设计

    全文共3735个字,建议8分钟阅读 近年来,随着IT技术与大数据.机器学习.算法方向的不断发展,越来越多的企业都意识到了数据存在的价值,将数据作为自身宝贵的资产进行管理,利用大数据和机器学习能力去挖掘 ...

  6. 数据库设计(二)——数据库设计原则

    一.数据库表的设计原则 1.不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计:不同组件间所对应的数据库表之间的关联应尽可能减少,如果不 ...

  7. 常见的大数据平台架构设计思路

    近年来,随着IT技术与大数据.机器学习.算法方向的不断发展,越来越多的企业都意识到了数据存在的价值,将数据作为自身宝贵的资产进行管理,利用大数据和机器学习能力去挖掘.识别.利用数据资产.如果缺乏有效的 ...

  8. 数据库设计原则和优化

    数据库设计原则: 1. 原始单据与实体之间的关系  可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.  在特殊情况下,它们可能是一对多或多对一 ...

  9. 大数据平台架构设计探究

    本文首发于 vivo互联网技术 微信公众号  链接:https://mp.weixin.qq.com/s/npRRRDqNUHNjbybliFxOxA 作者:刘延江 近年来,随着IT技术与大数据.机器 ...

最新文章

  1. java 调用mysql存储过程
  2. 转:eclipse Failed to load JavaHL Library.
  3. 在android C/C++ native编程(ndk)中使用logcat
  4. 关于四金计算和工资对照表
  5. Cloud for Customer里的使用的一个第三方js库,用于gzip处理
  6. 讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当 new 的时候, 他们的执行顺序
  7. Android官方开发文档Training系列课程中文版:Activity测试之创建单元测试
  8. mysql sql 备份数据_mysql怎么进行数据库备份和还原,以及自动备份
  9. Kafka : FileNotFoundException索引文件丢失 xxx.index (No such file or directory)
  10. php 跨域 验证_php 前后端分离开发进行跨域请求时ajax发送验证参数token的header头解决方法...
  11. mysql字段加密存储过程_数据库:加密存储过程
  12. DGIOT国内首家轻量级物联网开源平台——真实电表接入实战教程
  13. 服务器虚拟化发展的趋势,2013年服务器虚拟化九大发展趋势
  14. mongo分片集群部署
  15. css中的单位换算_CSS中各种长度单位总结
  16. Revit二次开发入门相关安装和配置
  17. 《SysML精粹》学习记录--第一章
  18. ncist网络空间安全专业护网方向认知实习笔记2021.12 DAY2.1
  19. Android Studio Build Output控制台输出乱码解决
  20. 计算机运算和控制核心的简称,计算机的核心是什么

热门文章

  1. 【java获取日期的年月日】
  2. object mapping for [details] tried to parse field [details] as object, but found concrete value
  3. 技术资源:国内知名技术网站网址
  4. 转战物联网·基础篇01-物联网之我见
  5. JavaScript|表格隔行变色(可作模板copy)
  6. 机器学习、深度学习中常用的优化算法详解——梯度下降法、牛顿法、共轭梯度法
  7. 2010年西北工业大学机试第二题
  8. latex数学公式编写(一):latex矩阵编写
  9. 物联网卡应用在哪些方面
  10. 【操作系统】操作系统