目录
数据存储与操作包含对存储数据的设计、实施与支持,最大化实现数据资源的价值,贯穿于数据创建/获取到处置的整个生命周期。
数据存储与操作包含两个子活动:数据库操作支持以及数据库技术支持。
数据库管理员DBA在数据存储和操作上述两方面中都扮演着重要的角色。DBA整个角色是数据专业中最常见,也是最被广泛接纳的角色。数据库管理实践可能也是数据管理实践领域最成熟的。在数据安全方面,DBA也同样发挥着主导作用。
节点:一台单独的计算机作为分布式数据库处理数据或者存储数据的一个部分。
DBA为开发环境、测试环境、QA环境及其他特殊数据库环境包括生产环境提供支持。
数据库处理有两种基本类型:ACID 和 BASE。ACID (英文中有“酸”的意思) ,BASE (英文中有“碱”的意思) 是 pH 酸碱度范围对立的两端,因此这个巧合的命名对于理解它们也有所帮助。CAP 定理用于界定分布式系统与ACID (强调一致性 C) 还是与 BASE (强调可用性 A) 更加接近。
主要使用在大数据环境中。
生产环境、非生产环境(开发环境、测试环境)、数据沙盒或实验环境。
测试环境通常用于:
测试环境一般就是1 -》 N,是已有的系统来测试;而沙盒是0 -》 1,是从 0 开始的。
层次型数据库、关系型数据库(多维数据库、时态数据库)、非关系型数据库(列式数据库、空间数据库、对象/多媒体数据库、平面文件数据库、键值对、三元组存储)。
这块在实际项目中,其实我感觉没有明显界限,举一些和这个有些关联的内容。
字段数据类型慎用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 |
根据实际需求,其衍生加工数据字段可以按以下标准执行:
表类型不使用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年 | / | / | / |