为什么要使用数据仓库?
现状和需求
大量的企业经营性数据(订单,库存,原料,付款等)在企业的业务运营系统以及其后台的(事务型)数据库中产生的。
企业的决策者需要及时地对这些数据进行归类分析,从中获得企业运营的各种业务特征,为下一步的经营决策提供数据支撑。
困难
对数据的归类分析往往涉及到对多张数据库表数据的同时访问, 即需要同时锁住多张可能正在被不同事务更新的表单。这对业务繁忙的数据库系统来说可能是一件非常困难的事情 。
- 一方面很难把多张表同时锁住,造成复杂查询的时延增加。
- 另一方面如果锁住了多张表,又会阻挡数据库表单更新的事务,造成业务的延时甚至中断。
解决方案
数据仓库主要适用于企业数据的关联和聚合等分析场景, 并从中发掘出数据背后的商业信息供决策者参考。这里的数据发掘主要指涉及多张表的大范围的数据聚合和关联的复杂查询。
使用数据仓库,通过某个数据转换(ETL)的过程,业务运营数据库的数据可以被拷贝到数据仓库中供分析计算使用。同时支持把多个业务运营系统的数据汇集到一个数据仓库中。这样数据可以被更好地关联和分析,从而产生更大的价值。
数据仓库一般来说采用了一些和标准的面向事务的数据库(Oracle,MS SQL Server,MySQL等)不一样的设计,特别是针对数据的聚合性和关联性做了特别的优化,有些时候为了这些优化甚至可能会牺牲掉一些标准数据库的事务或者数据增删改的功能或者性能。因此,数据仓库和数据库的使用场景还是有所不同的。事务型数据库专注于事务处理(企业的业务运营),而数据仓库更擅长于复杂的数据分析。各司其职,互不干扰。简单一句话可以把它理解为,数据库主要负责数据更新,数据仓库主要负责数据分析。
数据仓库和Hadoop大数据平台有什么差别?
广义上来说,Hadoop大数据平台也可以看做是新一代的数据仓库系统, 它也具有很多现代数据仓库的特征,也被企业所广泛使用。因为MPP架构的可扩展性,基于MPP的数据仓库系统有时候也被划分到大数据平台类产品。
但是数据仓库和Hadoop平台还是有很多显著的不同。针对不同的使用场景其发挥的作用和给用户带来的体验也不尽相同。用户可以根据下表简单判断什么场景更适合用什么样的产品。
数据仓库和Hadoop大数据平台特性比较
特性 | Hadoop | Data Warehouse |
---|---|---|
计算节点数 | 可到数千个 | 一般在256个以内 |
数据量 | 支持大于10PB | 一般不大于10PB |
数据类型 | 关系型,半关系型,无结构化,语音,图像,视频 | 关系型 |
时延 | 中/高 | 低 |
应用生态 | 创新型/人工智能 | 传统数据库型/BI类 |
应用开发接口 | SQL,MR,丰富的编程语言接口 | 标准数据库SQL |
可扩展性 | 无穷的可能,完整的编程接口 | 有限扩展能力,主要通过UDF支持 |
事务支持 | 有限 | 完整 |
数据仓库和Hadoop平台互为补充,立足于满足客户在不同使用场景下的业务需求。数据仓库服务DWS 能够无缝地接入到Hadoop平台MRS服务上,支持SQL-over-Hadoop的这个特性,提供跨平台, 跨服务的数据共享。让用户在充分享受Hadoop带来的开放,便捷,创新的同时,继续使用熟悉的数据仓库方式管理和使用自己的海量数据。继续使用传统的数据仓库的上层应用,特别是商业智能BI类的应用。
为什么要使用数据仓库服务DWS ?
传统的数据仓库售价昂贵,设备系统选型,采购周期长,扩容复杂,整体运行成本十分高昂,因此很难为中小企业所采纳。
数据仓库服务DWS与传统的数据仓库相比,主要有以下特点与显著优势:
- 一款分布式MPP数据仓库云化服务,具备开放,高效,兼容,可扩展,易运维等特点。
- 基于FusionInsight LibrA数据仓库产品内核,以云上数据仓库服务的形式将FusionInsight LibrA的能力提供给云平台上的企业用户,打造云上云下一致的数据仓库用户体验。
FusionInsight LibrA是具有自主知识产权的新一代分布式数据仓库系统。目前已经被广泛地应用在政府,金融,运营商等行业当中。该产品不仅兼容主流开源Postgres系列数据库,而且特别针对Oracle和Teradata的SQL语法进行了兼容性增强,在很多场合都可以替代同类型产品。
我们的数据仓库服务工程师重点设计实现了基于行列混存的数据仓库内核,在支持海量数据快速分析的同时也很好地兼顾了业务运作系统对数据增删改的需求。引入了基于代价的查询优化器,以及当前数据仓库系统所流行的一些黑科技,包括机器码级别的向量计算,算子间和算子内的并行,节点内和节点间并行,使用LLVM优化编译查询计划的本机代码等。这些黑科技极大地提高了数据查询和分析的性能,为用户带来了更好的体验,解决了特定场景当中的业务痛点。
- DWS 服务即开即用
相比以前动辄长达数月的数据仓库选型采购过程,在云平台上开通使用数据仓库服务只需要数分钟时间简化了企业用户的搭建过程,使用数据仓库的方式,降低使用数据仓库的代价和门槛,让数据仓库实实在在地走进千万家大中小企业,让数据为企业的发展和决策提供其应有的价值。
如何选择DWS或者RDS?
DWS和RDS都让您能够在云中运行传统的关系数据库,同时转移数据库管理负载。您可将RDS数据库用于联机事务处理(OLTP) ,报告和分析,对于大量数据的读(一般是复杂的只读类型查询)支持不足。DWS 利用多节点的规模和资源并使用各种优化法( 列存,向量引擎,分布式框架等 ),专注于联机分析处理(OLAP),为传统数据库对大型数据集的分析及报告工作负荷提供了数量级改善。
当您的数据及查询的复杂性增加时,或者在您要防止报告和分析处理对OLTP工作负荷造成干扰时,DWS 可提供横向扩展能力。
您可以根据下表简单判断什么场景更适合用DWS 或RDS。
OLTP和OLAP特性比较
特性 | OLTP | OLAP |
---|---|---|
用户 | 操作人员,低层管理人员 | 决策人员,高级管理人员 |
功能 | 日常操作处理 | 分析决策 |
设计 | 面向应用 | 面向主题 |
数据 | 最新的,细节的,二维的,分立的 | 历史的,集成的,多维的,统一的 |
存取 | 读/写数十条记录 | 读上百万条记录 |
工作范围 | 简单的读写 | 复杂的查询 |
数据库大小 | 百GB | TB-PB级别 |
DWS和MRS分别应在何时使用?
如果需要使用自定义代码通过大数据处理框架 (如Apache Spark、Hadoop或HBase) 来处理和分析超大数据集,则应该使用MRS。MRS让您能够控制集群的配置和集群上安装的软件。
DWS这类数据仓库是专为不同类型的分析而设计的。数据仓库旨在将来自多个不同来源 (如库存、财务和零售销售系统)的数据汇集在一起。为了确保整个公司的报告具有一致的准确性,数据仓库采用一种高度结构化的方式来存储数据。这种结构可将数据一致性规则直接构建到数据库的表中。同时对标准SQL,事务支持传统数据库语法有很好的兼容性。
当您需要对大量结构化数据执行复杂查询并获得超快性能时,DWS 就是理想的服务选择。
DWS与Hive在功能上有哪些差别?
DWS与Hive在功能上存在一定的差异,主要体现在以下几个方面:
1.Hive是基于Hadoop MapReduce的数据仓库,DWS是基于Postgres的MPP的数据仓库。
2.Hive的数据在HDFS中存储,DWS的数据可以在本地存储,也可以通过外表的形式通过OBS进行存储。
3.Hive不支持索引,DWS支持索引,所以查询速度DWS 更快。
4.Hive不支持存储过程,DWS支持存储过程,使用场景更广泛。
5.DWS 比Hive对SQL的支持更丰富,包括函数、自定义函数、存储过程。
6.Hive不支持事务,DWS支持完整事务。
7.在数据可靠性方面,Hive和DWS 均支持副本,可靠性基本一致。
- 在性能上,DWS极大地优于Hive。
DWS和Hive基于各自的功能特点,在应用场景上,Hive仅用于离线分析场景,DWS适用于在线分析场景及AD-Hoc(即席查询)场景。
什么是用户配额?
云服务对用户的资源数量和容量做了限制。如果资源配额限制满足不了用户的使用需求,可以通过工单系统来提交您的申请,并告知您申请提高配额的理由。在通过我们的审理之后,我们会更新您的配额并进行通知。
如何获取Access Key ID(AK)和 Secret Access Key(SK)?
用户可以登录管理控制台创建访问密钥,如果您已经创建过了,也可以使用已有的访问密钥。
1.登录管理控制台。
2.将鼠标移到右上角的用户名,单击“我的凭证”。
3.再单击“管理访问密钥”页签,可以查看已有的访问密钥,也可以单击“新增访问密钥”进行创建。
访问密钥是 IAM 身份认证的重要凭证,只有在新增访问密钥时,用户才可以下载到含有 Access Key ID(AK)和 Secret Access Key(SK)的密钥文件,在管理控制台只能查看到 Access Key ID,如果您未曾下载过该密钥文件,请联系您的管理员进行获取,或者重新创建。
说明
每个用户最多可创建 2 个访问密钥,有效期为永久。为了帐号安全性,建议您定期更换并妥善保 存访问密钥。
用户和角色是什么关系?
用户和角色在整个集群范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里声明的那个数据库。
- 角色(ROLE)本质上是一组权限的集合,通常情况下使用ROLE来组织权限,使用用户进行权限的管理和业务操作。
- 角色之间的权限可以继承,用户组的所有用户可自动继承对应角色的权限。
- 数据库中USER与ROLE的关系为:USER的权限来自于ROLE。
- 用户组包含了具有相同权限的用户集合。
- 用户可以看作是具有登录权限的角色。
- 角色可以看作是没有登录权限的用户。
DWS提供的权限包括“管控面”各组件的操作维护权限,在实际应用时需根据业务场景为各用户分别配置不同权限。为了提升权限管理的易用性,“管控面”引入角色的功能,通过选取指定的权限并统一授予角色,以权限集合的形式实现了权限集中查看和管理。
集中权限管理中权限、角色和用户的关系如下图所示。
DWS提供多种权限,根据业务场景实际需要选择指定的权限授予不同角色,可能是一个或者多个权限对应一个角色。
通过GRANT把角色授予用户后,用户即具有了角色的所有权限。推荐使用角色进行高效权限分配。只对自己的表有所有权限,对其他用户放在属于各自模式下的表无权限。
- 角色A:授予操作权限A和B,用户A和用户B通过分配角色A取得对应的权限。
- 角色B:授予操作权限C,用户C通过分配角色B取得对应的权限。
- 角色C:授予操作权限D和E,用户C通过分配角色C取得对应的权限。
如何查看数据库用户的创建时间?
方式一:
在创建DWS数据库用户时,如果指定了用户的生效时间(VALID BEGIN)与用户创建时间一致,且之后未修改过该用户生效时间的情况下,就可以使用视图PG_USER查看用户列表,并通过valbegin字段查看该用户的生效时间,即该用户的创建时间。
示例:
创建用户jerry指定生效时间为当前创建时间。
CREATE USER jerry PASSWORD 'password' VALID BEGIN '2022-05-19 10:31:56';
通过查询视图PG_USER查看用户列表。valbegin字段显示了jerry的生效时间,即jerry的创建时间。
SELECT * FROM PG_USER; usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valbegin | valuntil | respool | parent | spacelimit | useconfig | nodegroup | tempspacelimit | spillspacelimit
---------+----------+-------------+----------+-----------+---------+----------+------------------------+----------+--------------+--------+------------+-----------+-----------+----------------+
----------------- Ruby | 10 | t | t | t | t | ******** | | | default_pool | 0 | | | | | dbadmin | 16393 | f | f | f | f | ******** | | | default_pool | 0 | | | | | jack | 451897 | f | f | f | f | ******** | | | default_pool | 0 | | | | | emma | 451910 | f | f | f | f | ******** | | | default_pool | 0 | | | | | jerry | 457386 | f | f | f | f | ******** | 2022-05-19 10:31:56+08 | | default_pool | 0 | | | | |
(5 rows)
方式二:
通过系统表PG_AUTH_HISTORY的passwordtime字段查看用户最初的密码创建时间,即该用户的创建时间。需要有系统管理员权限才可以访问此系统表。
select roloid, min(passwordtime) as create_time from pg_auth_history group by roloid order by roloid;
示例:
通过查询视图PG_USER获取用户jerry的OID为457386, 查询passwordtime字段获取到用户jerry的创建时间为2022-05-19
10:31:56。
select roloid, min(passwordtime) as create_time from pg_auth_history group by roloid order by roloid; roloid | create_time
--------+------------------------------- 10 | 2022-02-25 09:53:38.711785+08 16393 | 2022-02-25 09:55:17.992932+08 451897 | 2022-05-18 09:42:26.897855+08 451910 | 2022-05-18 09:46:33.152354+08 457386 | 2022-05-19 10:31:56.037706+08
(5 rows)
数据在数据仓库服务中是否安全?
安全。在大数据时代,数据是用户的核心资产。将继续秉承多年来向社会做出的“上不碰应用,下不碰数据”的承诺,保证用户核心资产的安全。这是我们对用户和社会的承诺,也是云平台及其伙伴商业成功的保障和基石。
我们的数据仓库服务工程师对整个数据仓库系统进行了电信系统级别的安全增强,大量地采用了多年来在电信行业里积累的各种经验和知识,特别是针对数据安全,用户隐私方面的技术和专利。因此,数据仓库服务是一款符合电信级质量要求的产品,满足各级政府,金融机构,电信运营商对数据安全和用户隐私的要求,并在以上各行业被广泛使用。数据仓库服务还获得了如下安全认证:
- 网络安全实验室ICSL的认证:该认证是遵从英国当局颁布的网络安全标准设立的。
- 隐私和安全管理当局PSA的官方认证:该认证满足欧盟对数据安全和隐私的要求。
业务数据安全
数据仓库服务构建在云平台的基础软件设施之上,包括云主机弹性云主机和对象存储服务OBS。
DWS用户的业务数据是直接存放在集群的云主机当中,集群的云主机对DWS用户本身不可见,只向用户提供数据仓库访问服务,用户以及云平台的运维管理员均无法登录DWS集群云主机进行操作。
DWS集群云主机操作系统进行了严格的安全加固,包括内核安全加固,系统最新补丁,权限控制,端口管理,协议与端口防攻击等。
DWS提供完整的密码策略、身份认证、会话管理、用户权限管理和数据库审计等安全措施。
快照数据安全
DWS的备份数据是以快照的形式存储在OBS上 。OBS已通过中国数据中心联盟的可信云安全认证。OBS上的数据支持访问权限控制,密匙访问,数据加密。DWS的快照数据仅用于数据的备份和恢复,无法被外界任何用户访问操作,包括DWS用户本身。DWS系统管理员可以通过DWS Console的快照管理和账单看到快照数据在OBS的空间使用情况。
网络访问安全
DWS的如下网络安全部署设计使租户之间实现100%的二三层网络隔离,满足政务,金融用户的高等级安全隔离需要。
- DWS部署在租户专属的云主机环境中,不和任何其他租户共享,从物理上隔绝了数据因为计算资源共享而被泄露的可能性。
- DWS集群的虚拟机通过虚拟私有云隔离,避免被其他租户发现和入侵。
- 网络划分为业务平面和管理平面,两个平面采用物理隔离的方式进行部署,保证业务、管理各自网络的安全性。
- 安全组规则保护,租户可以通过自定义安全组的功能,配置安全域的访问规则,提供灵活的网络安全性配置。
- 外部应用软件访问数据仓库服务支持SSL网络安全协议。
- 支持数据从OBS导入的加密传输。
数据仓库使用哪些安全防护?
数据仓库服务使用IAM和虚拟私有云来控制用户、集群的网络安全隔离。用户对集群的访问则采用了SSL安全连接和安全算法套件,支持双向数字证书认证。
同时在每个集群中对节点的操作系统进行安全加固,仅允许合法地访问操作系统文件,提高数据安全性。
可以修改DWS集群的安全组吗?
DWS集群创建成功后可以在当前的安全组中添加、删除或修改安全组规则。
您可以通过如下步骤编辑集群的安全组:
1.登录DWS 管理控制台。
2.在左侧导航树,单击“集群管理”。
3.在集群列表中找到所需要的集群,然后单击集群名称。
4.在“集群详情”页面中,找到“安全组”参数,单击安全组名称进入安全组详情页面,您可以对安全组进行设置。
数据库、数据仓库、数据湖、湖仓一体分别是什么?
如今随着互联网以及物联网等技术的不断发展,越来越多的数据被生产出来,数据管理工具也得到了飞速的发展,大数据相关概念如雨后春笋一般应运而生,如从数据库、数据仓库、数据湖、湖仓一体等。这些概念分别指的是什么,又有着怎样的联系,同时,对应的产品与方案又是什么呢?本文将一一进行对比介绍。
什么是数据库?
数据库是“按照数据结构来组织、存储和管理数据的仓库”。
广义上的数据库,在20世纪60年代已经在计算机中应用了。但这个阶段的数据库结构主要是层次或网状的,且数据和程序之间具备非常强的依赖性,应用较为有限。
现在通常所说的数据库指的是关系型数据库。关系数据库是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,具有结构化程度高,独立性强,冗余度低等优点。1970年关系型数据库的诞生,真正彻底把软件中的数据和程序分开来,成为主流计算机系统不可或缺的组成部分。关系型数据库已经成为目前数据库产品中最重要的一员,几乎所有的数据库厂商新出的数据库产品都支持关系型数据库,即使一些非关系数据库产品也几乎都有支持关系数据库的接口。
关系型数据库的主要用于联机事务处理OLTP(On-Line Transaction Processing)主要进行基本的、日常的事务处理,例如银行交易等场景。
什么是数据仓库?
随着数据库的大规模应用,使信息行业的数据爆炸式的增长。为了研究数据之间的关系,挖掘数据隐藏的价值,人们越来越多的需要使用联机分析处理OLAP(On-Line Analytical Processing)进行数据分析,探究一些深层次的关系和信息。但是不同的数据库之间很难做到数据共享,数据之间的集成与分析也存在非常大的挑战。
为解决企业的数据集成与分析问题,数据仓库之父比尔·恩门于1990年提出数据仓库(Data Warehouse)。数据仓库主要功能是将OLTP经年累月所累积的大量数据,通过数据仓库特有的数据储存架构进行OLAP,最终帮助决策者能快速有效地从大量数据中,分析出有价值的信息,提供决策支持。自从数据仓库出现之后,信息产业就开始从以关系型数据库为基础的运营式系统慢慢向决策支持系统发展。
数据仓库相比数据库,主要有以下两个特点:
- 数据仓库是面向主题集成的。数据仓库是为了支撑各种业务而建立的,数据来自于分散的操作型数据。因此需要将所需数据从多个异构的数据源中抽取出来,进行加工与集成,按照主题进行重组,最终进入数据仓库。
- 数据仓库主要用于支撑企业决策分析,所涉及的数据操作主要是数据查询。因此数据仓库通过表结构优化、存储方式优化等方式提高查询速度、降低开销。
数据仓库与数据库的对比
维度 | 数据仓库 | 数据库 |
---|---|---|
应用场景 | OLAP | OLTP |
数据来源 | 多数据源 | 单数据源 |
数据标准化 | 非标准化Schema | 高度标准化的静态Schema |
数据读取优势 | 针对读操作进行优化 | 针对写操作进行优化 |
什么是数据湖?
在企业内部,数据是一类重要资产已经成为了共识。随着企业的持续发展,数据不断堆积,企业希望把生产经营中的所有相关数据都完整保存下来,进行有效管理与集中治理,挖掘和探索数据价值。
数据湖就是在这种背景下产生的。数据湖是一个集中存储各类结构化和非结构化数据的大型数据仓库,它可以存储来自多个数据源、多种数据类型的原始数据,数据无需经过结构化处理,就可以进行存取、处理、分析和传输。数据湖能帮助企业快速完成异构数据源的联邦分析、挖掘和探索数据价值。
数据湖的本质,是由“数据存储架构+数据处理工具”组成的解决方案。
- 数据存储架构:要有足够的扩展性和可靠性,可以存储海量的任意类型的数据,包括结构化、半结构化和非结构化数据。
- 数据处理工具,则分为两大类:
- 第一类工具,聚焦如何把数据“搬到”湖里。包括定义数据源、制定数据同步策略、移动数据、编制数据目录等。
- 第二类工具,关注如何对湖中的数据进行分析、挖掘、利用。数据湖需要具备完善的数据管理能力、多样化的数据分析能力、全面的数据生命周期管理能力、安全的数据获取和数据发布能力。如果没有这些数据治理工具,元数据缺失,湖里的数据质量就没法保障,最终会由数据湖变质为数据沼泽。
随着大数据和AI的发展,数据湖中数据的价值逐渐水涨船高,价值被重新定义。数据湖能给企业带来多种能力,例如实现数据的集中式管理,帮助企业构建更多优化后的运营模型,也能为企业提供其他能力,如预测分析、推荐模型等,这些模型能刺激企业能力的后续增长。
对于数据仓库与数据湖的不同之处,可以类比为仓库和湖泊的区别:仓库存储着来自特定来源的货物;而湖泊的水来自河流、溪流和其他来源,并且是原始数据。
数据湖与数据仓库的对比
维度 | 数据湖 | 数据仓库 |
---|---|---|
应用场景 | 可以探索性分析所有类型的数据,包括机器学习、数据发现、特征分析、预测等 | 通过历史的结构化数据进行数据分析 |
使用成本 | 起步成本低,后期成本较高 | 起步成本高,后期成本较低 |
数据质量 | 包含大量原始数据,使用前需要清洗和标准化处理 | 质量高,可作为事实依据 |
适用对象 | 数据科学家、数据开发人员为主 | 业务分析师为主 |
什么是湖仓一体?
虽然数据仓库和数据湖的应用场景和架构不同,但它们并不是对立关系。数据仓库存储结构化的数据,适用于快速的BI和决策支撑,而数据湖可以存储任何格式的数据,往往通过挖掘能够发挥出数据的更大作为,因此在一些场景上二者的并存可以给企业带来更多收益。
湖仓一体,又被称为Lake House,其出发点是通过数据仓库和数据湖的打通和融合,让数据流动起来,减少重复建设。Lake House架构最重要的一点,是实现数据仓库和数据湖的数据/元数据无缝打通和自由流动。湖里的“显性价值”数据可以流到仓里,甚至可以直接被数仓使用;而仓里的“隐性价值”数据,也可以流到湖里,低成本长久保存,供未来的数据挖掘使用。
数据智能方案
数据治理中心DataArts Studio为大型政企客户量身定制跨越孤立系统、感知业务的数据资源智能管理解决方案,实现全域数据入湖,帮助政企客户从多角度、多层次、多粒度挖掘数据价值,实现数据驱动的数字化转型。
数据治理中心DataArts Studio的核心主要是智能数据湖FusionInsight,包含数据库、数据仓库、数据湖等各计算引擎平台,提供了数据使能的全套能力,支持数据的采集、汇聚、计算、资产管理、数据开放服务的全生命周期管理。
拥有强大的湖、仓、库引擎技术,比如数据湖敏捷构建、GaussDB数据库快速迁移,数仓的实时分析等,对应服务如下:
- 数据库:
−关系型数据库包括:云数据库RDS、云数据库GaussDB(for MySQL)、云数据库GaussDB(for openGauss)、云数据库PostgreSQL、云数据库SQL Server等。
- −非关系型数据库包括:文档数据库服务DDS,云数据库 GaussDB NoSQL(包含Influx、Redis、Mongo、Cassandra)等。
- 数据仓库:数据仓库服务DWS。
- 数据湖\湖仓一体:云原生大数据MRS,数据湖探索DLI等。
- 数据治理中心:数据治理中心DataArts Studio。
相关文章:
为什么要使用数据仓库?
现状和需求 大量的企业经营性数据(订单,库存,原料,付款等)在企业的业务运营系统以及其后台的(事务型)数据库中产生的。 企业的决策者需要及时地对这些数据进行归类分析,从中获得企业运营的各种业务特征&a…...
《宇宙机器人》提示错误弹窗“找不到d3dx9_43.dll”是什么原因?“d3dx9_43.dll缺失”怎么解决?
电脑游戏运行时常见问题解析:《宇宙机器人》提示“找不到d3dx9_43.dll”的解决之道 TGA2024落幕,年度最佳游戏——《宇宙机器人》,作为一名在软件开发领域深耕多年的从业者,我深知电脑游戏在运行过程中可能会遇到的各种挑战&…...
DAC数据手册中专有名词TERMINOLOGY 讲解
DAC数据手册中TERMINOLOGY专有名词 讲解 Relative Accuracy or Integral Nonlinearity (INL):相对精度 或 积分非线性LSB(Least Significant Bit):最小有效位 Differential Nonlinearity (DNL):差分非线性单调性DNL很重…...
Java中基于TCP的Socket编程
一、概述 Socket(套接字)是网络通信的一种机制,允许不同主机之间的进程进行通信。在Java中,Socket支持TCP(传输控制协议)和UDP(用户数据报协议)。 1、TCP协议介绍 TCP协议在通信之…...
详解二叉树
一、树的概念和结构 树是⼀种非线性的数据结构,它是由 n(n>0) 个有限结点组成⼀个具有层次关系的集合。把它叫做 树是因为它看起来像⼀棵倒挂的树,也就是说它是根朝上,而叶朝下的。 • 有⼀个特殊的结点࿰…...
Kafka Connect
根据您提供的错误信息和日志分析,这里是一些针对 Kafka Connect、协调者不可用、网络客户端连接问题、消费者组偏移量提交失败以及消费者组协调者发现问题的具体解决建议: 检查 Kafka 集群状态: 使用 kafka-broker-api-versions.sh 检查每个 …...
Mac charles报错 invalid keystore format
1.问题说明 打开charles会有一个 invalid keystore format的提示,更隐藏的影响,是安卓设备安装了凭证,但是charles仍然抓不到包,会展示unknow,即使是charles配置好了ssl proxy setting,并且mac信任了char…...
Leetcode 409. Longest Palindrome
Problem Given a string s which consists of lowercase or uppercase letters, return the length of the longest palindrome that can be built with those letters. Letters are case sensitive, for example, “Aa” is not considered a palindrome. Algorithm Count …...
事件代理详解
一、基本概念 事件代理(Event Delegation),也称为事件委托,是一种在 JavaScript 中处理事件的技术。它基于 DOM(文档对象模型)事件流的原理,利用事件冒泡机制,将一个元素࿰…...
代码随想录算法训练营第三天 | 链表理论基础 | 203.移除链表元素
感觉上是可以轻松完成的,因为对链接的结构,元素的删除过程心里明镜似的 实际上四处跑气 结构体的初始化好像完全忘掉了,用malloc折腾半天,忘记了用new,真想扇自己嘴巴子到飞起删除后写一个函数,把链表打印…...
专业140+总分410+浙江大学842信号系统与数字电路考研经验浙大电子信息与通信工程,真题,大纲,参考书。
考研落幕,本人本中游211,如愿以偿考入浙江大学,专业课842信号系统与数字电路140,总分410,和考前多次模考预期差距不大(建议大家平时做好定期模考测试,直接从实战分数中,找到复习的脉…...
Python-pptx库简介
目录 一、Python-pptx 库概述 二、安装 Python-pptx 库 三、创建演示文稿 四、添加文本内容 五、添加形状 六、添加图片 七、添加图表 八、保存演示文稿 九、示例演示文稿 十、总结 在Python编程中,处理演示文稿是一项常见的任务。Python-pptx库为我们提供…...
电子应用设计方案-52:智能电子相框系统方案设计
智能电子相框系统方案设计 一、引言 智能电子相框作为一种能够展示数字照片和多媒体内容的设备,为用户提供了便捷、个性化的照片展示方式。本方案旨在设计一款功能丰富、用户体验良好的智能电子相框系统。 二、系统概述 1. 系统目标 - 高质量显示照片和视频&#…...
mac 安装CosyVoice (cpu版本)
CosyVoice 介绍 CosyVoice 是阿里研发的一个tts大模型 官方项目地址:https://github.com/FunAudioLLM/CosyVoice.git 下载项目(非官方) git clone --recursive https://github.com/v3ucn/CosyVoice_for_MacOs.git 进入项目 cd CosyVoic…...
mysql命令行界面(黑框)的登录
文章目录 开启关闭服务报错登录mysql退出mysql数据据database在电脑中的存放位置删除数据库语句 drop注意 cmd用管理员打开 开启关闭服务 报错 我有这个报错,但是使用没什么影响 登录mysql root替换成自己的用户名 退出mysql exit 数据据database在电脑中的…...
Git 快速入门
Git 是什么? Git 是一个分布式版本控制系统四大区域: 工作区:项目文件的当前状态,即本地目录。暂存区:保存将要提交的文件快照,是一个中间层,使用git add将文件添加到暂存区。本地仓库…...
优先队列及其应用
优先队列 优先队列是一种特殊的队列数据结构,它的特点是每个元素都有一个优先级,出队操作按照优先级而不是入队顺序来决定。 当优先队列为从大到小排列时,队列元素的头部始终保持数值最大,并且可以通过队尾插入数据,…...
Python:基于PyCharm的简单程序创建及运行-HelloWorld
1. 新建项目 2. 设置文件位置,并创建项目 文件位置由“目录项目名称”组成,如:D:\PycharmProjects\HelloWorld,“HelloWorld”则是项目名称。 3. 创建Python文件 4. 定义文件名称,如HelloWorld。双击【Python 文件】完…...
MySQL笔记--多表查询
1--多表关系 多表关系基本上分为三种: 一对多(多对一); 多对多; 一对一; 1-1--多对一 在多的一方建立外键,指向一的一方的主键; 1-2--多对多 建立第三张中间表,中间表至少…...
CentOS Stream Linux操作系统最新版本安装部署
https://www.centos.org/ 如上所示,从CentOS Stream Linux操作系统官方网站下载最新版本的操作系统安装源文件。 如上所示,在VMware中设置CentOS Stream Linux操作系统的安装属性,包括设置运行内存容量、处理器核数、硬盘容量、网络连接模式…...
D95【python 接口自动化学习】- pytest进阶之fixture用法
day95 pytest的fixture详解(二) 学习日期:20241210 学习目标:pytest基础用法 -- pytest的fixture详解(二) 学习笔记: fixture(autouseTrue) func的autouse是TRUE时,所有函数方法…...
自动化立体仓库堆垛机SRM控制系统运行控制功能块开发设计
1、堆垛机SRM控制系统硬件组态如下图 G120变频器,通信报文111 2、堆垛机SRM控制系统HMI屏幕页面如下图 运行、起升、货叉相关参数设定 3、堆垛机SRM控制系统中相关变量定义如下图 行走报警 行走条码位置反馈 行走条码速度反馈 行走正极限 行走负极限 4、运行控制功能块代码…...
测试工程师的职业规划
测试人员在管理上的发展 基层测试管理者:测试组长 工作内容:安排小组工作,提升小组成员测试能力,负责重要的测试工作。 负责对象:版本,项目 中层测试管理者:测试经理 负责对象࿱…...
CSS:html中,.png的动态图,怎么只让它显示部分,比如只显示右上部分的,或右边中间部分
目录 背景 方法 1: 使用 background-image 和 background-position 示例代码 解释 方法 2: 使用 clip-path 裁剪图像 示例代码 解释 方法 3: 使用 object-fit 和 overflow 示例代码 解释 示例 总结 背景 在HTML中,如果你有一个 .png 的动态图(例如一个 GIF 动画或…...
Python音频处理:如何将立体声转换为单声道并调整采样率
Python音频处理:如何将立体声转换为单声道并调整采样率 问题背景解决方案1. 首先导入需要的库2. 将立体声转换为单声道3. 调整采样率4. 处理音频块 代码解释注意事项小贴士总结 大家好!今天我们来学习一个简单但实用的音频处理小技巧 - 如何使用Python将…...
go语言并发读写数据队列,不停写的同时,一次最多读取指定量数据(逐行注释)
1、数据队列可以存储任意类型的一个数据(下程序是添加整数值)。 数据队列代码点这里查看《go语言结构体实现数据结构队列(先进先出)存储数据(逐行注释)》 2、读写操作并发进行(下程序向队列中…...
2024 年最新前端ES-Module模块化、webpack打包工具详细教程(更新中)
模块化概述 什么是模块?模块是一个封装了特定功能的代码块,可以独立开发、测试和维护。模块通过导出(export)和导入(import)与其他模块通信,保持内部细节的封装。 前端 JavaScript 模块化是指…...
【深度学习】服务器常见命令
1、虚拟环境的安装位置 先进入虚拟环境 which python2、升序查看文件内容 ls -ltr3、查看服务器主机空间使用情况 df -hdf -h .4、查看本地空间使用情况 du -sh ./*du -sh * | sort -nr5、查找并删除进程 # 查找 ps aux# 删除 kill -KILL pid6、查看服务器配置 lscpuuna…...
C++小白实习日记——Pollnet,Efvi,UDP,数据类型转换(下)
内容太多了,这篇记录UDP接收端 一,UDP接收端接收数据 有了pollnet这个开源项目的支持,接收端的步骤为:1)初始化硬编码的参数:接口,IP和端口 2)创建接收文件.csv 3)读…...
pytorch bilstm crf的教程,注意 这里不支持批处理,要支持批处理 用torchcrf这个。
### Bi-LSTM Conditional Random Field ### pytorch tutorials https://pytorch.org/tutorials/beginner/nlp/advanced_tutorial.html ### 模型主要结构:  pytorch bilstm crf的教程,注意 这里不支持批处理 Python version…...
C# OpenCV机器视觉:畸变矫正
在一个阳光明媚的早晨,阿强决定去拍照。他拿起相机,穿上他最喜欢的羊毛大衣,准备记录下生活中的美好瞬间。可是,当他兴奋地查看照片时,发现自己拍的每一张都像是被外星人用变形金刚的力量扭曲过一样!“这是…...
Java 密封类 (Sealed Classes) 深度解析
文章目录 语法说明定义密封类定义子类 使用场景探讨实际应用示例与其他语言特性的结合使用 Java 作为一种面向对象编程语言,提供了继承机制来实现代码复用和扩展。然而,无限制的继承可能导致代码库变得难以维护,甚至引入安全隐患。为了应对这…...
conda和pip源
conda 地址 ~/.condarc中科大源 channels:- conda-forge- https://mirrors.ustc.edu.cn/anaconda/pkgs/main/- https://mirrors.ustc.edu.cn/anaconda/pkgs/r/- https://mirrors.ustc.edu.cn/anaconda/pkgs/msys2/- defaults show_channel_urls: true查看 conda config --s…...
【c++数学】解一元一次方程
注意:没有合并多项式的功能,且未知数必须只在左边,右边是常数!!! 好用记得点赞! 代码如下: #include<iostream> #include<stdio.h>using namespace std;string q,f;d…...
【超详细实战攻略】Jmeter逻辑控制器中if控制器、模块控制器、测试片段的使用方法
【超详细实战攻略】Jmeter逻辑控制器中if控制器、模块控制器、测试片段的使用方法 1 搭建测试对象1.1 禅道下载1.2 禅道安装1.3 运行禅道1.4 接口查看1.5 接口选择 2 Jmeter前置操作2.1 创建Jmeter线程组2.2 创建信息头管理器和请求默认值2.3 添加获取token接口2.4 添加监听器 …...
采用qL-MPC技术进行小型固定翼无人机的路径跟随控制
来自论文"Predictive Path-Following Control for Fixed-Wing UAVs Using the qLMPC Framework in the Presence of Wind Disturbances" 控制架构 采用的是 ULTRA-Extra无人机,相关参数如下: 这里用于guidance law的无人机运动学模型为&#…...
比特币是否会取代美元(以及其他主权货币)
上图是 Olivier Blanchard 宏观经济学第八版的英文版内容。这里用中文解释。 1. 背景与现状: 比特币的规模与美元相比仍然很小: 截至 2018 年 12 月,比特币的总流通量为 1730 万枚,每枚价值 $3,900,总市值约 $670 亿…...
safe area helper插件
概述 显示不同机型的必能显示的区域 实现步骤 引入safearea,引入其中的safearea的csharp 为cancas加入gameobject gameobject中加入safearea脚本 将UI作为这个gameobject的子物体,就可以完成显示...
融云分享基于 Rust 的鸿蒙 SDK 开发实践
12 月 5 日,以“同心聚力,共建共享鸿蒙新生态”为主题的“鸿蒙生态伙伴 SDK 开发者论坛”在京举行。 融云凭借对鸿蒙生态的率先适配和创新贡献,荣获华为鸿蒙生态“HarmonyOS NEXT SDK 星河奖”。 本次论坛邀请了多位行业领导者参与ÿ…...
golang中的值传递与引用传递,如何理解结构体的方法?
先从一个例子说起 type Counter struct {count int }func (c Counter) Inc() {c.count }func test1() {c : Counter{}do : func() {for i : 0; i < 10; i {c.count}fmt.Println("done")}go do()go do()time.Sleep(3 * time.Second)fmt.Println(c.count) }func te…...
TON游戏现状一览:区块链与Telegram的完美融合
TON(The Open Network)作为一款基于区块链的开放平台,因其超高的交易处理速度和与Telegram的紧密集成,成为游戏开发者和用户的新兴乐土。TON不仅仅是一个去中心化的网络,它还通过其核心加密货币——Toncoin,…...
《变分法·吴迪光1987年》复习汇总
目录 第一章 变分法的概念1 泛函和泛函的极值例1 捷线(最速降线)问题例2 等周问题例3 极小曲面问题极值必要条件 2 基本引理(考反证法)基本引理1基本引理2 第二章 固定边界的变分问题 ♠ \spadesuit ♠ 欧拉方程(一&am…...
使用IP自签名SSL证书
最近需要创建WebSocket服务器并使用SSL证书,由于是内网测试,所以需要使用指定IP的自签SSL证书。 其实笔者前面博文 使用nexus3作为Docker镜像仓库 解决nexus3登录x509: certificate has expired or is not yet valid 中有创建过相应的证书,这…...
如何持续优化呼叫中心大模型呼出机器人的性能?
如何持续优化呼叫中心大模型呼出机器人的性能? 原作者:开源呼叫中心FreeIPCC,其Github:https://github.com/lihaiya/freeipcc 持续优化呼叫中心大模型呼出机器人的性能是一个复杂而持续的过程,涉及多个层面的策略和措…...
3D,点云平滑法线估计
需要平滑的情况 1、用激光扫描仪等设备扫描物体(尤其是比较小的物体)时,往往会有测量误差。这些误差所造成的不规则数据如果直接拿来曲面重建的话,会使得重建的曲面不光滑或者有漏洞,而且这种不规则数据很难用统计分析等滤波方法消除; 2、后处理过程中,对同一个物体从…...
windows下pyenv与宝塔python冲突解决
windows下安装pyenv后与宝塔python环境冲突 1、将C:\Program Files\python\Scripts中的pip3.exe改名(pip3-.exe) 2、将C:\用户\{用户名}\.pyenv\pyenv-win\shims中的pip、pip.bat、python、python.bat改名(pip-、pip-.bat、python-、python-.bat),然后使用pip3和p…...
C# 探险之旅:第二十五节 - 类型class之字段Fields大冒险
嘿,探险家们!欢迎再次搭乘C#的魔法列车,今天我们要深入探索class里的宝藏——字段(Fields)!想象一下,字段就像是类里的秘密小房间,里面藏着对象的小秘密和宝藏。我们不仅要看看这些小…...
如何更新项目中的 npm 或 Yarn 依赖包至最新版本
要升级 package.json 文件中列出的包,你可以使用 npm(Node Package Manager)或 yarn。以下是两种工具的命令来更新你的依赖项: 使用 npm 更新所有包到最新版本 npm update如果你想将所有依赖项更新到其各自最新的大版本…...
【Linux系列】使用 watch 命令实时查看容器状态
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
电脑技巧:Everything 1.5 版本重大更新支持拼音搜索+全文搜索
目录 一、软件介绍 二、主要更新亮点 更快的搜索速度和拼音搜索 全文搜索功能 智能推荐功能 增强的过滤选项 改进的用户界面 更好的多语言支持 增强的安全性和隐私保护 三、总结 Everything 作为一款备受推崇的文件搜索工具,以其卓越的性能和简洁的用户界…...