当前位置: 首页 > news >正文

【热门主题】000072 分布式数据库:开启数据管理新纪元

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕

共同探索软件研发!敬请关注【宝码香车】
关注描述

csdngif标识

目录

  • 【热门主题】000072 分布式数据库:开启数据管理新纪元
  • 📚一、分布式数据库概述
  • 📚二、分布式数据库的发展历程
    • 📘1. 发展背景
    • 📘2. 快速发展
    • 📘3. 国内发展
  • 📚三、分布式数据库的应用场景
    • 📘1. 互联网和电子商务平台
    • 📘2. 金融服务
    • 📘3. 物联网(IoT)
    • 📘4. 大数据分析
    • 📘5. 云计算平台
    • 📘6. 实时高并发事务系统
    • 📘7. 混合负载业务系统
    • 📘8. 数据仓库延展
  • 📚四、分布式数据库的优势
    • 📘1. 更适合分布式的管理与控制
    • 📘2. 具有灵活的体系结构
    • 📘3. 提高可靠性和可用性
    • 📘4. 可扩展性好
    • 📘5. 性能改进
    • 📘6. 管理不同透明度的数据
  • 📚五、分布式数据库的发展趋势
    • 📘1. 走向原生设计
    • 📘2. 架构的设计走向一体化
    • 📘3. 能力向混合负载发展


📚📗📕📘📖🕮💡📝🗂️✍️🛠️💻🚀🎉🏗️🌐🖼️🔗📊👉🔖⚠️🌟🔐⬇️·正文开始⬇️·🎥😊🎓📩😺🌈🤝🤖📜📋🔍✅🧰❓📄📢📈 🙋0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣🔟🆗*️⃣#️⃣

【热门主题】000072 分布式数据库:开启数据管理新纪元

📚一、分布式数据库概述

分布式数据库图片描述

分布式数据库系统是数据库技术与计算机网络技术结合的产物,具有物理上分布、逻辑上集中或分布的特点,从逻辑上看如同集中式数据库系统一样,用户可在任何一个场地执行全局应用。
分布式数据库是指将数据分散存储在多个计算机节点上的数据库系统,这些节点通过网络相互连接,形成一个逻辑上统一的数据库系统。其原理在于将数据分散到多个节点,以提高可用性、可扩展性和容错性。CAP 定理指出,在分布式系统中,不可能同时满足一致性、可用性和分区容忍性,因此分布式数据库系统通常会在 CAP 理论框架下进行优化设计,权衡并选择最适合自身业务需求的两个属性进行实现。
分布式数据库具有以下特点:
数据分布性:数据分布在多个计算机上,能够分散存储压力,避免单点故障。
数据并行处理:多个计算机可以同时处理数据,充分利用计算资源,显著提高数据处理速度。
数据一致性:通过分布式事务处理等技术确保数据的一致性,保证数据的准确性和可靠性。
数据可扩展性:可以方便地增加更多的计算机来扩展系统的处理能力,更好地应对不断增长的数据量和处理需求。
分布式数据库的应用场景非常广泛,涵盖了多个行业和领域:
互联网和电子商务平台:能够处理大量用户生成的数据和实时互动,例如社交媒体、在线购物和金融交易平台。通过数据分片和负载均衡技术,可以提高系统的性能和可扩展性,在促销期间可成功支撑数亿用户的访问需求。
金融服务:可以支持银行的分行、支行等分支机构的业务处理,确保跨地区的交易数据的一致性和完整性。作为核心业务系统的数据存储方案,保障金融交易的安全性和一致性,同时利用多副本机制和自动故障恢复技术,确保系统的高可用性和容错能力。
物联网(IoT):涉及大量的传感器数据和设备数据,这些数据需要进行实时处理和分析。可以将数据存储在离数据源最近的节点上,减少数据传输的延迟,提高数据的实时性。同时,通过数据复制和数据分片技术提高系统的可用性,保证数据的安全性和稳定性。
大数据分析:在数据湖中能够存储和处理海量数据,结合 Hadoop 与 Spark 进行大数据分析。数据湖可以高效地存储结构化与非结构化数据,利用 Spark 进行分析和处理,帮助企业从海量数据中发现规律和价值,做出更好的决策。
云计算平台:在云服务中扮演着重要角色,提供数据存储、管理和分析的服务,支持多种数据模型和查询语言,使得用户可以在云环境中灵活地处理数据。
实时高并发事务系统:在移动互联网、电商等业务中,能够在线平滑地扩展实例规模,应对高并发访问的考验,同时保证分布式系统事务的一致性。
混合负载业务系统:能够同时处理 OLTP(在线事务处理)和 OLAP(在线分析处理)的需求,提供高性能并行执行计算,充分释放资源,进一步提升系统稳定性。
数据仓库延展:在这种场景中可以存放分析和挖掘的结果,供外部应用调用查询。

