# 第3章 标签数据存储

在画像系统搭建的过程中,数据存储的技术选型是非常重要的一项内容,不同的存储方式适用于不同的应用场景。

# 3.1 Hive存储

# 3.1.1 Hive数据仓库

# 3.1.2 分区存储

# 3.1.3 标签汇聚

# 3.1.4 ID-MAP

ID-MApping,即把用户不同来源的身份标识通过数据手段识别为同一个主体。

# 3.2 MySQL存储

MySQL作为关系型数据库,在用户画像中可用于元数据管理、监控预警数据、结果集存储等应用中。

# 3.2.1 元数据管理

Hive适合于大数据量的批处理作业,对于量级较小的数据,MySQL具有更快的读写速度。
Web端产品读写MySQL数据库会有更快的速度,方便标签的定义、管理。

# 3.2.2 监控预警数据

# 3.2.3 结果集存储

# 3.3 HBase存储

HBase是一个高性能、列存储、可伸缩、实时读写的分布式存储系统,同样运行在HDFS之上。
与Hive不同的是,HBase能够在数据库上实时运行,而不是跑MapReduce任务,适合进行大数据的实时查询。

画像系统中每天在Hive里跑出的结果集数据可同步到HBase数据库,用于线上实时应用的场景。

# 3.3.2 应用场景

# 3.3.3 工程化案例

# 3.4 Elasticsearch存储

Elasticsearch是一个开源的分布式全文检索引擎,可以近乎实时地存储、检索数据。
而且可扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
对于用户标签查询、用户人群计算、用户群多维透视分析这类对响应时间要求较高的场景,也可以考虑选用Elasticsearch进行存储。

# 3.4.2 应用场景

# 3.4.3 工程化案例

# 3.5 本章小结