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

关系型数据库主备高可用方案对比笔记

目录标题

  • 数据库高可用性解决方案对比
    • Oracle Data Guard
    • MySQL 主从复制
    • SQL Server AlwaysOn
    • PG Patroni 流复制
    • 达梦 DMDataWatch
    • 人大金仓 repmgr
  • 备库故障是否影响主库?
  • 表格
  • 关系型数据库主备高可用方案对比笔记

数据库高可用性解决方案对比

Oracle Data Guard

Oracle灾备 - Data Guard

ADG搭建

  • Primary Database:生产数据库,负责产生修改操作。
  • Standby Database:灾难保护的生产数据库副本,可创建多个。
  • Physical/Logical Standby:物理或逻辑备库模式,通过Redo Apply或SQL Apply实现同步。
  • Protection Modes:Maximum Performance, Maximum Protection, Maximum Availability。
  • Data Guard Broker:用于创建、控制和监控DG配置。
  • Fast-Start Failover:自动故障转移功能,无需人工干预。

MySQL 主从复制

MySQL的增强半同步

  • 半同步复制:主节点等待至少一个备节点确认接收到事务日志。
  • 异步复制:主节点在事务提交后立即返回,不等待备节点确认。
  • rpl_semi_sync_master_timeout:定义主数据库等待备库确认的超时时间。

SQL Server AlwaysOn

AlwaysOn 可用性组副本所在服务器以及该副本上数据库的各项状态信息

  • 自动故障转移:支持自动故障转移和手动故障转移。
  • 同步提交/异步提交:配置可用性模式。
  • AlwaysOn仪表板:提供副本状态的监控和报告。

PG Patroni 流复制

PG流复制_复制pg日志
Patroni官方给出的流程图

  • 流复制:基于WAL日志的流复制,支持同步和异步复制。
  • Patroni:PostgreSQL的高可用性解决方案,管理复制和故障转移。

达梦 DMDataWatch

达梦主备深入了解

  • DMDataWatch:达梦数据库的高可用性解决方案。
  • DMRWC:读写分离集群,自动将只读操作分流到备库。
  • 主备模式:即时归档和实时归档模式,通过MAL系统实现日志同步。

人大金仓 repmgr

人大金仓CKP16-部署数据库集群
人大金仓witness

  • repmgr:人大金仓的高可用性解决方案,管理复制和故障转移。
  • Witness节点:仲裁节点,支持极端场景下的故障自动切换。

备库故障是否影响主库?

Oracle Data Guard
Maximum Availability:类似于最大保护模式,不同之处在于当出现故障导致备库数据库无法访问时,主库并不会被关闭,而是自动转换为最高性能模式,在等待备库恢复正常时,主库又会自动转换成最高可用性模式。

MySQL 主从复制
rpl_semi_sync_master_timeout:定义了主数据库等待备库确认的超时时间,即超过该时间后,主数据库将切换到异步复制模式。

SQL Server AlwaysOn

PG Patroni 流复制
当synchronous_mode开启并且备用服务器崩溃时,提交将被阻止,直到Patroni的下一次迭代运行并将主服务器切换到独立模式(最坏情况延迟为写入ttl秒,平均情况loop_wait / 2秒)。

达梦 DMDataWatch
备库收到Redo日志后,是否需要重演完成后再响应主库。0表示收到马上响应(高性能模式),1表示重演完成后响应(事务一致模式)。配置为即时归档时,缺省值为1;配置为实时归档时,缺省值为0。

人大金仓 repmgr

表格