📚二、分布式数据库的发展历程

📘1. 发展背景

20 世纪 80 年代,关系数据库理论诞生,IBM 和 Oracle 两家公司开始提供商业化的数据库产品。初期这些数据库都是单机软件,运行在专有的硬件之上,如 IBM 的大机、小型机等。如果业务量或数据量增加,只能通过增加 CPU、存储等方式进行垂直扩展。这种体系虽然稳定,但存在开放性不够、与通用 x86 服务器体系之上的开发环境兼容性差、扩展能力有限以及造价昂贵等问题。

📘2. 快速发展

随着大数据技术的发展,以 Hadoop、Greenplum 为代表的非结构化大规模数据处理技术崛起。这些技术采用 Shared-nothing 架构,在分析领域率先实现了分布式的扩展。分析的主要任务是数据的查询,其应对的挑战主要是海量数据的存储、计算,对于事务的要求较低。
2010 年后,谷歌 Spanner、Tidb 采用 Paxos 或 Raft 等一致性协议来解决中间件方案的单点瓶颈问题,为事务数据库的分布式化提供了新的理论依据。TiDB 主要是基于 Google 的 Spanner 和 F1 数据库的设计理念改进而来,它结合了 Google Spanner 的分布式一致性协议和 F1 的 SQL 层架构,以实现高可用、高性能和高扩展性。TiDB 的架构设计主要包括三个核心组件:TiDB Server、TiKV Server 和 Placement Driver (PD)。TiDB Server 负责 SQL 解析、优化和执行;TiKV Server 是一个分布式的 Key-Value 存储引擎,负责实际的数据存储;PD 负责全局调度和元数据管理。

📘3. 国内发展

在中国,金融行业率先使用分布式数据库系统。曾长期由 Oracle、IBM 等国外科技公司占据主导地位,不仅导致软件服务费用高昂,而且在许多关键领域还存在信息安全的隐患。
随着华为、腾讯、阿里纷纷投入自主研发数据库的业务布局,中国产品在国内市场替代率节节攀升。以腾讯云数据库 TDSQL 为例,它具有金融级分布式、多引擎融合、快速扩容、智能运维、数据安全、兼容性强以及优质的客户服务等特点。目前有超过 4000 家来自金融、公共服务和电信等垂直行业客户采用 TDSQL,服务超过 30 家金融机构完成核心系统替换,中国十大银行中的七家都应用了 TDSQL,市场份额国内第一。
2021 年,中国工信部印发《“十四五” 信息化和工业化深度融合发展规划》,明确提出加速分布式数据库、混合事务分析处理数据库、共享内存数据库集群等产品研发和应用推广。2023 年 6 月 7 日,继 MetaERP 之后,华为推出全新 GaussDB 数据库产品,是中国首个软硬协同全栈自主的数据库。同年 12 月,全球 IT 研究和咨询公司 IDC 发布了《IDCMarketScape:中国分布式关系型数据库 2023 年厂商评估》的报告显示,腾讯云、华为云、阿里云位居中国分布式关系型数据库市场份额 Top3。蚂蚁 OB、金篆信科也入选领导者象限。
随着核心系统案例开始投产,分布式数据库在证券与保险领域能力已逐步成熟,需求较为显著的用户拥有更多的信息支撑实施落地。同时,银行业领域案例也日益丰富,为推进 “从外围到核心” 工作提供良好基础。金融级分布式数据库竞争格局逐渐明确,步入高质量竞争阶段。数据库厂商需要在产品效能、安全能力、服务能力、实践积累四大方面完成较好的布局与积累,以缓解用户在金融级分布式数据库使用中的顾虑,减轻用户建设数据库与运维管理复杂度。

📚三、分布式数据库的应用场景

📘1. 互联网和电子商务平台

在互联网和电子商务平台中,分布式数据库发挥着至关重要的作用。随着在线购物、社交媒体和金融交易等平台的不断发展,用户生成的数据量呈爆炸式增长,同时对系统的实时互动性要求也越来越高。分布式数据库通过数据分片和负载均衡技术,能够有效地处理这些大量的数据和高并发的请求。
例如,在电商平台的促销活动期间,用户访问量会急剧增加,分布式数据库可以根据用户的地理位置、购买历史等因素进行数据分片,将数据分散存储在不同的节点上。同时,负载均衡技术可以动态地分配用户请求到不同的节点,确保每个节点的负载均衡,从而成功支撑数亿用户的访问需求。
此外,电商平台还需要快速的数据读写能力,以保证用户的购物体验。分布式数据库可以通过多副本机制,将数据存储在多个节点上,提高数据的可用性和可靠性。即使某个节点出现故障,其他节点仍然可以提供服务,保证系统的稳定性。

📘2. 金融服务

