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

/

/

/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值