对比维度Oracle Data GuardMySQL主从复制SQL Server AlwaysOnPG Patroni流复制达梦DMDataWatch
运维提供强大容灾备份,支持物理和逻辑复制,满足不同场景。支持自动化监控管理,简化流程,但需定期进行故障转移测试配置简单,易于部署。支持异步复制(可能存在数据延迟)和增强半同步复制(提升数据一致性)配置通过图形界面,操作简单,支持自动和手动故障转移,需定期进行故障转移测试配置简便,部署轻松。支持异步复制(存在数据延迟风险),需定期开展故障转移测试配置简易,部署便捷。支持即时归档和实时归档模式,提供自动和手动故障转移
部署支持一主多从结构,且具备自动和手动故障转移能力支持一主多从结构,需配置binlog和relay log,自动故障转移需额外配置支持一主多从结构,支持自动和手动故障转移,需配置数据同步与异步提交模式,依赖Windows Server和SQL Server Enterprise Edition支持一主多从结构,需配置WAL日志和应用日志,具备自动和手动故障转移功能支持一主多从结构,需配置MAL系统进行日志传输,支持自动和手动故障转移
监控提供图形界面和命令行工具,可监控主库和备库状态,包含同步延迟和故障转移状态使用replication status命令检查复制状态,监控主从延迟和复制错误,也可借助第三方工具实现更高级监控利用AlwaysOn仪表板监控,可查看副本状态,如同步健康和故障转移状态,并提供详细性能和状态报告运用pg_stat_replication和pg_stat_wal_receiver视图监控复制延迟和状态,还可借助第三方工具进行高级监控通过DMDataWatch和DMRWC监控,能查看主从库状态,包括同步延迟和故障转移状态,同时提供图形化界面和命令行工具进行管理
性能影响高效复制,不影响主数据库性能异步复制不影响主库性能,增强半同步可减少影响(rpl_semi_sync_master_timeout )支持多副本,提供读写分离,自动故障转移,具备高可扩展性支持读写分离,减轻主数据库负载,但异步复制可能存在数据延迟支持读写分离,有效降低主库负载,提升系统吞吐量
数据一致性和完整性通过归档日志和应用日志确保数据一致性和完整性主库故障时可能存在数据丢失风险主副本故障时,自动将写操作切换到次副本,保障数据一致性主副本故障时,自动将写操作切换到次副本,保障数据一致性通过归档日志和应用日志确保数据一致性和完整性
故障转移和恢复提供快速故障转移,保障业务连续性支持自动故障转移,减少系统停机时间配置至少2个副本(1个主副本和1个辅助副本),使用同步模式确保数据一致性,实现快速故障转移配置负载均衡,将读取操作分配到辅助副本,优化性能,实现快速故障转移提供快速故障转移,保障业务连续性
可扩展性和灵活性支持多种复制模式,满足不同企业需求支持读写分离,减轻主数据库负载启用自动故障转移,减少系统停机时间,具备高可扩展性支持多副本,提供读写分离,自动故障转移,具备高可扩展性支持多种复制模式,满足不同企业需求
成本需要Oracle高级版许可,成本较高开源解决方案,成本较低需要SQL Server Enterprise版本,部署和维护相对复杂,成本较高开源解决方案,成本较低需要达梦数据库高级版许可,成本较高
安全性和合规性提供多种性能优化选项,如并行复制、压缩复制和过滤复制等支持加密、访问控制和审计日志等安全特性支持加密、访问控制和审计日志等安全特性支持加密、访问控制和审计日志等安全特性提供多种性能优化选项,如并行复制、压缩复制和过滤复制等
技术支持和社区由Oracle官方提供强大技术支持拥有强大的社区支持和丰富的文档资源由微软官方提供技术支持拥有强大的社区支持和丰富的文档资源由达梦官方提供技术支持
测试和验证支持自动化监控和管理,简化操作流程模拟故障以测试系统恢复能力定期检查副本同步状态,确保数据一致性模拟故障以测试系统恢复能力支持自动化监控和管理,简化操作流程
多活和地理分布提供多种灾难恢复方案,包括本地恢复、异地恢复和云恢复等支持跨地理位置的数据库同步,适合跨地理区域部署,确保数据在不同地区保持一致可以跨多个数据中心进行部署,提供更好的灾难恢复能力支持跨地理位置的数据库同步,适合跨地理区域部署,确保数据在不同地区保持一致提供多种灾难恢复方案,包括本地恢复、异地恢复和云恢复等

关系型数据库主备高可用方案对比笔记