金融服务领域对数据的一致性、完整性和安全性要求极高。分布式数据库作为金融核心业务系统的数据存储方案,能够确保跨地区的交易数据的一致性和完整性。
采用分布式数据库可以支持银行的分行、支行等分支机构的业务处理。通过多副本机制和自动故障恢复技术,即使某个地区的节点出现故障,其他地区的节点仍然可以继续处理业务,保障金融交易的安全性和一致性。
例如,在金融风险管理方面,分布式数据库不仅能够提高金融机构的风险管理能力,还能够提高金融行业的整体风险控制水平。同时,分布式数据库还具有强大的数据分析、加密和共享功能,可以帮助金融机构更好地管理和利用数据资源。

📘3. 物联网(IoT)

物联网涉及大量的传感器数据和设备数据,这些数据需要进行实时处理和分析。分布式数据库可以将数据存储在离数据源最近的节点上,减少数据传输的延迟,提高数据的实时性。
通过数据复制和数据分片技术,分布式数据库可以提高系统的可用性。即使某个节点出现故障,其他节点仍然可以提供数据服务,保证数据的安全性和稳定性。
例如,在智能家居领域,当用户需要控制家电时,手机会向云端发送请求,云端根据用户的身份信息将请求转发给相应的家庭控制设备,设备再通过本地的分布式数据库进行数据存储和管理,从而实现快速、高效和安全的数据交互。

📘4. 大数据分析

在大数据分析中,分布式数据库可以在数据湖中存储和处理海量数据。结合 Hadoop 与 Spark 进行大数据分析,数据湖可以高效地存储结构化与非结构化数据,利用 Spark 进行分析和处理。
分布式数据库可以通过数据分片和负载均衡技术,提高数据处理的效率。同时,分布式数据库还可以支持多种数据模型和查询语言,使得用户可以在大数据分析中灵活地处理数据。
例如,企业可以利用分布式数据库存储和分析大量的用户行为数据,从中挖掘有价值的信息,为企业的决策提供支持。

📘5. 云计算平台

在云计算平台中,分布式数据库提供数据存储、管理和分析的服务。支持多种数据模型和查询语言,使得用户可以在云环境中灵活地处理数据。
云计算平台的分布式数据库可以根据用户的需求进行动态扩展和收缩,提高资源的利用率。同时,云计算平台的分布式数据库还可以提供高可用性和容错性,保证用户的数据安全和服务的连续性。
例如,企业可以将自己的数据存储在云计算平台的分布式数据库中,通过云服务提供商提供的数据分析工具进行数据分析,从而降低企业的 IT 成本和管理难度。

📘6. 实时高并发事务系统

在移动互联网、电商等业务中,实时高并发事务系统需要经受高并发访问的考验。分布式数据库的 share nothing 架构可以在线平滑地扩展实例规模,从容应对此类场景。
同时,分布式数据库提供的分布式事务一致性能力能保证高并发场景下的分布式系统事务一致性。例如,在金融级核心交易系统中,随着手机银行、网上理财等具有互联网特色的金融业务兴起,单笔交易变小,交易次数变多,传统架构逐渐不足以支撑业务发展。分布式数据库不仅在性能上容易扩展,强同步能力也确保数据不错不丢。

📘7. 混合负载业务系统

混合负载业务系统需要同时处理 OLTP 和 OLAP 的需求。分布式数据库特有的架构设计,可同时覆盖 OLTP 和 OLAP 的需求,提供高性能并行执行计算,充分释放资源,进一步提升系统稳定性。
在数据库系统应用中,OLTP 场景涉及数据量小,但对返回实时性要求高;OLAP 类场景涉及的数据量和计算量大,但对实时性要求不高。分布式数据库可以满足业务对数据库系统的这一强烈诉求。

📘8. 数据仓库延展

数据仓库的建设遵从顶向下的原则,而大数据与新兴的机器学习提供了从底向上的分析思路。分布式数据库在这种场景中可以存放分析和挖掘的结果,供外部应用调用查询。
例如,企业可以利用分布式数据库存储大数据分析和机器学习的结果,为企业的决策提供支持。同时,分布式数据库还可以提供高可用性和容错性,保证数据的安全和服务的连续性。

📚四、分布式数据库的优势

📘1. 更适合分布式的管理与控制

分布式数据库系统的结构更适合具有地理分布特性的组织或机构使用。它允许局部控制,比如实现全局数据在本地录入、查询、维护。由于计算机资源靠近用户,能降低通信代价,提高响应速度,而涉及其他场地数据库中的数据只是少量的,从而大大减少网络上的信息传输量。同时,局部数据的安全性也可以做得更好。

📘2. 具有灵活的体系结构

集中式数据库系统强调集中式控制,而分布式数据库系统的场地局部 DBMS 具有自治性。大部分的局部事务管理和控制都能就地解决,只有在涉及其他场地的数据时才需要通过网络作为全局事务来管理。分布式 DBMS 可以设计成具有不同程度的自治性,从具有充分的场地自治到几乎是完全集中式的控制。

