大工程 从0到1 数据治理 数仓篇(sample database classicmodels _No.7)

2024-02-23 01:44

本文主要是介绍大工程 从0到1 数据治理 数仓篇(sample database classicmodels _No.7),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大工程 从0到1 数据治理 之数仓篇

我这里还是sample database classicmodels为案列,可以下载,我看 网上还没有类似的 案列,那就 从 0-1开始吧!

在这里插入图片描述


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 大工程 从0到1 数据治理 之数仓篇
  • 什么是数仓?
  • 企业为什么要建数仓?
  • 建数仓的数据库选型
    • 关系型数据库:
    • 列式数据库:
    • 分布式数据库:
    • 云数据库服务:
    • Mpp数据库:
  • 数仓的备份
    • 全量备份:
    • 增量备份:
    • 定期备份计划:
    • 分层备份:
    • 异地备份:
    • 压缩和加密:
    • 测试恢复流程:
    • 日志备份:
    • 监控和报警:
  • TB级数仓的硬件配置
    • [clickhouse -data warehouse](https://clickhouse.com/blog/building-a-data-warehouse-with-clickhouse) ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/164dd33ee4c640d6acad0aa3590b2cfc.png)


什么是数仓?

数仓是指数据仓库的简称(Data Warehouse)。数据仓库是一个用于集中存储和管理大量结构化和非结构化数据的系统。它的目标是帮助组织更好地理解和分析其数据,支持决策和业务运营或者说是 支持企业在决策和分析方面的需求,提供可靠、一致、高性能的数据存储和访问。

以通俗易懂的方式来说,你可以把数据仓库比喻为一个大型的数据存储仓库,就像企业中的“数据中心”。这个仓库里存放着各种各样的数据,包括销售数据、客户信息、交易记录等等,这些数据来自企业内部的不同部门和系统。

数仓的主要功能是将这些分散的数据整合在一起,清理和转换成可分析的格式,使企业管理层和决策者能够更轻松地查看、理解和利用这些信息。通过数仓,企业可以进行更有效的业务分析、趋势预测、决策制定,从而提升业务的智能化和竞争力。

数仓的优势包括:

  • 决策支持: 提供高性能的查询和报表功能,帮助企业领导和分析师做出更好的决策。
  • 数据一致性: 集中存储数据,确保数据的一致性和准确性。
  • 历史数据追溯: 可以存储历史数据,支持时间序列分析和趋势观察。
  • 数据整合: 整合来自不同业务系统的数据,提供一个全面的视图。
  • 总的来说,数据仓库在企业中扮演着重要角色,帮助组织更好地理解和利用其数据资产。

数仓通常从不同的业务系统中汇总数据,将其清洗、转换、加载(ETL)到一个统一的存储库中,以便用户可以执行复杂的查询和分析。数据仓库的设计通常遵循维度建模的原则,其中数据被组织成事实表和维度表,以支持多维分析。

企业为什么要建数仓?

企业建立数据仓库(Data Warehouse)有多个重要原因,其中一些主要的包括:

集中数据存储: 数据仓库提供一个集中存储和管理企业内部和外部数据的地方。这使得数据更容易访问、管理和维护,有助于确保数据的一致性和准确性。

支持决策制定: 数据仓库能够整合不同来源的数据,提供更全面、准确的信息,帮助企业管理层做出更明智的战略和战术决策。通过分析历史数据和当前趋势,企业能更好地了解市场、客户、业务运营等方面的情况。

提高数据质量: 数据仓库通常包括数据清洗、转换和加载(ETL)过程,通过这些过程,可以提高数据的质量,确保数据的一致性和准确性。这有助于避免在决策中因为数据质量问题而导致的错误。

支持业务智能和分析: 数据仓库是业务智能和分析的基础。通过对数据仓库中的数据进行查询和分析,企业可以获取深刻的见解,发现潜在的模式和趋势,帮助业务更好地了解市场、客户需求和业务绩效。

满足合规性要求: 数据仓库的建立可以有助于满足法规和合规性方面的要求。通过确保数据的一致性和准确性,企业能够更容易地满足监管机构的规定。

支持大数据处理: 随着大数据的崛起,企业需要处理和分析海量的数据。数据仓库提供了一种结构化的方法,帮助企业有效地管理和分析大规模数据集。

促进数据驱动文化: 数据仓库可以促进数据驱动的企业文化。通过使数据更易于访问和理解,员工更有可能使用数据支持其决策和行动。

总的来说,建立数据仓库有助于企业更好地管理、分析和利用数据资源,从而提高决策的准确性和效率,推动业务的发展。

建数仓的数据库选型

关系型数据库:

Oracle Database: Oracle是一种强大的关系型数据库管理系统,广泛用于大型企业和复杂的数据仓库环境。
Microsoft SQL Server: SQL Server是微软推出的关系型数据库管理系统,适用于Windows环境,并提供强大的商业智能和分析功能。
MySQL: MySQL是一种开源的关系型数据库,适用于中小型企业的数据仓库建设。

列式数据库:

Greenplum: Greenplum是一种基于开源的列式数据库,专注于大规模数据仓库和分析场景。
ClickHouse: ClickHouse是俄罗斯的一种列式数据库,以其高性能和可扩展性而闻名。

分布式数据库:

Hadoop和Hive: 使用Hadoop作为分布式存储,结合Hive进行数据仓库查询。这适用于大规模的数据分析和处理。
Spark SQL: 基于Apache Spark的分布式数据库,适用于大规模数据处理和复杂分析。
NoSQL数据库:
MongoDB: MongoDB是一种面向文档的NoSQL数据库,适用于半结构化数据和灵活的数据模型。
Cassandra: Cassandra是一种分布式的NoSQL数据库,适用于具有高可扩展性和高可用性需求的场景。
还有

云数据库服务:

阿里云 AnalyticDB: 阿里云的AnalyticDB是一种云上数据仓库服务,具有高性能、弹性扩展和集成大数据处理的特点。
腾讯云 ClickHouse: 腾讯云提供的ClickHouse服务,可以方便地在云上搭建基于列式存储的数据仓库。

Mpp数据库:

StarRocks 和 Doris:
StarRocks 和 Doris 都是分布式的实时分析数据库,属于MPP(Massively Parallel Processing)架构的一种。它们的设计目标是支持大规模数据存储和分析,特别适用于OLAP(Online Analytical Processing)场景,即面向复杂查询和分析的工作负载。

中国的一些MPP(Massively Parallel Processing)数据库包括:

OceanBase:
OceanBase是由阿里巴巴开发的分布式数据库系统。它支持水平扩展和MPP处理,用于应对大规模数据存储和处理需求。OceanBase不仅支持事务型工作负载,还能够处理大量的分析型查询。

TencentDB:
腾讯云的数据库服务TencentDB(原腾讯云分布式数据库TDSQL)具有分布式架构和MPP处理能力,适用于OLAP和OLTP场景。它提供了MySQL、PostgreSQL和SQL Server等不同引擎的版本。

Huawei GaussDB:
华为的GaussDB是一款分布式数据库产品,支持MPP处理,适用于海量数据的存储和分析。它支持多模型数据库,包括关系型、时序型、图形型等。

数仓的备份

数据仓库的备份是保障数据安全、可用性和完整性的关键步骤。备份策略应该根据业务需求、数据重要性和恢复时间目标(Recovery Time Objective, RTO)等因素进行制定。以下是关于数据仓库备份的一些建议:

全量备份:

定期进行全量备份是数据仓库备份策略的基础。全量备份包含整个数据库的数据,是恢复数据的基础。

增量备份:

为减少备份时间和存储成本,可以考虑增量备份。增量备份只备份自上次备份以来发生变化的数据,节省存储空间和备份时间。

定期备份计划:

制定定期的备份计划,根据业务需求和数据变化频率来决定备份的频率。一般来说,每日全量备份和更频繁的增量备份是常见的做法。

分层备份:

根据数据仓库的不同层次,可以考虑采用分层备份策略。比如,可以对ODS层和DWD层采用不同的备份频率和保留期限,根据数据变更的频率和重要性进行调整。

异地备份:

将备份数据存储在与数据仓库主体不同的物理位置,以防止因自然灾害、硬件故障等原因导致的数据丢失。云存储服务也是一个常见的异地备份选择。

压缩和加密:

在备份数据时,可以考虑对备份文件进行压缩,以节省存储空间。同时,对备份数据进行加密有助于确保备份文件的安全性。

测试恢复流程:

定期测试备份的恢复过程,以确保备份数据的完整性和可用性。这可以在面临真实灾难时提高数据恢复的成功率。

日志备份:

在数据库支持的情况下,进行事务日志的备份,以支持点时间恢复(Point-in-Time Recovery)。这可以减小数据丢失的范围。

监控和报警:

设置备份任务的监控和报警机制,及时发现备份失败、存储空间不足等问题,确保备份任务按计划执行。
备份是数据管理中至关重要的一环,一个健全的备份策略有助于最小化数据丢失、确保系统可用性,并提供在紧急情况下迅速恢复数据的能力。

TB级数仓的硬件配置

要构建一个TB级别的大规模数据仓库,需要精心设计硬件配置以满足高性能、可伸缩性和可靠性的要求。以下是一个概括性的TB级数据仓库的硬件配置示例:

计算节点(Compute Nodes):

数量: 数十至数百台计算节点,具体数量根据数据规模和性能需求而定。
处理器: 每个计算节点配备多个高性能的多核处理器,如Intel Xeon或AMD EPYC系列。
内存: 大量的RAM,通常每个节点需要几百GB到数TB的内存,以支持大规模数据的并行处理和分析。
存储节点(Storage Nodes):

数量: 数十至数百台存储节点,用于存储大规模的数据。
存储类型: 高性能的分布式存储系统,可能包括SSD和HDD的混合存储,以平衡性能和成本。分布式文件系统或对象存储可用于提供高可用性和可伸缩性。
存储容量: 每个节点具有数十TB到数百TB的存储容量,总存储容量达到TB级别。
网络架构:

高速网络: 使用高速网络互联计算节点和存储节点,例如40Gbps或100Gbps以保障快速数据传输。
InfiniBand或Ethernet: 选择适当的网络技术,以支持低延迟和高带宽的通信,确保计算节点和存储节点之间的有效通信。
数据库引擎和软件:

分布式数据库: 选择适合大规模数据仓库的分布式数据库引擎,如StarRocks、Doris、Greenplum等。
操作系统: 使用稳定、高性能的操作系统,如Linux发行版(例如CentOS、Red Hat)。
负载均衡和管理工具:

负载均衡器: 在前端引入负载均衡器以平衡查询负载,确保计算和存储资源充分利用。
集群管理工具: 使用专业的集群管理工具,确保节点的高可用性和故障恢复。
冗余备份和灾难恢复:

冗余节点: 在计算和存储层面引入冗余节点,以防单个节点故障。这可以通过数据复制和备份机制来实现。
灾难恢复: 考虑在不同地理位置部署冗余数据中心,以实现灾难恢复和数据备份的安全性。
以上硬件配置只是一个示例,具体的TB级数据仓库硬件配置需要根据实际需求、预算和性能目标进行调整。在设计和建设过程中,建议进行性能测试和负载测试,以确保硬件配置能够满足数据仓库的需求。


一些学习资料
github
在这里插入图片描述

wiki-data_warehouse
在这里插入图片描述

aws-data-warehouse
在这里插入图片描述
azure-data-warehouse

在这里插入图片描述
IBM-data-warehouse
在这里插入图片描述

clickhouse -data warehouse
在这里插入图片描述

文本 将使用 clickhouse 做数据仓库,后面一章会说到,谢谢大家

这篇关于大工程 从0到1 数据治理 数仓篇(sample database classicmodels _No.7)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/737143

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置