在构建关系型数据库主备高可用方案时,需要从多个维度综合考量,以选出最契合业务需求的方案。以下是对Oracle Data Guard、MySQL主从复制、SQL Server AlwaysOn、PG Patroni流复制、达梦DMDataWatch的详细对比分析:

  1. 运维
    • Oracle Data Guard:提供强大容灾备份,支持物理和逻辑复制,满足不同场景。支持自动化监控管理,简化流程,但需定期进行故障转移测试。
    • MySQL主从复制:配置简单,易于部署。支持异步复制(可能存在数据延迟)和增强半同步复制(提升数据一致性) 。
    • SQL Server AlwaysOn:配置通过图形界面,操作简单,支持自动和手动故障转移,同样需定期进行故障转移测试。
    • PG Patroni流复制:配置简便,部署轻松。支持异步复制(存在数据延迟风险),需定期开展故障转移测试。
    • 达梦DMDataWatch:配置简易,部署便捷。支持即时归档和实时归档模式,提供自动和手动故障转移。
  2. 部署
    • Oracle Data Guard:支持一主多从结构,且具备自动和手动故障转移能力。
    • MySQL主从复制:支持一主多从结构,需配置binlog和relay log,自动故障转移需额外配置
    • SQL Server AlwaysOn:支持一主多从结构,支持自动和手动故障转移,需配置数据同步与异步提交模式,依赖Windows Server和SQL Server Enterprise Edition。
    • PG Patroni流复制:支持一主多从结构,需配置WAL日志和应用日志,具备自动和手动故障转移功能。
    • 达梦DMDataWatch:支持一主多从结构,需配置MAL系统进行日志传输,支持自动和手动故障转移。
  3. 监控
    • Oracle Data Guard:提供图形界面和命令行工具,可监控主库和备库状态,包含同步延迟和故障转移状态。
    • MySQL主从复制:使用replication status命令检查复制状态,监控主从延迟和复制错误,也可借助第三方工具实现更高级监控。
    • SQL Server AlwaysOn:利用AlwaysOn仪表板监控,可查看副本状态,如同步健康和故障转移状态,并提供详细性能和状态报告。
    • PG Patroni流复制:运用pg_stat_replication和pg_stat_wal_receiver视图监控复制延迟和状态,还可借助第三方工具进行高级监控。
    • 达梦DMDataWatch:通过DMDataWatch和DMRWC监控,能查看主从库状态,包括同步延迟和故障转移状态,同时提供图形化界面和命令行工具进行管理。
  4. 性能影响
    • Oracle Data Guard:高效复制,不影响主数据库性能。
    • MySQL主从复制:异步复制不影响主库性能,增强半同步可减少影响(rpl_semi_sync_master_timeout )。
    • SQL Server AlwaysOn:支持多副本,提供读写分离,自动故障转移,具备高可扩展性。
    • PG Patroni流复制:支持读写分离,减轻主数据库负载,但异步复制可能存在数据延迟。
    • 达梦DMDataWatch:支持读写分离,有效降低主库负载,提升系统吞吐量。
  5. 数据一致性和完整性
    • Oracle Data Guard:通过归档日志和应用日志确保数据一致性和完整性。
    • MySQL主从复制:主库故障时可能存在数据丢失风险。
    • SQL Server AlwaysOn:主副本故障时,自动将写操作切换到次副本,保障数据一致性。
    • PG Patroni流复制:主副本故障时,自动将写操作切换到次副本,保障数据一致性。
    • 达梦DMDataWatch:通过归档日志和应用日志确保数据一致性和完整性。
  6. 故障转移和恢复
    • Oracle Data Guard:提供快速故障转移,保障业务连续性。
    • MySQL主从复制:支持自动故障转移,减少系统停机时间。
    • SQL Server AlwaysOn:配置至少2个副本(1 个主副本和 1 个辅助副本),使用同步模式确保数据一致性,实现快速故障转移。
    • PG Patroni流复制:配置负载均衡,将读取操作分配到辅助副本,优化性能,实现快速故障转移。
    • 达梦DMDataWatch:提供快速故障转移,保障业务连续性。
  7. 可扩展性和灵活性
    • Oracle Data Guard:支持多种复制模式,满足不同企业需求。
    • MySQL主从复制:支持读写分离,减轻主数据库负载。
    • SQL Server AlwaysOn:启用自动故障转移,减少系统停机时间,具备高可扩展性。
    • PG Patroni流复制:支持多副本,提供读写分离,自动故障转移,具备高可扩展性。
    • 达梦DMDataWatch:支持多种复制模式,满足不同企业需求。
  8. 成本
    • Oracle Data Guard:需要Oracle高级版许可,成本较高。
    • MySQL主从复制:开源解决方案,成本较低。
    • SQL Server AlwaysOn:需要SQL Server Enterprise版本,部署和维护相对复杂,成本较高。
    • PG Patroni流复制:开源解决方案,成本较低。
    • 达梦DMDataWatch:需要达梦数据库高级版许可,成本较高。
  9. 安全性和合规性
    • Oracle Data Guard:提供多种性能优化选项,如并行复制、压缩复制和过滤复制等。
    • MySQL主从复制:支持加密、访问控制和审计日志等安全特性。
    • SQL Server AlwaysOn:支持加密、访问控制和审计日志等安全特性。
    • PG Patroni流复制:支持加密、访问控制和审计日志等安全特性。
    • 达梦DMDataWatch:提供多种性能优化选项,如并行复制、压缩复制和过滤复制等。
  10. 技术支持和社区
    • Oracle Data Guard:由Oracle官方提供强大技术支持。
    • MySQL主从复制:拥有强大的社区支持和丰富的文档资源。
    • SQL Server AlwaysOn:由微软官方提供技术支持。
    • PG Patroni流复制:拥有强大的社区支持和丰富的文档资源。
    • 达梦DMDataWatch:由达梦官方提供技术支持。
  11. 测试和验证
    • Oracle Data Guard:支持自动化监控和管理,简化操作流程。
    • MySQL主从复制:模拟故障以测试系统恢复能力。
    • SQL Server AlwaysOn:定期检查副本同步状态,确保数据一致性。
    • PG Patroni流复制:模拟故障以测试系统恢复能力。
    • 达梦DMDataWatch:支持自动化监控和管理,简化操作流程。
  12. 多活和地理分布
    • Oracle Data Guard:提供多种灾难恢复方案,包括本地恢复、异地恢复和云恢复等。
    • MySQL主从复制:支持跨地理位置的数据库同步,适合跨地理区域部署,确保数据在不同地区保持一致。
    • SQL Server AlwaysOn:可以跨多个数据中心进行部署,提供更好的灾难恢复能力。
    • PG Patroni流复制:支持跨地理位置的数据库同步,适合跨地理区域部署,确保数据在不同地区保持一致。
    • 达梦DMDataWatch:提供多种灾难恢复方案,包括本地恢复、异地恢复和云恢复等。