📘3. 提高可靠性和可用性

可靠性基本上定义为系统在特定时间运行的概率,可用性定义为系统在一段时间内连续可用的概率。当数据和 DBMS 软件分布在多个站点上时,一个站点可能会失败而其他站点继续运行,并且我们无法仅访问故障站点中存在的数据,这基本上可以提高可靠性和可用性。

📘4. 可扩展性好

在分布式环境中,在添加更多数据、增加数据库大小或添加更多处理器方面更容易扩展系统。通过增加新的节点,可以轻松应对数据量和用户请求的增长,实现水平扩展。

📘5. 性能改进

通过将查询分解为基本上并行执行的多个子查询,在不同站点执行多个查询来实现查询间和内部查询并行性,这基本上可以提高性能。

📘6. 管理不同透明度的数据

理想情况下,数据库应该是分布透明的,隐藏每个文件在系统中物理存储的位置的细节。在分布式数据库系统中,可以使用以下类型的透明度:
网络透明度:用户从网络的操作细节中获得自由,分为位置和命名透明度。
复制透明度:用户不知道副本的存在,数据副本可能存储在多个站点,以获得更好的可用性和可靠性。
碎片透明度:用户不知道碎片的存在,它可能是垂直碎片或水平碎片。

📚五、分布式数据库的发展趋势

📘1. 走向原生设计

随着数据处理规模的不断增长,分布式数据库走向原生设计成为必然趋势。原生分布式设计让多台服务器协同作业,能够完成单台服务器无法处理的高并发或者大数据量任务。在这种设计下,所有节点均支持读写,对外提供统一的数据库服务,支持全局索引、全局一致性事务。对于用户而言,其用法与传统集中式数据库没有区别,无需进行定制改造,大大减少了人工成本。
在高可用方面,原生分布式设计具有显著优势。设计之初就假定硬件不可靠,支持多个数据副本分散存储在不同地域,可实现跨机架、跨数据中心、跨地域的容灾部署。在强一致事务的保护下,变更操作在多个地域保证成功提交,灾难发生时数据不会丢失,达到高级别的容灾标准。此外,原生分布式架构具备集群的扩展和收缩对应用透明、按需扩展且没有数量和规模限制、原生多副本机制支持跨地域访问和容灾、多活架构硬件利用率高等优势。可以预见,未来会有更多产品走向原生分布式技术路线,原生分布式数据库也将迎来更好的发展机遇。

📘2. 架构的设计走向一体化

目前国内数据库市场主要分为存量替换和增量市场两部分。增量市场以开源语法兼容为主,很多开源产品能满足业务逻辑在应用中实现且对数据库能力要求相对较低的需求,因此新兴分布式数据库厂商大多追逐这个市场。而存量替换则是多数国内企业面临的难题,企业核心业务系统多运行在功能强大的集中式商业数据库上,面临原有系统无法升级、License 过期以及业务系统重构成本高、风险大等问题。
商业数据库功能灵活、语法支持多,这对分布式数据库的兼容能力设计提出极大挑战。厂商需采用一体化设计思路,将传统商业数据库强大的单机能力与分布式融合,在一套数据库上融合多种负载能力甚至多种兼容能力,为企业节省大量迁移适配成本。未来分布式数据库应提供数据迁移全生命周期管理,在管控界面完成创建、配置和监控,交互简便。同时提供多种数据校检和保护方式,全面高效保证数据正确性,展示差异数据并提供快速修复能力,具备全方位、高标准、高可靠性的平滑迁移能力。

📘3. 能力向混合负载发展

企业级应用通常分为联机交易(OLTP)和实时分析(OLAP)两种业务场景,大型企业往往选择多款数据库产品分别支持,这带来了数据同步的时间延迟、不一致风险以及冗余数据和成本增加等问题,限制了企业发展。
HTAP(混合事务 / 分析处理)作为新兴应用框架,旨在打破事务处理和分析之间的 “壁垒”。未来分布式数据库应具备混合负载能力,在支持高并发、事务性请求的同时,为分析型复杂查询提供良好支持,实现 OLTP/OLAP 混合负载管理,计算和 I/O 资源互不干扰,提供高性能并行执行计算,充分释放资源,进一步提升系统稳定性。并且可以灵活配置两种负载的资源占比,使在线交易和分析互不影响,一站式解决企业级应用需求,降低成本并提高企业决策效率。例如在金融防欺诈、证券交易决策、信用风险评级等特定场景中,HTAP 能力能提高分析决策的实时性,对用户而言更加友好且性价比更高,省去了数据抽取转化加载过程并保证了查询结果的实时性,将成为更多用户的选择。

到此这篇文章就介绍到这了,更多精彩内容请关注本人以前的文章或继续浏览下面的文章,创作不易,如果能帮助到大家,希望大家多多支持宝码香车~💕,若转载本文,一定注明本文链接。


