• 7(第六章,数据存储和操作)


    目录

    概述

    基本概念

    数据处理类型

    ACID

    BASE

    数据库环境

    数据库组织类型

    其他

    字段类型使用规范

    Hive字段类型使用规范示例

    Hive表类型规范示例

    表限制规范

    数据分区规范

    存储周期设计


    概述

    数据存储与操作包含对存储数据的设计、实施与支持,最大化实现数据资源的价值,贯穿于数据创建/获取到处置的整个生命周期。
    数据存储与操作包含两个子活动:数据库操作支持以及数据库技术支持
    数据库管理员DBA在数据存储和操作上述两方面中都扮演着重要的角色。DBA整个角色是数据专业中最常见,也是最被广泛接纳的角色。数据库管理实践可能也是数据管理实践领域最成熟的。在数据安全方面,DBA也同样发挥着主导作用。

    基本概念

    节点:一台单独的计算机作为分布式数据库处理数据或者存储数据的一个部分。

    DBA为开发环境、测试环境、QA环境及其他特殊数据库环境包括生产环境提供支持。

    数据处理类型

    数据库处理有两种基本类型:ACID 和 BASE。ACID (英文中有“酸”的意思) ,BASE (英文中有“碱”的意思) 是 pH 酸碱度范围对立的两端,因此这个巧合的命名对于理解它们也有所帮助。CAP 定理用于界定分布式系统与ACID (强调一致性 C) 还是与 BASE (强调可用性 A) 更加接近。

    ACID

    BASE

    主要使用在大数据环境中。

    数据库环境

    生产环境、非生产环境(开发环境、测试环境)、数据沙盒或实验环境。

    测试环境通常用于:

    • 质量保证测试(QA);
    • 集成测试;
    • 用户验收测试(UAT);
    • 性能测试。

    测试环境一般就是1 -》 N,是已有的系统来测试;而沙盒是0 -》 1,是从 0 开始的。

    数据库组织类型

    层次型数据库、关系型数据库(多维数据库、时态数据库)、非关系型数据库(列式数据库、空间数据库、对象/多媒体数据库、平面文件数据库、键值对、三元组存储)。

    其他

    这块在实际项目中,其实我感觉没有明显界限,举一些和这个有些关联的内容。

    字段类型使用规范

    Hive字段类型使用规范示例

    字段数据类型慎用binary、timestamp、date、array、map、struct、union等。不建议使用Hive特殊和复杂的字段数据类型。

    数据精确的场景不建议使用float、double数据类型,可使用decimal数据类型,round等函数对double类型字段的处理结果不一定是准确的四舍五入结果。

    不建议使用timestamp、date数据类型,可用string替代,因为它们在不同的查询引擎上,存储类型有不同的表现。

    常用字段数据类型如下表所示:

    类型

    描述

    示例

    INT

    4字节(32位)有符号整数。

    1000,-20000

    BIGINT

    8字节(64位)有符号整数。

    10000000000,-10000

    DECIMAL

    10进制任意精度的带符号小数。

    3.141592

    STRING

    字符串,变长。可以使用单引号或者双引号。

    中华人民共和国

    BOOLEAN

    布尔类型true/false。

    true/false

    根据实际需求,其衍生加工数据字段可以按以下标准执行:

    • 1. 金额、重量、体积、比率及其它小数点数据,使用DECIMAL类型,建议统一使用DECIMAL(38,6)。
    • 2. 字符类数据,使用STRING类型。
    • 3. 件数、人数等整型数据,使用INT类型。
    • 4. 状态、标识使用STRING类型。
    • 5. 自增编号等长整型数据,使用BIGINT类型。
    • 6. “是否”使用STRING类型。

    Hive表类型规范示例

    表类型不使用tempporary类型,tempporary是session级的临时表,即当前连接关闭后会自动回收,HIVE作为大规模分析系统,session丢失风险较高,不建议使用。

    表限制规范

    限制名称

    限制类型

    最大值

    表名长度

    长度限制

    64字节

    字段长度

    长度限制

    64字节

    注释长度

    长度限制

    1024字节

    表的列定义

    数量限制

    1000个字段

    单表分区数

    数量限制

    60000个分区

    表的分区层级

    数量限制

    6级

    数据分区规范

    单张表数据量达到20MB,考虑使用分区方案。

    针对有分区需求的表,按照日期字段进行分区,分区表中应该设计分区字段,分区字段按照批次YYYYMMDD进行分区,一天一个分区。

    在ETL脚本中做数据加工应该增加分区字段的条件,且在加工脚本前面需要新增当前分区,若当前分区已存在,需要删除重建分区。

    日期分区字段:dtime(YYYYMMDD)。

    存储周期设计

    数仓层名

    类型

    P0

    P1

    P2

    P3

    ODS

    事件型流水表(增量表)

    永久保留

    3

    365

    180

    事件型流水表(增量表)

    永久保留

    3

    365

    180

    维表(全量表)

    33天+极限存储

    33天+极限存储

    33天+极限存储

    33天+极限存储

    Merge 全量表

    2

    2

    2

    2

    普通全量表

    3

    3

    3

    3

    新同步全量表

    3

    3

    3

    3

    DWD

    事件型流水表(增量表)

    永久保留

    3

    365

    180

    事件型流水表(增量表)

    永久保留

    3

    365

    180

    维表(全量表)

    33天+极限存储

    33天+极限存储

    33天+极限存储

    33天+极限存储

    普通全量表

    3

    365

    365

    180

    DWS

    各粒度数据

    永久保留

    3

    3

    3

    临时存储区

    ETL临时表

    7

    3

    3

    3

    TT临时表

    7

    7

    7

    7

    应用层

    运营报表

    永久保留

    /

    /

    /

    对外数据

    7

    /

    /

    /

    内部产品

    3

    /

    /

    /

  • 相关阅读:
    集合练习题
    @Transactional千万不要这样用!!踩坑了你都可能发现不了!!!
    RK3568开发笔记(十一):开发版buildroot固件移植一个ffmpeg播放rtsp的播放器Demo
    外星人Alienware m16R1 原厂Windows11系统 oem系统
    k8s集群中流水线部署微服务
    【每日一题】ABC194E-Mex Min | 思维 | 树状数组二分 | 中等
    pdf如何让多张图片在一页
    CMT2300A超低功耗127-1020MHz Sub-1GHz全频段SUB-1G 射频收发芯片
    Linux系统编程系列之进程间通信-信号量组
    实用工具系列 - FileZilla安装下载与使用
  • 原文地址:https://blog.csdn.net/qq_30168227/article/details/138168643