综上所述,每种方案各有优劣,企业在选择时,务必结合自身业务需求、预算、技术栈以及维护能力等因素,进行全面、细致的考量 。

相关文章:

关系型数据库主备高可用方案对比笔记

目录标题 数据库高可用性解决方案对比Oracle Data GuardMySQL 主从复制SQL Server AlwaysOnPG Patroni 流复制达梦 DMDataWatch人大金仓 repmgr 备库故障是否影响主库?表格关系型数据库主备高可用方案对比笔记 数据库高可用性解决方案对比 Oracle Data Guard Orac…...

怎么查看电脑显存大小(查看电脑配置)

这里提供一个简单的方法查看 winr打开cmd 终端输入dxdiag进入DirectX 点击显示查看设备的显示内存(VRAM) 用这个方法查看电脑配置和显存是比较方便的 dxdiag功能 Dxdiag是Windows的DirectX诊断工具,其主要作用包括但不限于以下几点&#…...

深入理解指针(二)

深入理解指针(二) 前言:一、const修饰指针1.const修饰变量2.const修饰的指针变量 二、野指针1.野指针的成因(1).指针的未初始化(2).指针的越界访问(3).指针的空间释放 2.如何规避野指针(1).指针初始化(2).小心访问越界(3)指针不再使用的时候&…...

非华为电脑制作一碰传NFC贴纸

前提: 在笔记本上安装好华为电脑管家,可以在 github 上下载,并测试可以正常和手机或平板连接步骤: 1、打开电脑华为电脑管家,点【快捷服务】,记录下序列号,一般安装后会生成16位的序列号 2、…...

Wpf美化按钮,输入框,下拉框,dataGrid

Wpf美化按钮&#xff0c;输入框&#xff0c;下拉框&#xff0c;dataGrid 引用代码后 引用资源 <ControlTemplate x:Key"CustomProgressBarTemplate" TargetType"ProgressBar"><Grid><Border x:Name"PART_Track" CornerRadius&q…...

Office/WPS接入DeepSeek等多个AI工具,开启办公新模式!

在现代职场中&#xff0c;Office办公套件已成为工作和学习的必备工具&#xff0c;其功能强大但复杂&#xff0c;熟练掌握需要系统的学习。为了简化操作&#xff0c;使每个人都能轻松使用各种功能&#xff0c;市场上涌现出各类办公插件。这些插件不仅提升了用户体验&#xff0c;…...