整理不易,点赞关注宝码香车

更多专栏订阅推荐:
👍 html+css+js 绚丽效果
💕 vue
✈️ Electron
⭐️ js
📝 字符串
✍️ 时间对象(Date())操作

相关文章:

【热门主题】000072 分布式数据库:开启数据管理新纪元

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【热…...

常见靶场的搭建

漏洞靶场 渗透测试(漏洞挖掘)切忌纸上谈兵,学习渗透测试(漏洞挖掘)知识的过程中,我们通常需要一个包含漏洞的测试环境来进行训练。而在非授权情况下,对于网站进行渗透测试攻击,是触及…...

C语言——链表

1 链表基础 1 什么是链表 !!!链表相当于多个结构体变量链接在一起!!! //链表节点结构 struct Node //数据域和指针域 {int data; //数据域//struct Student data;数据尽量不写在链表结构体里面&#xf…...

【经典】星空主题的注册界面HTML,CSS,JS

目录 界面展示 完整代码 说明&#xff1a; 这是一个简单的星空主题的注册界面&#xff0c;使用了 HTML 和 CSS 来实现一个背景为星空效果的注册页面。 界面展示 完整代码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8&…...

94.【C语言】解析预处理(2)

目录 1.带有副作用的宏参数 代码 一个判断最大值的宏代码 运行结果 分析 "副作用"的解释 2.宏替换规则 解释 3.宏和函数的对比 附一张对比表 承接93.【C语言】解析预处理(1)文章 1.带有副作用的宏参数 代码 一个判断最大值的宏代码 #define MAX(a, b) (…...

(数据结构与算法)如何提高学习算法的效率?面试算法重点有哪些?面试需要哪些能力?

面试官眼中的求职者 通过对你算法的考察&#xff01;&#xff01;&#xff01;&#xff01; 缩进太多&#xff01;&#xff01;一般不要超过三层&#xff01;&#xff01;&#xff01;缩进越少&#xff0c;bug越少&#xff1b;逻辑比较复杂&#xff0c;把这些包装成为函数&…...

STM32 BootLoader 刷新项目 (十二) Option Byte之FLASH_OPTCR-命令0x58

STM32 BootLoader 刷新项目 (十二) Option Byte之FLASH_OPTCR-命令0x58 STM32F407芯片的OPTION Byte全面解析 STM32F407芯片是STMicroelectronics推出的一款功能强大的微控制器&#xff0c;广泛应用于工业控制、通信和消费电子等领域。其中&#xff0c;OPTION Byte&#xff0…...

MySQL主从复制

华子目录 实验环境准备修改配置文件 实验主开启bin-log日志创建用于主从复制的用户master配置salve配置 测试 添加一台新的slave&#xff0c;如何实现数据的全部同步呢什么环境下主比较多&#xff0c;什么环境下从比较多&#xff1f;延迟复制测试 并行复制gtid模式未启用gtid时…...

贝叶斯统计:高斯分布均值μ的后验分布推导

使用贝叶斯统计方法 均值 ( μ \mu μ ) 的后验分布解析 在贝叶斯统计中&#xff0c;后验分布表示在观察到数据后&#xff0c;对参数的更新后的信念。本篇文章将结合高斯分布的假设&#xff0c;详细解析均值 ( μ \mu μ ) 的后验分布推导过程&#xff0c;并对 ( μ \mu μ…...

linux常用指令都是工作中遇到的

前端打war包 jar -cvf dist.war *创建 WAR 文件的命令 jar -cvf dist.war * 用于将当前目录下的所有文件和文件夹打包成一个名为 dist.war 的 WAR 文件。以下是该命令的详细解释&#xff1a; jar: Java Archive 工具&#xff0c;用于创建 JAR、WAR 或 EAR 文件。 -c: 创建新的…...

亚马逊自研大语言模型 Olympus 即将亮相,或将在 LLM 竞赛中掀起新波澜

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

droppath

DropPath 是一种用于正则化深度学习模型的技术&#xff0c;它在训练过程中随机丢弃路径&#xff08;或者说随机让某些部分的输出变为零&#xff09;&#xff0c;从而增强模型的鲁棒性和泛化能力。 代码解释&#xff1a; import torch import torch.nn as nn # 定义 DropPath…...

通信与网络安全之IPSEC

IPSec&#xff08;IP Security&#xff09;是IETF制定的为保证在Internet上传送数据的安全保密性能的三层隧道加密协议。IPSec在网络层对IP报文提供安全服务。IPSec协议本身定义了如何在IP数据包中增加字段来保证IP包的完整性、 私有性和真实性&#xff0c;以及如何加密数据包。…...

Linux内核编译流程(Ubuntu24.04+Linux Kernel 6.8.12)

