大数据设计为何要分层,行业常规设计会有几层数据
大数据设计通常采用分层结构的原因是为了提高数据管理的效率、降低系统复杂度、增强数据质量和可维护性。这种分层结构能够将数据按照不同的处理和应用需求进行分类和管理,从而更好地满足不同层次的数据处理和分析需求。行业常规设计中,数据通常按照以下几个层次进行划分:
ODS(Operational Data Store)操作型数据存储
DWD(Data Warehouse Detail)数据仓库明细层
DIM(Dimensional Data Mart)维度数据集市
DWS(Data Warehouse Summary)数据仓库汇总层
TDM(Temporary Data Mart)临时数据集市
ADS(Application Data Store)应用数据存储
TMP(Temporary Storage)临时存储层

1.ODS(Operational Data Store)操作型数据存储:ODS层主要用于存储原始的、经过简单处理的业务数据,通常是从各个业务系统中提取的数据,保留了数据的原始状态和结构,是数据仓库中的第一层。ODS层的数据主要用于日常业务的操作和处理。
当设计大数据架构时,操作型数据存储是整个数据处理流程中的第一步。ODS的主要目的是在保持数据的原始状态的同时,提供一个中间层,用于将来自各个业务系统的数据整合、清洗和标准化,以支持后续的数据分析、报表生成和业务应用等需求。
ODS的概念
- 原始数据存储:ODS作为大数据架构中的第一层,主要负责存储来自不同业务系统的原始数据。这些数据通常是实时或近实时地从业务系统中抽取而来,保留了数据的原始格式和结构。
- 简单处理:尽管ODS层存储了原始数据,但通常也会进行一些简单的处理,例如去除重复记录、填充缺失值、解析数据等,以保证数据的一致性和可用性。
- 提供数据服务:除了存储和处理数据外,ODS还可以作为数据服务的提供者,为其他系统和业务流程提供数据访问接口,使其能够实时获取到最新的业务数据。
ODS的设计思路
- 数据集成:ODS的设计需要考虑如何有效地集成来自不同业务系统的数据。这可能涉及到数据抽取、转换和加载(ETL)过程,以确保数据能够被正确地捕获、整合和存储。
- 数据质量保证:在数据进入ODS之前,需要进行一定程度的数据质量检查和修复,以确保数据的准确性、完整性和一致性。这包括检测并处理重复数据、缺失值、错误格式等问题。
- 数据标准化:为了支持后续的数据分析和应用,ODS中的数据通常需要进行标准化,以确保不同来源的数据能够在语义上一致。这可能涉及到数据格式的统一、命名规范的制定等方面。
- 实时性需求:根据业务需求,ODS可能需要实现实时数据处理和更新,以确保业务系统能够及时获取到最新的数据。因此,需要考虑如何实现高效的数据抽取和加载机制,以及实时处理的技术方案。
- 扩展性和性能:随着业务的发展和数据量的增长,ODS需要具备良好的扩展性和性能,以应对不断增长的数据存储和处理需求。因此,在设计ODS时需要考虑到数据分区、索引优化、集群部署等方面。
- 安全性:由于ODS层存储了原始的业务数据,因此需要采取必要的安全措施,保护数据的机密性和完整性,防止数据泄露和不当使用。
- 数据访问接口:ODS需要提供适当的数据访问接口,以便其他系统和应用程序能够方便地访问和使用其中的数据。这可能包括API接口、数据库连接等方式。
DWD(Data Warehouse Detail)数据仓库明细层
DWD层用于存储经过清洗、转换、集成等处理后的详细数据,通常包括事实表和维度表,是数据仓库中的核心层。DWD层的数据通常被用于复杂的数据分析、报表生成等任务。
DWD的概念
-
数据清洗与转换:DWD层接收来自ODS层的数据,并对其进行清洗和转换。这包括去除错误、重复、不完整或不一致的数据,以及将数据转换成适合分析和报表生成的格式。
-
数据集成与统一:DWD层负责将来自不同业务系统的数据进行集成和统一,以确保数据在整个数据仓库中的一致性和可比性。这可能涉及到数据合并、标准化、规范化等操作。
-
建模与标记:在DWD层中,数据通常会按照维度建模的方式进行组织和标记。这包括将数据划分为事实表(包含业务事实数据)和维度表(包含描述性维度数据),以支持多维分析。
-
历史数据管理:DWD层也负责管理历史数据,包括记录数据的变化历史、跟踪数据的版本信息等,以支持时间序列分析和趋势分析。
-
数据质量保证:在DWD层,还需要实施一系列数据质量控制措施,以确保数据的准确性、完整性和一致性。这可能包括数据验证、异常检测、数据修复等操作。
DWD的设计思路
- 业务需求分析:在设计DWD层时,首先需要深入了解业务需求,明确需要分析的业务指标和报表需求,以便确定数据模型和转换规则。
- 数据建模:基于业务需求,设计合适的数据模型,包括事实表和维度表的定义,以及它们之间的关联关系。这需要考虑业务过程、数据粒度、数据关系等因素。
- 数据清洗与转换:实施数据清洗和转换操作,包括去重、填充缺失值、数据格式转换、计算衍生指标等,以保证数据的质量和一致性。
- 数据集成与统一:将来自不同来源的数据进行集成和统一,确保数据的一致性和可比性。这可能涉及到数据合并、标准化、规范化等操作。
- 数据质量管理:实施数据质量管理措施,包括数据验证、异常检测、数据修复等操作,以确保数据的准确性和完整性。
- 性能优化:针对DWD层的性能优化,可以采取一系列措施,包括数据分区、索引优化、查询优化等,以提高数据处理和查询的效率。
- 历史数据管理:对于需要保留历史数据的业务需求,需要设计合适的历史数据管理策略,包括数据的版本控制、变化跟踪等操作。
- 安全性管理:在设计DWD层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
DIM(Dimensional Data Mart)维度数据集市
DIM层是在DWD层基础上构建的,用于存储维度化的数据,通常包括各种维度表。维度数据集市主要用于支持多维分析、OLAP(联机分析处理)等业务需求。
DIM的概念:
- 维度化数据存储:维度数据集市主要用于存储与业务相关的维度数据,例如时间、地域、产品、客户等。这些维度数据通常是具有层级结构的,并且对于分析和报表生成非常重要。
- 支持多维分析:维度数据集市是支持多维分析(OLAP)的关键组成部分。通过将事实数据与各种维度数据关联起来,可以进行复杂的多维度分析,发现数据间的关联和趋势。
- 提供一致的维度视图:维度数据集市提供了一致的维度视图,以便不同部门和用户可以使用相同的维度定义和标准化的数据。这有助于确保数据分析的一致性和可比性。
- 支持业务智能应用:维度数据集市是许多业务智能应用的基础,包括报表、仪表盘、数据挖掘等。通过将维度数据与事实数据关联起来,可以为用户提供丰富的分析和可视化功能。
DIM的设计思路:
- 确定维度:首先需要确定需要存储的维度数据。这可能涉及到与业务部门的沟通,了解业务需求和关键维度,例如时间、地域、产品、客户等。
- 设计维度模型:基于确定的维度,设计相应的维度模型。维度模型通常由维度表和事实表组成,其中维度表包含维度数据,而事实表包含度量数据。
- 建立维度表:根据维度模型设计维度表,包括定义维度的属性、层级关系等。维度表的设计需要考虑到数据的完整性、一致性和易用性。
- 填充维度数据:将维度数据填充到维度表中。这可能涉及到从不同数据源中抽取、转换和加载维度数据的过程,确保数据的准确性和完整性。
- 维护维度数据:维度数据可能会随着时间的推移而发生变化,因此需要建立相应的维度数据维护机制,包括更新、插入、删除等操作,以保持数据的最新和一致。
- 建立维度关系:将维度表与事实表进行关联,建立维度关系。这有助于进行多维分析,发现数据间的关联和趋势。
- 性能优化:为了提高维度数据集市的查询性能,可以采取一系列性能优化措施,包括索引优化、分区管理、数据压缩等。
- 安全性管理:在设计维度数据集市时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
DWS(Data Warehouse Summary)数据仓库汇总层
DWS层用于存储经过聚合、汇总等处理后的数据,通常包括汇总后的事实表。DWS层的数据通常被用于生成汇总报表、支持决策分析等任务。
DWS的概念:
- 数据聚合与汇总:DWS层主要用于存储经过聚合、汇总等处理后的数据,以提供高层次的数据视图和分析能力。这些汇总数据通常是从DWD层中的详细数据中计算而来,可以是按时间、地域、产品等维度进行汇总的。
- 提供决策支持:DWS层为决策者和管理人员提供了更高层次的数据视图,帮助他们更好地理解业务趋势、做出决策。通过预先计算和汇总数据,可以加速查询和分析过程,提高决策效率。
- 支持报表和仪表盘:DWS层提供了汇总的数据视图,可以用于生成各种报表、仪表盘和可视化图表,为用户提供直观的数据分析和监控能力。
- 优化查询性能:通过事先计算和汇总数据,可以减少查询时的计算量,提高查询性能。这对于大规模数据和复杂查询场景尤为重要。
- 支持复杂分析需求:DWS层提供了高层次的数据聚合和汇总,支持复杂的数据分析需求,包括趋势分析、比较分析、排名分析等。
DWS的设计思路:
- 确定汇总需求:首先需要明确业务需求,确定需要汇总的指标和维度。这可能涉及与业务部门的沟通,了解他们的分析和决策需求。
- 设计汇总模型:基于确定的汇总需求,设计相应的汇总模型。这包括定义需要汇总的指标、选择适当的汇总级别和维度等。
- 选择汇总方法:根据汇总模型选择合适的汇总方法,包括求和、计数、平均值等。同时,还需要考虑如何处理不同维度之间的关系,以及如何处理空值和异常值。
- 建立汇总表:根据汇总模型设计汇总表,包括定义表结构、选择合适的数据类型、确定索引等。这有助于提高查询性能和数据的访问效率。
- 填充汇总数据:将从DWD层中抽取的详细数据进行汇总,并填充到汇总表中。这可能涉及到定期的数据抽取、转换和加载过程,确保汇总数据的准确性和完整性。
- 维护汇总数据:汇总数据可能随着时间的推移而发生变化,因此需要建立相应的数据维护机制,包括更新、插入、删除等操作,以保持数据的最新和一致。
- 性能优化:为了提高汇总数据集市的查询性能,可以采取一系列性能优化措施,包括索引优化、分区管理、数据压缩等。
- 安全性管理:在设计DWS层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
TDM(Temporary Data Mart)临时数据集市
TDM层是临时性的数据存储层,用于存储临时性的数据,通常是一些中间计算结果或者临时性的数据文件。
TDM的概念:
- 临时数据存储:TDM层主要用于存储在数据处理过程中产生的临时数据,例如中间计算结果、临时数据文件等。这些数据通常是在数据清洗、转换、计算等阶段产生的,是数据处理过程中的中间产物。
- 支持数据流程:TDM层为数据处理流程提供了临时的数据存储功能,帮助管理数据处理过程中的中间结果。这有助于确保数据处理流程的连续性和可靠性。
- 减少重复计算:通过将中间计算结果存储在临时数据集市中,可以避免重复计算相同的数据,提高数据处理效率。
- 支持数据调试和分析:TDM层存储了数据处理过程中的中间结果,可以帮助开发人员进行数据调试和分析,发现数据处理中的问题和异常。
TDM的设计思路:
- 确定临时数据需求:首先需要明确数据处理流程中产生的临时数据的类型和需求。这可能涉及到与数据工程师、分析师等相关人员的沟通,了解数据处理流程和中间数据的特点。
- 设计临时数据模型:根据确定的临时数据需求,设计相应的临时数据模型。这包括定义临时数据的结构、格式、存储方式等。
- 选择存储技术:根据临时数据的特点和需求,选择合适的存储技术。这可能涉及到文件系统、数据库、内存数据库等不同的存储方式。
- 建立临时数据存储:根据设计的临时数据模型和选择的存储技术建立临时数据存储。这可能涉及到建立临时数据表、设置存储参数、优化存储性能等操作。
- 填充临时数据:将数据处理过程中产生的临时数据填充到临时数据存储中。这通常是在数据处理流程的中间阶段完成的,确保中间数据的可用性和一致性。
- 数据清理和维护:定期清理和维护临时数据存储,删除不再需要的临时数据,释放存储空间,确保系统的稳定性和性能。
- 安全性管理:在设计TDM层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
ADS(Application Data Store)应用数据存储
ADS层用于存储与特定应用程序相关的数据,通常包括应用程序的配置信息、日志数据等。
ADS的概念
- 与应用程序相关的数据存储:ADS层主要用于存储与特定应用程序相关的数据,例如应用程序的配置信息、用户会话数据、日志数据等。
- 提供给应用程序访问的数据接口:ADS提供了数据访问接口,供应用程序读写数据。这样,应用程序可以将数据存储在ADS中,或者从ADS中检索数据。
- 与业务逻辑紧密相关:ADS中存储的数据通常与应用程序的业务逻辑密切相关。这些数据可能包括用户信息、商品信息、订单信息等,用于支持应用程序的正常运行和业务功能实现。
ADS的设计思路
- 确定存储需求:首先需要明确应用程序的存储需求,确定需要存储哪些类型的数据。这可能涉及到与应用程序开发团队的沟通,了解应用程序的功能和数据存储需求。
- 设计数据模型:根据确定的存储需求,设计相应的数据模型。这包括定义存储的数据结构、字段、关系等。
- 选择存储技术:根据数据模型和性能要求选择合适的存储技术。这可能涉及到关系型数据库、NoSQL数据库、内存数据库等不同的存储方式。
- 建立数据存储:根据设计的数据模型和选择的存储技术建立数据存储。这可能涉及到创建数据库表、设置索引、优化性能等操作。
- 数据填充和初始化:在应用程序启动或初始化阶段,将必要的数据填充到数据存储中。这可能包括初始化配置信息、创建用户账户、加载基础数据等。
- 数据访问接口设计:设计数据访问接口,供应用程序读写数据。这可能涉及到API接口设计、数据库连接配置等。
- 安全性管理:在设计ADS层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
- 性能优化:为了提高ADS层的性能,可以采取一系列性能优化措施,包括索引优化、缓存机制、数据分区等。
TMP(Temporary Storage)临时存储层
TMP层用于存储临时性的数据,通常是一些处理过程中的临时文件或者缓存数据。
TMP的概念:
- 临时性存储:TMP层主要用于临时存储在数据处理过程中产生的数据,例如中间计算结果、临时文件、缓存数据等。这些数据通常是在数据处理过程中需要暂时存储或传递的,而不是长期存储的。
- 支持数据处理流程:TMP层为数据处理流程提供了临时的数据存储功能,帮助管理数据处理过程中的中间结果。这有助于确保数据处理流程的连续性和可靠性。
- 临时性数据传递:TMP层也可以用于临时性数据传递,例如在不同数据处理任务之间传递数据,或者在不同节点之间传递数据。这有助于提高数据处理的效率和灵活性。
TMP的设计思路
- 确定临时存储需求:首先需要明确数据处理过程中产生的临时数据的类型和需求。这可能涉及到与数据工程师、分析师等相关人员的沟通,了解数据处理流程和中间数据的特点。
- 选择临时存储技术:根据临时存储需求选择合适的临时存储技术。这可能涉及到文件系统、数据库、内存数据库等不同的存储方式。
- 建立临时存储空间:根据选择的临时存储技术建立临时存储空间。这可能涉及到创建临时文件夹、设置存储参数、优化存储性能等操作。
- 填充临时数据:将数据处理过程中产生的临时数据填充到临时存储空间中。这通常是在数据处理流程的中间阶段完成的,确保中间数据的可用性和一致性。
- 临时数据传递:如果需要在不同数据处理任务之间传递数据,或者在不同节点之间传递数据,可以利用临时存储空间进行临时性数据传递。
- 数据清理和维护:定期清理和维护临时存储空间,删除不再需要的临时数据,释放存储空间,确保系统的稳定性和性能。
- 安全性管理:在设计TMP层时,也需要考虑数据的安全性管理,包括数据权限控制、数据加密、访问审计等方面。
相关文章:
大数据设计为何要分层,行业常规设计会有几层数据
大数据设计通常采用分层结构的原因是为了提高数据管理的效率、降低系统复杂度、增强数据质量和可维护性。这种分层结构能够将数据按照不同的处理和应用需求进行分类和管理,从而更好地满足不同层次的数据处理和分析需求。行业常规设计中,数据通常按照以下…...
css3之2D转换transform
2D转换transform 一.移动(translate)(中间用,隔开)二.旋转(rotate)(有单位deg)1.概念2.注意点3.转换中心点(transform-origin)(中间用空格)4.一些例子(css三角和旋转) 三…...
pytest中文使用文档----6临时目录和文件
1. 相关的fixture 1.1. tmp_path1.2. tmp_path_factory1.3. tmpdir1.4. tmpdir_factory1.5. 区别 2. 默认的基本临时目录 1. 相关的fixture 1.1. tmp_path tmp_path是一个用例级别的fixture,其作用是返回一个唯一的临时目录对象(pathlib.Path…...
从0开始搭建基于VUE的前端项目
准备与版本 安装nodejs(v20.11.1)安装vue脚手架(vue/cli 5.0.8) ,参考(https://cli.vuejs.org/zh/)vue版本(2.7.16),vue2的最后一个版本 初始化项目 创建一个git项目(可以去gitee/github上创建ÿ…...
elementUI this.$msgbox msgBox自定义 样式自定义 富文本
看这个效果是不是很炫?突出重点提示内容,对于用户交互相当的棒! 下来说说具体实现: let self = this const h = self.$createElement; this.$msgbox({title: null,message: h("p", {style: "margin-top:10px"}, [h("i", {class: "el-i…...
Lua与Python区别
Lua和Python都是流行的编程语言,但它们在设计哲学、应用领域和性能特点上有所不同。以下是Lua和Python之间的对比: 1. **设计哲学**: - Lua被设计为一个轻量级的嵌入式脚本语言,重点在于简单性和效率。它有一个小巧的标准库,通…...
Python学习(二)
数据容器 数据容器根据特点的不同,如: 是否支持重复元素是否可以修改是否有序,等 分为5类,分别是: 列表(list)、元组(tuple)、字符串(str)、集…...
管理阿里云服务器ECS -- 网站选型和搭建
小云:我已经学会了如何登录云服务器ECS了,但是要如何搭建网站呢? 老王:目前有很多的个人网站系统软件,其中 WordPress 是使用非常广泛的一款,而且也可以把 WordPress 当作一个内容管理系统(CMS…...
WPF中继承ItemsControl子类控件数据模板获取选中属性
需求场景 列表类控件,如 ListBox、ListView、DataGrid等。显示的行数据中,部分内容依靠选中时触发控制,例如选中行时行记录复选,部分列内容控制显隐。 案例源码以ListView 为例。 Xaml 部分 <ListView ItemsSource"{Bi…...
Android卡顿掉帧问题分析之实战篇
本文将结合典型实战案例,分析常见的造成卡顿等性能问题的原因。从系统工程师的总体角度来看 ,造成卡顿等性能问题的原因总体上大致分为三个大类:一类是流程执行异常;二是系统负载异常;三是编译问题引起。 1 流程执行异…...
OpenKylin安装Kafka
一、操作系统 openKylin 1.0.1 X86 二、下载安装包 # 安装依赖jdk sudo apt-get update sudo apt-get install default-jdk # 下载kafka mkdir -p /data/software/kafka wget https://archive.apache.org/dist/kafka/2.4.1/kafka_2.13-2.4.1.tgz三、解压安装 # 解压缩Kafka…...
嵌入式硬件中常见的面试问题与实现
1 01 请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌) ▶电阻 美国:AVX、VISHAY威世 日本:KOA兴亚、Kyocera京瓷、muRata村田、Panasonic松下、ROHM罗姆、susumu、TDK 台湾:LIZ丽智、PHYCOM飞元、RALEC旺诠、ROYALOHM厚生、SUPEROHM美隆、TA-I大毅、TMT…...
【Node.JS】koa
文章目录 概述koa和express对比koa下载安装使用1.创建koa项目文件目录2. 创建koa服务3. 添加路由 koa-router4. 数据库服务 mongodb5. 添加请求参数json处理 koa-bodyparser6. 用户接口举例7.引入koa一些常用插件8.用户登录验证 koa-jwt9.webpack生产打包 来源 概述 Koa 是一个…...
工作日志- 不定期更新
1. protobuf中使用import引用其他proto文件,生成后在go语言的go modules中import 包名报错问题。 public.proto文件 //protoc --go_outpluginsgrpc:. public.proto syntax "proto3";package public;option go_package "self/game-service/msg/pu…...
Qt使用opencv打开摄像头
1.效果图 2.代码 #include "widget.h"#include <QApplication>#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>#include <QImage> #include <QLabel> #incl…...
Redis的Hash数据结构中100万对field和value,field是自增时如何优化?优化Hash结构。
ZipList使用是有条件的,当entry数据量太大时就会启用哈希结构,占用内存空间 1.设置bigkey的上限 在redis.config中设置 2.拆分为string类型 String底层结果没有太多优化,占用内存多 想要批量获取数据麻烦 3.拆分为小的hash 将id/100作为…...
二十四种设计模式与六大设计原则(一):【策略模式、代理模式、单例模式、多例模式、工厂方法模式、抽象工厂模式】的定义、举例说明、核心思想、适用场景和优缺点
目录 策略模式【Strategy Pattern】 定义 举例说明 核心思想 适用场景 优缺点 代理模式【Proxy Pattern】 定义 举例说明 核心思想 适用场景 优缺点 单例模式【Singleton Pattern】 定义 举例说明 核心思想 适用场景 优缺点 多例模式【Multition Pattern】…...
mac怎么删除python
mac 默认安装了python2;自己后面又安装了python3;为了方便,现在想将python3换成Anaconda3。 Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 Python3安装之后,在系统中不同目…...
【笔记】Android U RILJ 中与运营商名称SPN显示相关的日志分析
源码阅读:AOSPXRef 常用日志关键字 Note:">"下发MD,"<"MD上报,[]中的id有请求和返回的对应关系 KEYComment> OPERATOR下发MD,请求运营商信息< OPERATORMD上报运营商注册信息> DA…...
蓝桥杯【奇怪的捐赠】c语言
我会将这题的解题的核心思路解为将10进制转化成7进制,毕竟题目上说的很清楚7的几次方 然后附上我认为的最优解 #include<stdio.h> int main() {int n 1000000;int sum 0;while (n ! 0){int a;a n % 7;n n / 7;sum a ;}printf("%d", sum);retu…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