【深度学习】多目标融合算法(四):多门混合专家网络MMOE(Multi-gate Mixture-of-Experts)

目录 一、引言 二、MMoE&#xff08;Multi-gate Mixture-of-Experts&#xff0c;多门混合专家网络&#xff09; 2.1 技术原理 2.2 技术优缺点 2.3 业务代码实践 2.3.1 业务场景与建模 2.3.2 模型代码实现 2.3.3 模型训练与推理测试 2.3.4 打印模型结构 三、总结 一、…...

git submodule使用

git submodule 用于关联其他独立的仓库。 它有着几点好处&#xff1a; 代码复用&#xff1a;可以将工具代码放到单独的仓库&#xff0c;再通过 submodule 关联。模块化开发&#xff1a;可以将项目拆分成多个模块&#xff0c;每个模块设置单独仓库独立开发&#xff0c;再通过 su…...

朝天椒USB服务器:解决加密狗远程连接

本文探讨朝天椒USB服务器用Usb Over Network技术&#xff0c;解决加密狗在虚拟机、云主机甚至异地的远程连接问题。 在企业数字化转型的浪潮中&#xff0c;加密狗作为防止软件盗版的重要手段&#xff0c;广泛应用于各类软件授权场景。然而&#xff0c;随着企业超融合进程不断加…...

[笔记.AI]deepseek-r1的不同版本(满血版、蒸馏版、量化)

满血版&#xff1a;是原始的高性能模型&#xff1b; 蒸馏版&#xff08;Distill&#xff09;&#xff1a;是指将大型模型&#xff08;教师模型&#xff09;的知识转移到较小的模型&#xff08;学生模型&#xff09;中&#xff0c;以保持性能的同时减少计算资源的需求&#xff1…...

Kokoro 开源文本转语音引擎上线!多语言支持,无需联网,浏览器内极速运行

Kokoro 是一款轻量级的开源文本转语音(TTS)引擎,凭借其高效能和轻量化设计,迅速在技术社区中引起关注。本文将详细介绍 Kokoro 的主要特点,并提供在浏览器和 Python 环境中的代码示例,帮助您快速上手。 1. Kokoro:可在浏览器中运行的 TTS 引擎 1.1 简介 Kokoro 是一个…...

Unity 基础编程

在这个练习中将新建unity脚本&#xff0c;控制player的运动与转动&#xff0c;实现用代码检测碰撞与删除物体。 该练习将应用附件中的项目文件&#xff0c;该文件与Unity快速练习的文件是同一个项目文件。 一、构建Player运动脚本 该部分将构建一个在场景中由玩家控制游戏物…...

CTFHub-RCE系列wp

目录标题 引言什么是RCE漏洞 eval执行文件包含文件包含php://input读取源代码远程包含 命令注入无过滤过滤cat过滤空格过滤目录分隔符过滤运算符综合过滤练习 引言 题目共有如下类型 什么是RCE漏洞 RCE漏洞&#xff0c;全称是Remote Code Execution漏洞&#xff0c;翻译成中文…...

基于YoloV11和驱动级鼠标模拟实现Ai自瞄

本文将围绕基于 YoloV11 和驱动级鼠标实现 FPS 游戏 AI 自瞄展开阐述。 需要着重强调的是&#xff0c;本文内容仅用于学术研究和技术学习目的。严禁任何个人或组织将文中所提及的技术、方法及思路应用于违法行为&#xff0c;包括但不限于在各类游戏中实施作弊等违规操作。若因违…...

基于微信小程序的博物馆预约系统的设计与实现

hello hello~ &#xff0c;这里是 code袁~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生…...

R语言LCMM多维度潜在类别模型流行病学研究:LCA、MM方法分析纵向数据

全文代码数据&#xff1a;https://tecdat.cn/?p39710 在数据分析领域&#xff0c;当我们面对一组数据时&#xff0c;通常会有已知的分组情况&#xff0c;比如不同的治疗组、性别组或种族组等&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 然而&#xff0c;…...

python卷积神经网络人脸识别示例实现详解

目录 一、准备 1&#xff09;使用pytorch 2&#xff09;安装pytorch 3&#xff09;准备训练和测试资源 二、卷积神经网络的基本结构 三、代码实现 1&#xff09;导入库 2&#xff09;数据预处理 3&#xff09;加载数据 4&#xff09;构建一个卷积神经网络 5&#xff0…...