万恶的拯救者&#xff0c;使用Ubuntu没有声音&#xff0c;必须要自己修改一下Linux内核中的相关驱动逻辑才可以&#xff0c;所以被迫学习怎么修改内核&编译内核&#xff0c;记录如下 准备工作 下载Linux源码&#xff1a;在Linux发布页下载并使用gpg签名验证 即&#xff1a…...

什么是GAN?

一、基本概念 生成对抗网络&#xff08;Generative Adversarial Network&#xff0c;GAN&#xff09;是一种由两个神经网络共同组成深度学习模型&#xff1a;生成器&#xff08;Generator&#xff09;和判别器&#xff08;Discriminator&#xff09;。这两个网络通过对抗的方式…...

torch_geometric使用手册-Creating Graph Datasets(专题四)

虽然 PyG 已经提供了很多有用的数据集,但你可能希望创建自己的数据集,使用自己收集的数据或非公开的数据。 自己实现数据集是非常简单的,你可能想查看源代码,了解各种数据集是如何实现的。然而,这里简要介绍一下如何设置你自己的数据集。 我们提供了两个抽象类用于数据集…...

编程语言之Python

Python是一种高级编程语言&#xff0c;自其诞生以来&#xff0c;便因其简洁明了的语法、强大的功能和广泛的应用领域而备受青睐。以下是对Python的详细介绍&#xff0c;包括其历史、特点、应用领域&#xff0c;以及通过代码示例展示其语法、库、函数等关键概念。同时&#xff0…...

【Go】-调度器简介

目录 数据结构 G M P 调度器启动 创建 Goroutine 初始化结构体 运行队列 调度信息 调度循环 小结 数据结构 Go的运行时调度器的三个重要组成部分 — 线程 M、Goroutine G 和处理器 P&#xff1a; 图 6-29 Go 语言调度器 G — 表示 Goroutine&#xff0c;它是一个待…...

在Ubuntu 22.04上设置Python 3的Jupyter Notebook

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 Jupyter Notebook 是一个作为 Web 应用程序的交互式计算命令 shell。该工具可与多种语言一起使用&#xff0c;包括 Python、Julia…...

通讯专题4.1——CAN通信之计算机网络与现场总线

从通讯专题4开始&#xff0c;来学习CAN总线的内容。 为了更好的学习CAN&#xff0c;先从计算机网络与现场总线开始了解。 1 计算机网络体系的结构 在我们生活当中&#xff0c;有许多的网络&#xff0c;如交通网&#xff08;铁路、公路等&#xff09;、通信网&#xff08;电信、…...

将jar包导入maven

1.将jar包放repository 2.执行命令&#xff1a;mvn install:install-file -DgroupIdcom.oracle -DartifactIdojdbc7 -Dversion12.1.0.2 -Dpackagingjar -DfileD:\dev\utils\idea\repository\ojdbc7.jar -Dfile: 指定要安装的JAR文件的路径。 -DgroupId: 指定项目的groupId。 -…...

Mysql实现定时自动备份(Windows环境)

一.新建数据库备份目录 二.新建批处理文件 创建批处理文件mysql_backup.bat echo off set BACKUP_DIRD:\backup set MYSQL_USERroot set MYSQL_PASS123456 set MYSQL_HOSTlocalhost set DATABASE_NAMEphoenix set DATE%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time…...

kafka数据在服务端时怎么写入的

学习背景 接着上篇&#xff0c;我们来聊聊kafka数据在服务端怎么写入的 服务端写入 在介绍服务端的写流程之前&#xff0c;我们先要理解服务端的几个角色之间的关系。 假设我们有一个由3个broker组成的kafka集群&#xff0c;我们在这个集群上创建一个topic叫做shitu-topic&…...

2024算法基础公选课练习七(BFS1)

一、前言 还是偏基础的bfs&#xff0c;但是有几个题不是很好写 二、题目总览 三、具体题目 3.1 问题 A: 数据结构-队列-奇怪的电梯 我的代码 可以看成求一维平面的bfs最短路 #include <bits/stdc.h> using i64 long long; using pii std::pair<int,int>; co…...

算法刷题Day1

BM47 寻找第k大 第一天就随便记录吧&#xff0c;万事开头难&#xff0c;我好不容易开的头&#xff0c;就别难为自己&#xff0c;去追求高质量了。嘿嘿嘿 题目 传送门 解题思路一&#xff1a;维护一个大小为k的最小堆。最后返回堆顶元素。 代码&#xff1a; # # 代码中的类名…...

你还没有将 Siri 接入GPT对话功能吗?

由于各种原因&#xff0c;国内ios用户目前无缘自带 AI 功能&#xff0c;但是这并不代表国内 ios 无法接入 AI 功能&#xff0c;接下来手把手带你为iPhone siri 接入 gpt 对话功能。 siri 接入 chatGPT 暂时还无法下载 ChatGPT app&#xff0c;或者没有账号的读者可以直接跳到…...

LabVIEW 标准状态机设计模式

