微服务场景下数据抽取与统计(2)

本文涉及的产品
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,182元/月
简介: 微服务场景下数据抽取与统计(2)

3.数据仓库与操作型数据库对比

下面从几个重要的方面对比数据仓库与操作型数据库的区别,如表9-1所示。


image.png


操作型数据库面向的用户是开发工程师、DBA等一线工程师,主要功能是使用一些商用或开源的关系型数据库(如Oracle、SQL Server、MySQL等)进行事务处理,通常把这种事务处理过程称为联机事务处理OLTP(On-LineTransaction Processing)。OLTP数据库的设计目标是面向应用设计,核心工作是对单条数据进行高效地增、删、改、查操作。通常在数据库中存储的数据是几个月内的数据,不会存储几年的历史数据,存储的数据量一般在GB级别。数据库中表的设计需要满足第三范式的要求,尽量减少数据冗余存储。操作型数据库对于单次请求的响应时间要求非常严格,通常是毫秒级延迟,太高的延迟会影响用户的正常使用。


数据仓库(简称数仓)面向的用户是公司管理人员、数据分析师等与分析决策相关的人员,主要功能是为分析决策提供依据。通常把使用数据仓库进行分析的过程称为联机分析处理OLAP(On-LineAnalytical Processing)。在实际工作中,一般不会使用传统的操作型数据库构建数据仓库,因为关系型数据库的核心是对单条数据的事务操作,OLAP的核心是对大量的数据进行统计分析,不需要支持事务,对单条数据统计也没有任何实际意义,所以一般会使用商用的分析型数据库(如Teradata、Oracle Exadata、BD2等)或开源的大数据项目(如Hadoop、Hive等)构建企业级数据仓库。数据仓库的设计目标是面向主题设计,通常在数据仓库中会存储几年甚至十几年的历史数据,存储的数据量一般在GB甚至PB级别,数据分析人员在日常工作中需要频繁地对大量的历史数据进行统计分析。数据仓库中的表设计不需要满足第三范式,对常用的操作也不需要支持事务。对于数据仓库中的查询请求的响应时间的要求不是很高,因为更多的是对大量历史数据的统计分析请求,所以响应时间一般是秒级或分钟级,有时由于数据量非常巨大,硬件资源有限,响应时间有可能会是小时级。


数据仓库架构


在设计数据仓库之前,需要做大量的准备工作。首先,要调研数据的产生来源、数据格式、数据类型等信息,详细掌握数据源信息。其次,还要与合作的数据应用部门或团队沟通,详细了解业务需求,在数据仓库的设计过程中需要根据具体的业务需求创建主题。


前期准备工作完成之后,开始进入数据仓库设计环节。数据仓库通常采用分层设计,一般会分为临时数据存储层ODS(OperationData Store,简称ODS)、数据仓库层DW(Data Warehouse,简称DW)、数据集市层DM(Data Mart,简称DM)三层。


各分层的详细描述如下。


  • ODS层:暂时存储从各种数据源导入的原始数据。ODS层存储的数据通常是没有经过加工或只进行了简单的加工,相对比较粗糙的数据。它的主要作用是为后续DW层提供集合好的数据源。
  • DW层:持久化存储从ODS层经过仔细加工之后的数据。DW层存储的数据具有一致性、准确性的特点,并且存储的是没有杂质的明细数据。通常为提高DW层的查询性能,在明细数据的基础上,根据业务需求进行预聚合操作,生成汇总数据。
  • DM层:数据集市层也可以称为应用层,DM层主要是各个应用部门或业务团队在DW层基础之上,进行二次加工计算,建立针对部门或业务线的数据集市,这样的数据集市可能会有多个。

数据仓库的架构如图9-3所示。