如何把邮件批量导出到本地

最近遇到邮箱满了的问题&#xff0c;需要把邮件批量导出到本地&#xff0c;然后清空邮箱。 问题是这个邮箱的官网&#xff0c;没有批量导出按钮&#xff0c;比较麻烦&#xff1b;总不能一封一封下载到本地&#xff0c;上万的。 找到了一个好用的工具&#xff0c;Mozilla Thun…...

C++智能指针的使用

文章目录 智能指针的使用和原理智能指针的使用场景RAII和智能指针C标准库智能指针的使用 智能指针的使用和原理 智能指针的使用场景 1. 下面的程序中&#xff0c;new了以后&#xff0c;我们也delete了&#xff0c;但是因为抛异常导致后面的delete没有得到执行&#xff0c;所以…...

Docker安装Redis

一、保证Docker提起来了 systemctl status docker想这没有启动要先启动一下 systemctl status docke二、拉取Redis&#xff08;默认拉最新版&#xff09; sudo docker pull redis检查一下拉成功没有 docker images三、创建相关目录 mkdir -p /home/redis/{conf,data}四、…...

深入理解MySQL索引底层数据结构

文章目录 前言一、MySQL索引是什么&#xff1f;二、索引的核心需求三、MySQL为什么选择BTree做为数据结构1.如果使用的是Hash 做为数据结构2.如果使用二叉树做为数据结构3.使用红黑树做为数据结构4.使用B-Tree做为数据结构5.BTree做为数据结构 4.BTree深度剖析结构特性与 B-Tre…...

udp和tcp的区别

目录 UDP 和 TCP 的区别 1. 连接性 2. 可靠性 3. 数据传输顺序 4. 流量控制和拥塞控制 5. 效率 6. 应用场景 UDP 和 TCP 的 C/C 代码实现区别 1. TCP 服务器端和客户端 TCP 服务器端&#xff08;Server&#xff09; TCP 客户端&#xff08;Client&#xff09; 2. U…...

VMware 虚拟机 ubuntu 20.04 扩容工作硬盘

一、关闭虚拟机 关闭虚拟机参考下图&#xff0c;在vmware 调整磁盘容量 二、借助工具fdisk testubuntu ~ $ df -h Filesystem Size Used Avail Use% Mounted on udev 1.9G 0 1.9G 0% /dev tmpfs 388M 3.1M 385M 1% /run /dev/sda5 …...

MapReduce是什么?

MapReduce 是一种编程模型&#xff0c;最初由 Google 提出&#xff0c;旨在处理大规模数据集。它是分布式计算的一个重要概念&#xff0c;通常用于处理海量数据并进行并行计算。MapReduce的基本思想是将计算任务分解为两个阶段&#xff1a;Map 阶段和 Reduce 阶段。 Map 阶段&a…...

跨越边界,大模型如何助推科技与社会的完美结合?

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 概述 2024年&#xff0c;大模型技术已成为人工智能领域的焦点。这不仅仅是一项技术进步&#xff0c;更是一次可能深刻影响社会发展方方面面的变革。大模型的交叉能否推动技术与社会的真正融合&#xff1f;2025年…...

计算机毕业设计SpringBoot校园二手交易小程序 校园二手交易平台(websocket消息推送+云存储+双端+数据统计)(源码+文档+运行视频+讲解视频)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

RK3568平台开发系列讲解(ConfigFS篇)ConfigFS核心数据结构

🚀返回专栏总目录 文章目录 一、数据结构二、结构体关系三、案例3.1、configfs_subsystem 实例3.2、config_group 实例化四、属性和方法五、config_item实例化沉淀、分享、成长,让自己和他人都能有所收获!😄 理解 ConfigFS 的核心数据结构对于深入使用和定制 ConfigFS 非…...

【04】RUST特性

文章目录 隐藏shadowing所有权ownership堆区&栈区所有权规则变量&数据Copy Trait与Drop TraitCopy TraitDrop Trait移动克隆函数参数与返回值的所有权参数引用可变引用悬垂引用slice生命周期隐藏shadowing 有点像同名覆盖 let mut guess = String::new();let guess: u3…...

c语言函数学习