LabVIEW 标准状态机设计模式 LabVIEW 软件框架介绍LabVIEW编程模式及其应用分析状态机模式的类型分析标准状态机设计模式及状态机应用学习顺序结构它的一个缺点是什么&#xff1f; 状态机结构 LabVIEW 软件框架介绍 源于虚拟仪器技术的LabVIEW程序设计语言&#xff0c;从被创建…...

Scala学习记录,统计成绩

统计成绩练习 1.计算每个同学的总分和平均分 2.统计每个科目的平均分 3.列出总分前三名和单科前三名&#xff0c;并保存结果到文件中 解题思路如下&#xff1a; 1.读入txt文件&#xff0c;按行读入 2.处理数据 &#xff08;1&#xff09;计算每个同学的总分平均分 import s…...

使用 client-go 实现 Kubernetes 节点 Drain:详解与实战教程

在 Kubernetes 中使用 client-go 实现 drain 功能涉及多个步骤&#xff0c;需要模仿 kubectl drain 的行为。这包括将节点标记为不可调度&#xff08;cordon&#xff09;、驱逐 Pod&#xff0c;并处理 DaemonSet 和不可驱逐 Pod 的逻辑。以下是实现 drain 的主要步骤&#xff1…...

C#VB.Net项目一键多国语言显示

如何在项目什么都不做一键支持多国语言显示 开始我们的一键快捷使用之旅 01.创建多语言项目 02.一键批量窗口开启本地化,添加选中内容添加Mu方法 03.一键快捷翻译 04.运行查看效果 01.创建多语言项目 创建多语言项目前,请先下载安装&#xff0c;注册并登录. 为了便于演示这…...

【关闭or开启电脑自带的数字键盘】

目录 一、按数字键盘左上角的按键【NumLK Scroll】 二、修改注册表中数字键盘对应的数值【InitialKeyboardIndicators】 1、步骤&#xff1a; 2、知识点&#xff1a; 一、按数字键盘左上角的按键【NumLK Scroll】 这是最简单快捷的方法。 关闭后若想开启&#xff0c;再按一…...

如何在Bash中等待多个子进程完成,并且当其中任何一个子进程以非零退出状态结束时,使主进程也返回一个非零的退出码?

文章目录 问题回答参考 问题 如何在 Bash 脚本中等待该脚本启动的多个子进程完成&#xff0c;并且当这其中任意一个子进程以非零退出码结束时&#xff0c;让该脚本也返回一个非零的退出码&#xff1f; 简单的脚本: #!/bin/bash for i in seq 0 9; docalculations $i & d…...

Asio2网络库

header only,不依赖boost库,不需要单独编译,在工程的Include目录中添加asio2路径,在源码中#include <asio2/asio2.hpp>即可使用;支持tcp, udp, http, websocket, rpc, ssl, icmp, serial_port;支持可靠UDP(基于KCP),支持SSL;TCP支持各种数据拆包功能(单个字符或字符串或用…...

Uniapp 微信小程序内打开web网页

技术栈&#xff1a;Uniapp Vue3 简介 实际业务中有时候会需要在本微信小程序内打开web页面&#xff0c;这时候可以封装一个路由页面专门用于此场景。 在路由跳转的时候携带路由参数&#xff0c;拼接上web url&#xff0c;接收页面进行参数接收即可。 实现 webview页面 新…...

学习线性表_3

单链表的删除 直接删除即可删除后要free //删除第i个位置的元素 //删除时L是不会变的&#xff0c;所以不需要加引用 bool ListDelect(LinkList L,int i) {//i 1,即删除头指针//拿到要删除结点的前一个结点LinkList p GetElem(L,i-1);if(NULLp){return false;}//拿到要删除的结…...

智能桥梁安全运行监测系统守护桥梁安全卫士

一、方案背景 桥梁作为交通基础设施中不可或缺的重要组成部分&#xff0c;其安全稳定的运行直接关联到广大人民群众的生命财产安全以及整个社会的稳定与和谐。桥梁不仅是连接两地的通道&#xff0c;更是经济发展和社会进步的重要纽带。为了确保桥梁的安全运行&#xff0c;桥梁安…...

Arrays.asList()新增报错,该怎么解决

一、前言 在 Java 开发中&#xff0c;Arrays.asList() 是一个常用的工具方法&#xff0c;它允许开发者快速将数组转换为列表。尽管这个方法非常方便&#xff0c;但许多开发者在使用时可能会遭遇一个常见的错误&#xff1a;尝试向由 Arrays.asList() 返回的列表中添加元素时抛出…...

28.UE5实现对话系统

目录 1.对话结构的设计&#xff08;重点&#xff09; 2.NPC对话接口的实现 2.1创建类型为pawn的蓝图 2.2创建对话接口 3.对话组件的创建 4.对话的UI设计 4.1UI_对话内容 4.2UI_对话选项 4.3UI_对话选项框 5.对话组件的逻辑实现 通过组件蓝图&#xff0c;也就是下图中的…...