image.png

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
7月前
|
JSON Java 数据格式
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——封装统一返回的数据结构
本文介绍了在Spring Boot中封装统一返回的数据结构的方法。通过定义一个泛型类`JsonResult<T>`,包含数据、状态码和提示信息三个属性,满足不同场景下的JSON返回需求。例如,无数据返回时可设置默认状态码"0"和消息"操作成功!",有数据返回时也可自定义状态码和消息。同时,文章展示了如何在Controller中使用该结构,通过具体示例(如用户信息、列表和Map)说明其灵活性与便捷性。最后总结了Spring Boot中JSON数据返回的配置与实际项目中的应用技巧。
568 0
|
7月前
|
JSON Java fastjson
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——使用 fastJson 处理 null
本文介绍如何使用 fastJson 处理 null 值。与 Jackson 不同,fastJson 需要通过继承 `WebMvcConfigurationSupport` 类并覆盖 `configureMessageConverters` 方法来配置 null 值的处理方式。例如,可将 String 类型的 null 转为 "",Number 类型的 null 转为 0,避免循环引用等。代码示例展示了具体实现步骤,包括引入相关依赖、设置序列化特性及解决中文乱码问题。
346 0
|
7月前
|
JSON Java fastjson
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——Spring Boot 默认对Json的处理
本文介绍了在Spring Boot中返回Json数据的方法及数据封装技巧。通过使用`@RestController`注解,可以轻松实现接口返回Json格式的数据,默认使用的Json解析框架是Jackson。文章详细讲解了如何处理不同数据类型(如类对象、List、Map)的Json转换,并提供了自定义配置以应对null值问题。此外,还对比了Jackson与阿里巴巴FastJson的特点,以及如何在项目中引入和配置FastJson,解决null值转换和中文乱码等问题。
1017 0
|
7月前
|
存储 JSON NoSQL
微服务——MongoDB的数据模型
MongoDB采用文档(document)作为最小存储单位,类似关系型数据库中的行,使用BSON(Binary-JSON)格式存储数据。BSON是JSON的二进制扩展,支持内嵌文档和数组,新增了如Date、BinData等特殊数据类型,具有轻量、高效、可遍历的特点,适合非结构化与结构化数据存储。其灵活性高,但空间利用率略低。BSON数据类型包括string、integer、boolean等基本类型及date、object id等扩展类型。
173 0
|
7月前
|
存储 NoSQL 关系型数据库
微服务——MongoDB的应用场景
随着Web2.0时代的到来,传统关系型数据库(如MySQL)在高并发读写、海量数据存储及高可扩展性需求方面逐渐力不从心。而MongoDB凭借其灵活的文档结构和高效性能,在社交、游戏、物流、物联网和视频直播等场景中表现出色。这些场景通常具有数据量大、写入频繁且对事务要求不高的特点。选择MongoDB适合以下情况:应用无需复杂事务与join支持、需求不确定需快速迭代、需处理高QPS读写或超大规模数据存储、追求高可用性和快速水平扩展能力。相比MySQL,MongoDB能以更低的学习、开发和运维成本满足现代应用需求。
252 0
|
消息中间件 Kafka 微服务
微服务数据问题之MetaQ设置同步异步刷盘如何解决
微服务数据问题之MetaQ设置同步异步刷盘如何解决
|
消息中间件 存储 微服务
微服务数据问题之异步刷盘如何解决
微服务数据问题之异步刷盘如何解决
107 0
|
存储 搜索推荐 数据库
MarkLogic在微服务架构中的应用:提供服务间通信和数据共享的机制
随着微服务架构的发展,服务间通信和数据共享成为关键挑战。本文介绍MarkLogic数据库在微服务架构中的应用,阐述其多模型支持、索引搜索、事务处理及高可用性等优势,以及如何利用MarkLogic实现数据共享、服务间通信、事件驱动架构和数据分析,提升系统的可伸缩性和可靠性。
165 6
|
安全 网络安全 数据安全/隐私保护
云原生技术探索:容器化与微服务架构的实践之路网络安全与信息安全:保护数据的关键策略
【8月更文挑战第28天】本文将深入探讨云原生技术的核心概念,包括容器化和微服务架构。我们将通过实际案例和代码示例,展示如何在云平台上实现高效的应用部署和管理。文章不仅提供理论知识,还包含实操指南,帮助开发者理解并应用这些前沿技术。 【8月更文挑战第28天】在数字化时代,网络安全和信息安全是保护个人和企业数据的前线防御。本文将探讨网络安全漏洞的成因、加密技术的应用以及提升安全意识的重要性。文章旨在通过分析网络安全的薄弱环节,介绍如何利用加密技术和提高用户警觉性来构建更为坚固的数据保护屏障。
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。

热门文章

最新文章