C语言函数学习笔记&#xff1a;从入门到实践 一、什么是函数&#xff1f; 函数是C语言中用于封装特定功能的代码块&#xff0c;是模块化编程的核心。通过函数可以实现&#xff1a; 代码复用&#xff1a;避免重复编写相同逻辑 逻辑清晰&#xff1a;将复杂程序分解为多个小模块…...

LSTM的介绍

网上一些描述LSTM文章看的云里雾里&#xff0c;只是介绍LSTM 的结构&#xff0c;并没有说明原理。我这里用通俗易懂的话来描述一下。 我们先来复习一些RNN的核心公式&#xff1a; h t t a n h ( W h h t − 1 W x x t b h ) h_t tanh(W_h h_{t-1} W_x x_t b_h) ht​tan…...

XML DOM

XML DOM XML DOM(Document Object Model)是一种用于访问和操作XML文档的标准方式。它提供了一种树形结构来表示XML文档,使得开发者能够方便地对XML数据进行读取、修改和操作。本文将详细介绍XML DOM的基本概念、结构、操作方法以及应用场景。 一、XML DOM的基本概念 XML …...

认识网络安全

一 网络攻击链 踩点-工具准备-载荷投递-漏洞利用-释放载荷-建立通道-目标达成 简化下&#xff1a; 目标侦察&#xff1a;准确识别目标&#xff0c;收集目标详细信息&#xff0c;比如 网络、 邮箱、员工、社会关系、对外提供服务、漏洞 信息等&#xff0c;为 后续攻击做准备。…...

华为支付-免密支付接入签约代扣场景开发步骤

一、预签约&#xff08;服务器开发&#xff09; 1.开发者按照商户模型调用预直连商户预签约或服务商预签约接口获取preSignNo构建签约信息参数contractStr。 为保证支付订单的安全性和可靠性需要对请求body和请求头PayMercAuth对象内的入参排序拼接进行签名。请参考排序拼接和…...

9.JVM-方法区

前言 这次所讲述的是运行时数据区的最后一个部分 从线程共享与否的角度来看 ThreadLocal&#xff1a;如何保证多个线程在并发环境下的安全性&#xff1f;典型应用就是数据库连接管理&#xff0c;以及会话管理 栈、堆、方法区的交互关系 下面就涉及了对象的访问定位 Person&a…...

【Linux Oracle】杂货铺 日常实用2024

1.跨服务器移动文件 passwd=^T^bxxxx `/usr/bin/expect <<-EOF set timeout -1 spawn scp -r ${BATCH_TIME} sxnhtc@192.168.3.x:${EXP_MCRO_DIR}/ expect "*password:" send "$passwd\r" interact expect eof EOF` curl -k -X GET https://192.16…...

深入理解指针初阶:从概念到实践

一、引言 在 C 语言的学习旅程中&#xff0c;指针无疑是一座必须翻越的高峰。它强大而灵活&#xff0c;掌握指针&#xff0c;能让我们更高效地操作内存&#xff0c;编写出更优化的代码。但指针也常常让初学者望而生畏&#xff0c;觉得它复杂难懂。别担心&#xff0c;本文将用通…...

Git 与 Git常用命令

Git 是一个开源的分布式版本控制系统&#xff0c;广泛用于源代码管理。与传统的集中式版本控制系统不同&#xff0c;Git 允许每个开发者在本地拥有完整的代码库副本&#xff0c;支持离线工作和高效的分支管理。每次提交时&#xff0c;Git 会对当前项目的所有文件创建一个快照&a…...

jupyterLab插件开发

jupyter lab安装、配置&#xff1a; jupyter lab安装、配置教程_容器里装jupyterlab-CSDN博客 『Linux笔记』服务器搭建神器JupyterLab_linux_布衣小张-腾讯云开发者社区 Jupyter Lab | 安装、配置、插件推荐、多用户使用教程-腾讯云开发者社区-腾讯云 jupyterLab插件开发教…...

IDEA+DeepSeek让Java开发起飞

1.获取DeepSeek秘钥 登录DeepSeek官网 : https://www.deepseek.com/ 进入API开放平台&#xff0c;第一次需要注册一个账号 进去之后需要创建一个API KEY&#xff0c;然后把APIkey记录保存下来 接着我们获取DeepSeek的API对话接口地址&#xff0c;点击左边的&#xff1a;接口…...

机器学习数学基础:19.线性相关与线性无关