会议直击|美格智能亮相2024紫光展锐全球合作伙伴大会,融合5G+AI共拓全球市场

11月26日&#xff0c;2024紫光展锐全球合作伙伴大会在上海举办&#xff0c;作为紫光展锐年度盛会&#xff0c;吸引来自全球的众多合作伙伴和行业专家、学者共同参与。美格智能与紫光展锐竭诚合作多年&#xff0c;共同面向5G、AI和卫星通信为代表的前沿科技&#xff0c;聚焦技术…...

IDEA报错: java: JPS incremental annotation processing is disabled 解决

起因 换了个电脑打开了之前某个老项目IDEA启动springcloud其中某个服务直接报错&#xff0c;信息如下 java: JPS incremental annotation processing is disabled. Compilation results on partial recompilation may be inaccurate. Use build process “jps.track.ap.depen…...

面对深度伪造:OWASP发布专业应对指南

从美国大选造谣视频到AI编写的网络钓鱼邮件&#xff0c;深度伪造&#xff08;deepfake&#xff09;诈骗和生成式人工智能攻击日益猖獗&#xff0c;人眼越来越难以辨识&#xff0c;企业迫切需要为网络安全团队制定AI安全事件响应指南。 深度伪造攻击威胁日益增加 全球范围内&…...

IDEA全局设置-解决maven加载过慢的问题

一、IDEA全局设置 注意&#xff1a;如果不是全局设置&#xff0c;仅仅针对某个项目有效&#xff1b;例在利用网上教程解决maven加载过慢的问题时&#xff0c;按步骤设置却得不到解决&#xff0c;原因就是没有在全局设置。 1.如何进行全局设置 a.在项目页面&#xff0c;点击f…...

【阅读笔记】Android广播的处理流程

关于Android的解析&#xff0c;有很多优质内容&#xff0c;看了后记录一下阅读笔记&#xff0c;也是一种有意义的事情&#xff0c; 今天就看看“那个写代码的”这位大佬关于广播的梳理&#xff0c; https://blog.csdn.net/a572423926/category_11509429.html https://blog.c…...

queue 和 Stack

import scala.collection.mutable //queue:队列.排队打饭.... //特点&#xff1a;先进先出 //Stack:栈 //特点&#xff1a;先进后出 class ob5 { def main(args: Array[String]): Unit { val q1 mutable.Queue(1) q1.enqueue(2)//入队 q1.enqueue(3)//入队 q1.enqueue(4)…...

C#窗体小程序计算器

使其能完成2个数的加、减、乘、除基本运算。界面如下图&#xff0c;单击相应的运算符按钮&#xff0c;则完成相应的运算&#xff0c;并将结果显示出来&#xff0c;同时不允许在结果栏中输入内容 代码如下&#xff1a; private void button1_Click(object sender, EventArgs e)…...

Linux——自定义简单shell

shell 自定义shell目标普通命令和内建命令&#xff08;补充&#xff09; shell实现实现原理实现代码 自定义shell 目标 能处理普通命令能处理内建命令要能帮助我们理解内建命令/本地变量/环境变量这些概念理解shell的运行 普通命令和内建命令&#xff08;补充&#xff09; …...

大模型开发和微调工具Llama-Factory-->WebUI

WebUI LLaMA-Factory 支持通过 WebUI 零代码微调大模型。 通过如下指令进入 WebUI llamafactory-cli webui# 如果是国内&#xff0c; # USE_MODELSCOPE_HUB 设为 1&#xff0c;表示模型从 ModelScope 魔搭社区下载。 # 避免从 HuggingFace 下载模型导致网速不畅 USE_MODELSC…...

【网络】应用层协议HTTPHTTPcookie与sessionHTTPS协议原理

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;计算机网络原理_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.应用层协议HTTP 2.认识 URL 2.1 urlencode 和 urldecode 3.HTTP 协议请求与响应格式 3.1 HTTP 请求 3.2 HTTP 响应 …...

基于LSTM的文本多分类任务

概述&#xff1a; LSTM&#xff08;Long Short-Term Memory&#xff0c;长短时记忆&#xff09;模型是一种特殊的循环神经网络&#xff08;RNN&#xff09;架构&#xff0c;由Hochreiter和Schmidhuber于1997年提出。LSTM被设计来解决标准RNN在处理序列数据时遇到的长期依赖问题…...

Git忽略文件

在Git中&#xff0c;你可以通过修改 .gitignore 文件来忽略整个文件夹。以下是具体步骤&#xff1a; 打开或创建 .gitignore 文件 确保你的项目根目录下有一个 .gitignore 文件。如果没有&#xff0c;创建一个&#xff1a; touch .gitignore 在 .gitignore 文件中添加要忽略…...