一、线性相关与线性无关的定义 &#xff08;一&#xff09;线性相关 想象我们有一组向量&#xff0c;就好比是一群有着不同“力量”和“方向”的小伙伴。给定的向量组 α ⃗ 1 , α ⃗ 2 , ⋯ , α ⃗ m \vec{\alpha}_1, \vec{\alpha}_2, \cdots, \vec{\alpha}_m α 1​,α 2…...

快速集成DeepSeek到项目

DeepSeek API-KEY 获取 登录DeekSeek 官网&#xff0c;进入API 开放平台 2. 创建API-KEY 复制API-KEY进行保存&#xff0c;后期API调用使用 项目中集成DeepSeek 这里只展示部分核心代码&#xff0c;具体请查看源码orange-ai-deepseek-biz-starter Slf4j AllArgsConstructo…...

Rocketmq 和 Rabbitmq ,在多消费者的情况下,可以实现顺序消费吗

在多消费者的情况下&#xff0c;RocketMQ 和 RabbitMQ 都可以实现顺序消费&#xff0c;但它们的实现机制和适用场景有所不同。以下是对两者的详细分析和对比&#xff1a; 1. RocketMQ 的顺序消费 1.1 实现机制 顺序消息&#xff1a;RocketMQ 支持顺序消息&#xff08;Orderly …...

linux下安装【流媒体】SRS之安装与使用

一、 安装srs 这个是一个流媒体服务器。 1.1 github 获取源码 git clone https://github.com/ossrs/srs.git 或者下载国内的 git clone https://gitee.com/ossrs/srs 进去之后下载zip的 #直接使用当前最新的6.0release版本 &#xff0c;我下载的是zip的 下载了之后上传到…...

Qt QSettings用法

一、概述 QSettings类是Qt框架中的一个重要类&#xff0c;它主要用于存储和访问应用程序的设置和配置。 二、QSettings的构造方式 1、基于组织名和程序名的构造方式&#xff08;主要用于Windows注册表&#xff09; 1、explicit QSettings(const QString &organization,c…...

python学opencv|读取图像(六十)先后使用cv2.erode()函数和cv2.dilate()函数实现图像处理

【1】引言 前序学习进程中&#xff0c;先后了解了使用cv2.erode()函数和cv2.dilate()函数实现图像腐蚀和膨胀处理的效果&#xff0c;相关文章链接为&#xff1a; python学opencv|读取图像&#xff08;五十八&#xff09;使用cv2.erode()函数实现图像腐蚀处理-CSDN博客 pytho…...

【大数据安全分析】大数据安全分析技术框架与关键技术

在数字化时代&#xff0c;网络安全面临着前所未有的挑战。传统的网络安全防护模式呈现出烟囱式的特点&#xff0c;各个安全防护措施和数据相互孤立&#xff0c;形成了防护孤岛和数据孤岛&#xff0c;难以有效应对日益复杂多变的安全威胁。而大数据分析技术的出现&#xff0c;为…...

[笔记.AI]Deepseek-R1 各参数版本的蒸馏模型对比

备注&#xff1a;信息主要通过Deepseek-R1获得&#xff08;查询近一个月的在线资料并整理&#xff09;&#xff0c;然后我进行了相应整合。如有错误&#xff0c;希望指出&#xff0c;谢谢。 Deepseek-R1 蒸馏模型 对比维度1.5B7B8B14B32B70B 特有的突破性能力▸ 毫秒级响应(0.3…...

JAVA面向对象2(三大特征)

面向对象的三大特征&#xff1a;封装、继承、多态 封装&#xff1a; 封装&#xff0c;英文单词Encapsulation。 从广义的角度来说&#xff0c;将一块经常要使用的代码片段&#xff0c;定义到方法中&#xff0c;是封装。将多个方法和多个状态数据定义到类体中&#xff0c;也是一…...

Spring Cloud工程完善

目录 完善订单服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 完成商品服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 远程调用 需求 实现 1.定义RestTemplate 2.修改order-service中的OrderService 测试运行 Rest…...

AI大模型随机初始化权重并打印网络结构方法(以Deepseekv3为例,单机可跑)

背景 当前大模型的权重加载和调用&#xff0c;主要是通过在HuggingFace官网下载并使用transformer的库来加以实现&#xff1b;其中大模型的权重文件较大&#xff08;部分>100GB&#xff09;&#xff0c;若只是快速研究网络结构和数据流变化&#xff0c;则无需下载权重。本文…...