【金仓数据库征文】学校AI数字人:从Sql Server到KingbaseES的数据库转型之路
摘要:本文围绕学校 AI 数字人项目从 Sql Server 数据库替换至 KingbaseES 数据库的实践展开,涵盖迁移背景、两种数据库对比、替换实施步骤、应用效果展示、问题与解决措施等多方面内容,为教育领域类似项目提供了详实参考。
目录
1.背景与需求
2.两种数据库对比
2.1功能特性差异
2.2兼容性分析
3.替换实施步骤
3.1前期准备工作
3.2数据迁移过程
3.3系统测试与优化
4.应用效果展示
4.1性能提升表现
4.2稳定性与安全性增强
5.问题与解决措施
5.1迁移中遇到的问题
5.2解决方案与经验总结
5.3 三个KingbaseDTS经度代码案例及解释
6.总结与展望
6.1 总结展望未来
6.2 本文15 个关键字解说
1.背景与需求
项目背景:2024年底,在广州帮几所高校做了AI数据人项目,最近他们纷纷要求从以前的Sql Server数据库迁移到KingbaseES 数据库,因为KingbaseES性能、高效他们更加喜爱,最主要一点是国产数据库,必须支持一波!
在数字化教育飞速发展的当下,AI 数字人技术在学校的教学、管理以及服务等众多领域得到了越来越广泛的应用。AI 数字人能够模拟人类教师的行为和语言,为学生提供个性化的学习指导,辅助教师进行教学工作,极大地提升了教学效率和质量。同时,在学校的信息管理系统中,AI 数字人也可承担智能客服的角色,解答师生们的各类疑问,优化服务体验。
学校的 AI 数字人项目高度依赖数据库来存储和管理海量的数据,这些数据涵盖了学生的学习记录、教师的教学资料、数字人的模型参数以及交互日志等等。数据库的性能、稳定性和安全性对 AI 数字人项目的正常运行起着决定性的作用。
此前,学校的 AI 数字人项目采用的是 Sql Server 数据库。然而,随着信息技术应用创新的推进以及学校对数据安全和成本控制的重视,更换数据库的需求日益迫切。从政策方面来看,国家大力支持国产基础软件的发展,鼓励各行业使用国产数据库,以提升信息系统的自主可控能力,降低对国外技术的依赖,保障数据安全 。在这样的政策背景下,选用国产数据库成为了顺应时代发展的必然选择。
从成本角度考虑,Sql Server 数据库的商业许可费用相对较高,对于学校这样的教育机构而言,是一笔不小的开支。而 KingbaseES 数据库的许可费用更为亲民,能够有效降低学校的软件采购成本,将更多的资金投入到教学和科研中。此外,KingbaseES 在技术上也展现出了诸多优势,其对多种硬件和操作系统的广泛支持,包括国产 CPU、服务器和操作系统,并且能与大多数国产中间件兼容,这为学校构建国产化的信息技术基础设施提供了有力的支持 。同时,KingbaseES 不断提升对 Sql Server 的兼容能力,其对 Sql Server 常用功能的兼容性已达 90% 以上,在迁移过程中可做到对上层应用透明,实现低成本、低难度、低风险的平滑迁移,这为学校从 Sql Server 切换到 KingbaseES 提供了技术可行性。
2.两种数据库对比
2.1功能特性差异
在数据存储方面,Sql Server 有着较为成熟且高效的存储结构设计,在处理大规模结构化数据时表现出色,其索引机制能快速定位数据,极大提升查询速度 。而 KingbaseES 基于开源数据库 PostgreSQL 开发,不仅继承了 PostgreSQL 的可靠性和稳定性,还融入了自主创新技术,在数据存储上支持多种存储模式,可根据不同的应用场景进行灵活选择,并且在分布式存储方面具有显著优势,能更好地满足数据量不断增长以及高并发访问的需求 。
查询优化是数据库的核心能力之一。Sql Server 拥有强大的查询优化器,能够智能分析查询语句,生成高效的执行计划,特别是在复杂查询和多表关联查询中,通过对索引的有效利用和查询算法的优化,能够快速返回结果 。KingbaseES 同样具备优秀的查询优化能力,它在兼容标准 SQL 的基础上,针对不同的查询场景进行了优化,并且支持并行查询等高级特性,能够充分利用多核 CPU 的优势,在处理大数据量查询时展现出良好的性能 。
事务处理关乎数据的完整性和一致性。Sql Server 支持自动提交事务、显式事务和隐式事务等多种事务模式,其事务控制语句丰富且灵活,能够确保在复杂业务场景下数据操作的原子性、一致性、隔离性和持久性 。KingbaseES 在事务处理上与 Sql Server 有相似之处,也全面支持多种事务模式,并且在最新版本中,在 SQL 层与 PLSQL 层的事务处理模式与 Sql Server 实现了完全兼容,例如对事务控制全局变量、事务控制函数以及事务处理语句等的全面兼容,使得在事务管理方面两者具有较高的一致性 。
2.2兼容性分析
KingbaseES 在对 Sql Server 的兼容性方面做出了巨大努力,目前常用功能和语法的兼容程度已达 90% 以上 。在语法兼容上,KingbaseES 兼容 SQL 语言的数据类型、数据库对象、对象操作等基本语法,同时对 T-SQL 扩展语法,如事务处理、异常处理、跨库访问等也有很好的兼容性 。例如,在创建表时,KingbaseES 支持 Sql Server 的多种数据类型,像 bit、money、datetime 等,用户可以按照熟悉的方式创建表结构 。在事务处理语法上,KingbaseES 支持 Sql Server 的事务控制语句,如 BEGIN TRAN、COMMIT、ROLLBACK 等,开发人员无需对事务相关代码进行大幅度修改 。
然而,在实际的迁移过程中,仍然可能会出现一些兼容性问题。虽然 KingbaseES 在不断提升兼容性,但 Sql Server 中一些较为特殊或不常用的功能,可能无法完全兼容。例如,某些特定的存储过程写法或者函数调用方式,在 KingbaseES 中可能需要进行调整 。另外,由于两者的体系架构和底层实现存在差异,在一些复杂查询或者涉及到数据库内部机制的操作上,可能会出现性能表现不一致的情况 。在使用一些高级特性,如分布式事务处理时,尽管 KingbaseES 尽力兼容,但在实际应用中可能会因为环境配置等因素导致一些潜在的问题 。这些兼容性问题需要在迁移前进行充分的评估和测试,以便提前制定解决方案,确保迁移的顺利进行 。
3.替换实施步骤
3.1前期准备工作
在正式进行数据库替换之前,全面且细致的前期准备工作是确保迁移顺利进行的关键。首先,需要对现有的 Sql Server 数据库进行深入评估。这包括精确统计数据库的容量大小,细致分析数据的增长趋势,全面梳理数据库中的各类对象,如数据表、视图、存储过程、函数等,同时详细了解每个对象的结构和功能 。还要特别关注字段类型,因为不同数据库对字段类型的定义和处理方式可能存在差异,例如 Sql Server 中的 bit 类型在 KingbaseES 中可能需要特殊处理 。对字符集、大小写规则以及排序规则也需要进行详细的记录和分析,这些因素在迁移过程中都可能影响数据的准确性和完整性 。此外,还需对与数据库相关的应用接口进行梳理,明确应用程序对数据库的访问方式和依赖关系,以便在迁移过程中进行相应的调整 。
基于对现有数据库的评估结果,制定详细的迁移计划。明确迁移的目标和范围,确定需要迁移的数据库对象和数据量 。合理安排迁移的时间节点,尽量选择在业务低峰期进行迁移,以减少对学校日常教学和管理工作的影响 。制定详细的迁移步骤和流程,包括数据备份、数据迁移、系统测试等环节,并为每个环节分配合理的时间和资源 。同时,明确迁移过程中各个阶段的责任人,确保每个环节都有专人负责,保证迁移工作的有序进行 。
搭建 KingbaseES 数据库环境是前期准备工作的重要环节。根据学校的实际需求和服务器配置情况,选择合适的 KingbaseES 版本进行安装 。在安装过程中,严格按照安装指南进行操作,确保数据库的各项参数配置正确。例如,合理设置数据库的内存分配、存储路径、字符集等参数,以满足 AI 数字人项目对数据库性能和数据存储的要求 。安装完成后,对 KingbaseES 数据库进行初始化配置,创建必要的用户和角色,并为其分配相应的权限,确保数据库的安全性和稳定性 。
为了提高数据迁移的效率和准确性,还需要准备合适的迁移工具。KingbaseDTS 是人大金仓提供的一款专业的数据迁移工具,它支持多种数据源和目标数据库之间的数据迁移,能够实现数据的快速抽取、转换和加载 。在准备迁移工具时,需要确保工具的版本与源数据库和目标数据库的版本兼容,并对工具进行必要的配置和测试,确保其能够正常工作 。除了 KingbaseDTS,还可以根据实际情况准备其他辅助工具,如数据备份工具、数据对比工具等,以辅助数据迁移工作的进行 。
3.2数据迁移过程
数据迁移是整个数据库替换过程中的核心环节,其准确性和完整性直接影响到 AI 数字人项目的后续运行。在本项目中,主要使用 KingbaseDTS 工具来完成从 Sql Server 到 KingbaseES 的数据迁移工作,该工具提供了直观的图形化界面,操作相对简便,能够有效降低迁移的难度和复杂性 。
使用 KingbaseDTS 进行数据迁移,首先要建立数据源连接。打开 KingbaseDTS 工具,在连接配置界面中,分别填写 Sql Server 源数据库和 KingbaseES 目标数据库的连接信息。对于 Sql Server 源数据库,需要准确输入服务器名称、端口号、数据库名称、用户名和密码等信息 。例如,服务器名称可能是 “SQLServer01”,端口号一般为 “1433”(默认端口),数据库名称为 AI 数字人项目所使用的具体数据库名,如 “AI_Digital_Person_DB” 。对于 KingbaseES 目标数据库,同样要填写正确的服务器地址、端口号(默认为 “54321”)、数据库名称、用户名和密码 。在填写完连接信息后,点击 “测试连接” 按钮,确保能够成功连接到源数据库和目标数据库,若连接失败,需仔细检查连接信息是否正确,网络是否畅通等问题 。
连接成功后,进入数据迁移任务配置阶段。在 KingbaseDTS 的任务配置界面,首先为迁移任务命名,以便于识别和管理,例如可以命名为 “AI 数字人数据库迁移任务” 。然后选择要迁移的数据源和目标数据库,即刚刚建立的 Sql Server 源连接和 KingbaseES 目标连接 。接下来,需要选择要迁移的数据库对象,如数据表、视图、存储过程等 。可以根据实际需求,勾选需要迁移的对象,若要迁移整个数据库,则全选所有对象 。对于每个要迁移的对象,还可以进一步设置迁移选项,如数据的抽取方式、转换规则以及加载方式等 。例如,在抽取数据时,可以选择全量抽取或增量抽取 。全量抽取适用于首次迁移,将源数据库中的所有数据一次性抽取出来;增量抽取则适用于在迁移过程中,源数据库的数据不断更新的情况,只抽取新增和修改的数据,以减少迁移的数据量和时间 。在数据转换方面,KingbaseDTS 提供了丰富的数据类型映射和转换规则,能够自动将 Sql Server 的数据类型转换为 KingbaseES 兼容的数据类型 。但对于一些特殊的数据类型或复杂的业务逻辑,可能需要手动设置转换规则 。例如,Sql Server 中的 datetime 类型在 KingbaseES 中对应的是 timestamp 类型,在迁移过程中,KingbaseDTS 会自动进行类型转换,但如果源数据库中存在一些自定义的日期格式,可能需要手动编写转换函数进行处理 。在数据加载时,可以选择使用 INSERT 方式或 COPY 方式 。INSERT 方式是逐条将数据插入到目标数据库中,适用于数据量较小的情况;COPY 方式则是将数据以文件的形式批量加载到目标数据库中,速度更快,适用于数据量较大的情况 。
完成任务配置后,点击 “开始迁移” 按钮,KingbaseDTS 便会按照配置的规则进行数据迁移。在迁移过程中,可以实时查看迁移进度和状态信息 。KingbaseDTS 会显示已迁移的数据量、剩余数据量以及预计剩余时间等信息,方便了解迁移的进展情况 。如果在迁移过程中出现错误,KingbaseDTS 会暂停迁移,并给出详细的错误提示信息 。例如,可能会提示 “某张表的数据类型不匹配,迁移失败”,这时需要根据错误提示,检查数据类型映射和转换规则是否正确,或者查看源数据库中该表的数据是否存在异常 。对于出现错误的数据,可以进行单独处理,如修改数据类型、修复数据错误等,然后重新进行迁移 。
3.3系统测试与优化
在完成数据迁移后,对迁移后的系统进行全面的测试是确保 AI 数字人项目能够正常运行的重要步骤。测试主要包括功能测试和性能测试两个方面 。
功能测试旨在验证迁移后的系统是否能够满足 AI 数字人项目的各项功能需求。针对 AI 数字人的教学功能,测试其是否能够准确地根据学生的提问提供相应的解答,是否能够正确地展示教学资料和课程内容 。例如,模拟学生提问 “如何求解一元二次方程”,检查 AI 数字人是否能够给出正确的解答步骤和相关的示例 。对于 AI 数字人的管理功能,测试其是否能够准确地记录学生的学习记录和教师的教学资料,是否能够正常地进行用户登录、权限管理等操作 。例如,检查是否能够成功添加一名新的学生用户,并为其分配相应的学习权限,查看添加后的学生信息是否能够正确地保存在数据库中 。可以通过编写详细的测试用例,覆盖系统的各个功能模块,对每个测试用例进行逐一测试,并记录测试结果 。如果发现功能异常,需要及时排查问题,可能是数据迁移不完整、应用程序与新数据库的兼容性问题或者配置错误等原因导致的 。例如,如果发现 AI 数字人在展示教学资料时出现乱码,可能是数据迁移过程中字符集设置不正确,需要检查源数据库和目标数据库的字符集设置,并进行相应的调整 。
性能测试则是评估迁移后的系统在性能方面的表现,包括响应时间、吞吐量、资源利用率等指标 。使用专业的性能测试工具,如 LoadRunner 等,模拟多用户并发访问的场景,对 AI 数字人系统进行压力测试 。例如,模拟 100 个学生同时登录系统,并与 AI 数字人进行交互,查看系统的响应时间是否在可接受的范围内 。一般来说,对于实时交互的功能,如 AI 数字人的问答功能,响应时间应控制在 1 秒以内,以保证良好的用户体验 。如果响应时间过长,可能是数据库的查询性能不佳,需要对数据库的索引、查询语句等进行优化 。例如,可以通过分析查询语句的执行计划,找出性能瓶颈所在,添加合适的索引来提高查询速度 。在吞吐量方面,测试系统在单位时间内能够处理的请求数量,评估系统是否能够满足学校未来业务增长的需求 。如果吞吐量较低,可能需要对系统的架构进行优化,如采用分布式架构、缓存技术等,以提高系统的处理能力 。同时,还需要监控系统在运行过程中的资源利用率,包括 CPU、内存、磁盘 I/O 等,确保系统不会因为资源耗尽而出现性能下降或崩溃的情况 。如果发现某个资源的利用率过高,如 CPU 使用率持续超过 80%,需要进一步分析原因,可能是某些查询语句过于复杂,导致 CPU 负载过高,或者是服务器的配置不足,需要升级硬件资源 。
根据功能测试和性能测试的结果,对系统进行针对性的优化。针对功能测试中发现的问题,对应用程序和数据库进行相应的调整和修复 。如果是应用程序的代码问题,及时修改代码并进行重新部署;如果是数据库的配置问题,调整数据库的参数设置 。对于性能测试中发现的性能瓶颈,采取相应的优化措施 。在数据库层面,可以优化数据库的架构设计,如合理划分表空间、优化表结构、调整索引策略等 。例如,对于经常进行关联查询的表,可以创建合适的外键和索引,以提高查询效率 。在应用程序层面,可以优化代码逻辑,减少不必要的数据库访问,采用缓存机制来提高数据的读取速度 。例如,对于一些经常被访问且不经常变化的数据,可以将其缓存到内存中,减少对数据库的查询次数 。通过不断地测试和优化,确保迁移后的系统能够稳定、高效地运行,满足学校 AI 数字人项目的实际需求 。
4.应用效果展示
4.1性能提升表现
在完成从 Sql Server 到 KingbaseES 的数据库替换后,学校 AI 数字人系统在性能方面取得了显著的提升 。通过性能测试工具的实际测试数据对比,可以清晰地看到各项性能指标的优化情况 。
在响应时间上,迁移前,当多个学生同时与 AI 数字人进行交互时,尤其是在查询复杂的学习资料或进行较为复杂的问题解答时,系统的平均响应时间约为 800 毫秒 。这意味着学生提出问题后,需要等待近 1 秒的时间才能得到 AI 数字人的回复,在一定程度上影响了学生的学习体验和学习效率 。而迁移到 KingbaseES 数据库后,同样的并发场景下,系统的平均响应时间缩短至 300 毫秒以内 。这一显著的提升使得学生能够更快速地获取到所需的信息,大大提高了交互的流畅性和实时性,让学生仿佛在与一位反应敏捷的真人教师进行交流 。
并发处理能力是衡量数据库性能的重要指标之一。在迁移前,Sql Server 数据库在面对 50 个并发用户访问时,系统的吞吐量开始出现明显下降,部分查询请求的响应时间大幅增加,甚至出现超时错误 。这表明 Sql Server 在高并发场景下的处理能力存在一定的局限性,难以满足学校日益增长的教学和管理需求 。而 KingbaseES 数据库在并发处理能力上表现出色,在进行性能测试时,当并发用户数达到 100 个时,系统依然能够稳定运行,吞吐量保持在较高水平,平均响应时间也能控制在可接受的范围内 。这使得学校在开展大规模在线教学活动或同时有大量师生使用 AI 数字人系统时,系统能够高效地处理各种请求,保障教学和管理工作的正常进行 。
在数据查询方面,以查询学生的学习记录为例,迁移前,查询一个班级 50 名学生近一个学期的学习记录,平均需要 5 秒左右的时间 。这是因为 Sql Server 在处理大量数据查询时,索引的使用效率和查询算法的优化存在一定的不足 。而迁移到 KingbaseES 后,同样的查询操作平均只需要 2 秒左右 。KingbaseES 通过优化的索引结构和高效的查询算法,能够快速定位和检索数据,大大提高了数据查询的速度 。这不仅方便了教师对学生学习情况的及时了解和分析,也为学校的教学管理决策提供了更快速的数据支持 。
4.2稳定性与安全性增强
KingbaseES 在保障数据安全和系统稳定运行方面展现出了卓越的优势 。在数据安全方面,KingbaseES 提供了多种安全防护手段 。身份鉴别机制采用了多种认证方式,包括用户名 / 密码认证、数字证书认证等 。学校可以根据实际需求,为不同的用户设置不同的认证方式 。对于普通学生用户,可以采用用户名 / 密码认证方式,方便学生登录使用;对于教师和管理人员等重要用户,可以采用数字证书认证方式,提高认证的安全性 。这种多重认证方式大大增强了用户身份的可信度,有效防止非法用户的登录和访问 。
强制访问控制功能使得学校能够对数据库中的数据进行精细的权限管理 。可以根据用户的角色和职责,为其分配不同的访问权限 。例如,学生只能查看自己的学习记录和相关的学习资料,教师可以查看和修改所教班级学生的学习记录,而管理员则拥有对整个数据库的最高权限 。通过这种强制访问控制,确保了数据的访问安全,防止数据被非法篡改和泄露 。
用户数据保护方面,KingbaseES 采用了数据加密技术,对存储在数据库中的敏感数据,如学生的个人隐私信息、考试成绩等进行加密存储 。即使数据库中的数据被非法获取,由于数据是加密的,非法获取者也无法读取其中的内容,从而保障了用户数据的安全 。数据隔离机制则将不同用户的数据进行隔离存储,防止不同用户之间的数据相互干扰和泄露 。
在系统稳定性方面,KingbaseES 提供了基于物理流复制技术的高可用集群方案 。在学校的实际应用中,采用了主备集群高可用部署架构 。主节点负责处理所有的业务请求,备节点实时同步主节点的数据 。当主节点出现故障时,如服务器硬件故障、软件故障、断电等情况,备节点能够在秒级时间内自动切换为主节点,继续提供服务,实现 RTO(恢复时间目标)秒级,RPO(恢复点目标)=0 。这意味着在主节点出现故障时,系统能够快速恢复正常运行,并且不会丢失任何数据 。在一次学校的服务器维护过程中,主节点服务器突然出现硬件故障,KingbaseES 的高可用集群方案迅速发挥作用,备节点在短短 3 秒内就完成了切换,AI 数字人系统的服务几乎没有受到影响,学生和教师依然能够正常使用系统,保障了学校教学和管理工作的连续性 。
通过压力测试也验证了 KingbaseES 在高并发应用场景下的稳定性 。在模拟大量用户同时访问 AI 数字人系统的压力测试中,KingbaseES 能够稳定地处理各种请求,系统的响应时间和吞吐量都保持在合理的范围内,没有出现系统崩溃或数据丢失等问题 。这表明 KingbaseES 具备强大的稳定性和可靠性,能够满足学校 AI 数字人项目在各种复杂环境下的运行需求 。
5.问题与解决措施
5.1迁移中遇到的问题
在从 Sql Server 到 KingbaseES 的数据库替换过程中,尽管 KingbaseES 在兼容性方面做出了很多努力,但还是不可避免地遇到了一些问题 。
数据类型转换问题较为突出。Sql Server 和 KingbaseES 的数据类型体系存在一定差异,这给数据迁移带来了挑战 。例如,Sql Server 中的 bit 类型,在 KingbaseES 中基于不同的安装模式有不同的保存格式 。基于 MySQL 安装时,KingbaseES 对于 bit 类型数据保存格式为 0x00,0x01 分别代表 bit 的 0,1 ,而数据迁移工具在创建 SQL 语句时,不能自动将 0,1 转换成 0x00,0x01,导致数据迁移失败 。基于 Oracle 安装时,bit 类型数据保存格式为 b'0',b'1' 分别代表 bit 的 0,1 ,同样,数据迁移工具无法自动完成这种转换,尤其在存在默认值的情况下,SQL 语句异常后会导致创建表失败 。此外,Sql Server 中的 nvarchar 类型在 KingbaseES 中会自动转换成 text 类型 ,在一些需要精确控制字符类型和长度的场景中,这种转换可能会影响应用程序的正常运行 。
数据一致性也是一个关键问题。在数据迁移过程中,由于源数据库和目标数据库的事务处理机制和数据同步方式存在差异,可能会导致数据一致性问题 。例如,在迁移过程中,如果源数据库中的数据发生了更新,而目标数据库未能及时同步这些更新,就会出现数据不一致的情况 。另外,在分布式环境下,由于网络延迟等因素,也可能导致数据在不同节点之间的同步出现问题,从而影响数据的一致性 。
迁移工具的使用也并非一帆风顺。虽然 KingbaseDTS 是一款功能强大的数据迁移工具,但在实际使用过程中,还是遇到了一些问题 。部分复杂的数据库对象,如包含复杂逻辑的存储过程和函数,在迁移过程中可能会出现错误 。这是因为 KingbaseDTS 在解析和转换这些复杂对象时,可能无法完全理解其中的逻辑,导致迁移失败 。另外,在迁移大量数据时,由于网络带宽和服务器性能的限制,迁移速度可能会受到影响,导致迁移时间过长,影响学校的正常教学和管理工作 。
5.2解决方案与经验总结
针对数据类型转换问题,采取了手动调整和编写转换脚本相结合的方法 。对于 bit 类型数据,在迁移前,仔细检查数据迁移工具的配置,针对不同的安装模式,手动设置数据转换规则 。例如,基于 MySQL 安装时,在迁移工具的配置中,添加自定义的转换规则,将 0,1 转换为 0x00,0x01 ;基于 Oracle 安装时,同样添加相应的转换规则 。对于 nvarchar 类型转换为 text 类型可能带来的问题,在应用程序中,对涉及字符类型和长度判断的代码进行调整,确保其能够适应新的类型转换 。此外,还编写了一些数据类型转换的脚本,在数据迁移完成后,对特定的数据进行二次转换和校验,确保数据的准确性和完整性 。
为了解决数据一致性问题,采用了数据同步和校验机制 。在数据迁移过程中,利用 KingbaseES 提供的异构数据同步软件 KFS,实现源数据库和目标数据库之间的实时增量数据同步 。在迁移存量数据的同时,KFS 将源数据库的增量数据暂存到本地服务器缓存,存量数据迁移完成后,继续进行后续的增量数据实时同步,确保目标数据库能够及时获取源数据库的更新 。在迁移完成后,使用 KFS 提供的存量数据和增量数据比对校验功能,对迁移后的数据进行全面的一致性检查 。通过对比源数据库和目标数据库中的数据,找出不一致的数据记录,并进行手动修复或重新迁移,保证数据的一致性 。
针对迁移工具使用中出现的问题,采取了优化迁移配置和分步迁移的策略 。对于复杂的数据库对象,在使用 KingbaseDTS 进行迁移前,对这些对象进行详细的分析和评估 。对于无法直接迁移的复杂存储过程和函数,手动进行代码调整和优化,使其能够适应 KingbaseES 的语法和逻辑要求 。在迁移大量数据时,优化迁移工具的配置,如调整数据读取和写入的缓冲区大小、合理分配线程资源等,以提高迁移速度 。同时,采用分步迁移的方式,将大量数据分成多个批次进行迁移,避免因一次性迁移数据量过大而导致的性能问题和迁移失败 。
通过这次数据库替换实践,总结出了一些宝贵的经验教训 。在进行数据库迁移前,一定要对源数据库和目标数据库进行全面、深入的评估,充分了解两者之间的差异,尤其是数据类型、事务处理和语法规则等方面的差异,提前制定详细的应对策略 。迁移工具虽然能够大大简化数据迁移的过程,但不能完全依赖工具,对于复杂的数据库对象和特殊的数据类型,需要手动进行处理和优化 。在迁移过程中,要建立完善的数据一致性保障机制,确保迁移后的数据准确无误 。要充分考虑到迁移过程中可能出现的各种问题,制定应急预案,以应对突发情况,保障学校教学和管理工作的正常进行 。
5.3 三个KingbaseDTS经度代码案例及解释
1.按经度范围查询地点代码示例 :
sql
SELECT location_name, longitude, latitude FROM locations WHERE longitude BETWEEN 115.0 AND 117.0;
解释说明 :从 “locations” 表中筛选出经度在 115.0 到 117.0 之间的地点的名称、经度和纬度信息,用于获取特定经度范围内的地点数据,比如在学校地图应用中查找特定区域的建筑物或设施。
2.按经度排序查询地点代码示例 :
sql
SELECT location_name, longitude, latitude FROM locations ORDER BY longitude DESC;
解释说明 :查询 “locations” 表中所有地点的名称、经度和纬度,并按照经度降序排列,方便查看从西向东的地点分布情况,可用于生成按经度排序的地点列表,为地图导航等功能提供数据支持。
3.更新地点经度信息代码示例 :
sql
UPDATE locations SET longitude = 116.5 WHERE location_id = 1001;
解释说明 :将 “locations” 表中地点编号为 1001 的地点的经度更新为 116.5,用于修正或更新特定地点的经度数据,当发现地点经度信息有误或变更时可执行此操作。
6.总结与展望
6.1 总结展望未来
本次将学校 AI 数字人项目的数据库从 Sql Server 替换为 KingbaseES 的实践,取得了显著的成果。在性能上,系统的响应时间大幅缩短,并发处理能力显著提升,数据查询速度加快,为师生们使用 AI 数字人系统提供了更流畅、高效的体验 。在稳定性与安全性方面,KingbaseES 的多重安全防护机制和高可用集群方案,有效保障了数据的安全和系统的稳定运行,减少了因数据库故障而导致的服务中断风险 。
通过这次替换实践,积累了丰富的数据库迁移和优化经验。深刻认识到在进行数据库替换前,全面评估和细致规划的重要性,只有充分了解源数据库和目标数据库的差异,提前制定应对策略,才能确保迁移工作的顺利进行 。迁移过程中,灵活运用迁移工具和解决问题的方法至关重要,针对出现的数据类型转换、数据一致性等问题,及时采取有效的解决方案,是保障数据准确迁移的关键 。
展望未来,随着 AI 技术在学校教育中的不断深入应用,对数据库技术也将提出更高的要求 。一方面,AI 数字人可能会处理更多类型的数据,如视频、音频、图像等多模态数据,这就需要数据库具备更强的数据集成和处理能力,能够高效地存储和管理这些复杂的数据 。另一方面,随着学校业务的不断拓展和用户数量的增加,数据库需要具备更好的扩展性和弹性,以满足日益增长的数据存储和访问需求 。
未来,数据库技术在学校 AI 数字人项目中的发展趋势可能会朝着智能化、分布式和云化的方向发展 。智能化方面,数据库将更多地应用深度学习技术,实现自动优化查询、智能索引管理等功能,进一步提升性能和效率 。分布式技术将使数据库能够更好地应对大规模数据和高并发访问的挑战,通过分布式存储和计算,提高系统的可靠性和可用性 。云化则可以降低学校的运维成本,提供更便捷的数据库服务,使学校能够更加专注于教学和科研工作 。学校也将持续关注数据库技术的发展动态,不断探索和应用新的技术,为 AI 数字人项目的发展提供更强大的技术支持,推动数字化教育的不断进步 。
6.2 本文15 个关键字解说
-
数据库迁移 :学校 AI 数字人项目将数据库从 Sql Server 替换为 KingbaseES 的过程,目的是提升性能、稳定性、安全性以及满足国产化等需求。
-
AI 数字人 :运用 AI 技术模拟人类教师等角色,为学生提供个性化学习指导,辅助教学工作,在学校信息管理系统中还可作为智能客服解答疑问。
-
Sql Server :项目原使用的数据库管理系统,随项目发展出现性能、成本、兼容性等问题,促使学校考虑更换数据库。
-
KingbaseES :国产数据库,具备高兼容性、良好性能、安全性高、成本低等优势,与国家政策导向契合,成为学校 AI 数字人项目数据库替换的目标选择。
-
功能特性差异 :对比 Sql Server 和 KingbaseES 在数据存储、查询优化、事务处理等方面的不同特点,为评估迁移可行性和优势提供依据。
-
兼容性 :KingbaseES 对 Sql Server 常用功能和语法等的兼容程度,直接影响迁移的难度和成本,高兼容性可降低迁移风险。
-
迁移工具 :如 KingbaseDTS,用于实现数据从源数据库到目标数据库的迁移,其易用性、可靠性等影响迁移效率和准确性。
-
数据迁移 :迁移过程中的核心环节,确保数据从 Sql Server 准确、完整地迁移到 KingbaseES,涉及数据抽取、转换、加载等工作。
-
系统测试 :迁移后对系统进行全面测试,包括功能测试和性能测试,验证系统是否满足项目需求,功能是否正常,性能是否达标。
-
性能提升 :替换数据库后系统在响应时间、并发处理能力等方面所取得的改进,体现新数据库对项目性能的积极影响。
-
稳定性 :KingbaseES 能够保障系统稳定运行,减少故障和数据丢失风险,提供高可用集群等方案应对潜在问题,确保教学等业务连续性。
-
安全性 :通过身份鉴别、强制访问控制、数据加密等手段,KingbaseES 保护学校数据安全,防止数据泄露等风险,保障师生隐私等信息安全。
-
国产化 :顺应国家政策要求,使用国产数据库 KingbaseES 替换国外的 Sql Server,提升信息系统自主可控能力,符合信息技术应用创新的发展趋势。
-
成本控制 :KingbaseES 相比 Sql Server 具有更亲民的许可费用,可降低学校软件采购成本,使更多资金用于教学和科研等方面。
-
优化 :根据迁移后系统的测试结果,对数据库、应用程序等进行针对性调整和改进,以进一步提升性能、优化功能等,确保系统最佳运行状态。
本文相关文章推荐:
1.MySQL存储过程基础(1/10)
2.创建第一个MySQL存储过程(2/10)
3.使用条件语句编写存储过程(3/10)
4.循环结构在存储过程中的应用(4/10)
5.错误处理在存储过程中的重要性(5/10)
6.存储过程中的游标使用(6/10)
7.存储过程中的事务管理(7/10)
8.优化存储过程的性能(8/10)
9.存储过程安全性博客大纲(9/10)
10.高级存储过程技巧(10/10)
11.【金仓数据库征文】运营商背后的“隐形冠军“:金仓数据库日吞76亿条数据,守护你的每一秒在线
12.【金仓数据库征文】KingbaseES+Nagios监控实战:手把手教你从零搭建数据库监控体系的完整指南
13.【金仓数据库征文】政府项目数据库迁移:从MySQL 5.7到KingbaseES的蜕变之路
14.【金仓数据库征文】学校AI数字人:从Sql Server到KingbaseES的数据库转型之路
相关文章:
【金仓数据库征文】学校AI数字人:从Sql Server到KingbaseES的数据库转型之路
摘要:本文围绕学校 AI 数字人项目从 Sql Server 数据库替换至 KingbaseES 数据库的实践展开,涵盖迁移背景、两种数据库对比、替换实施步骤、应用效果展示、问题与解决措施等多方面内容,为教育领域类似项目提供了详实参考。 目录 1.背景与需求…...
stm32 lcd绘制波形和频谱
一、项目准备 主要利用LCD驱动中的画点和画连线函数,驱动是正点原子给我写好了的画点和画线的函数等些相关函数 void LCD_Draw_Circle(u16 x0,u16 y0,u8 r); //画圆 void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2); //画线 二、画波形图函数实…...
深入理解卷积神经网络的输入层:数据的起点与预处理核心
内容摘要 本文围绕卷积神经网络输入层展开,详细介绍其在网络中的重要作用,包括接收不同领域数据的形式及传递数据的过程。深入解读数据预处理的关键操作,如去均值、归一化和PCA/白化。助力读者透彻理解输入层,为构建高效卷积神经…...
基于大模型与异步技术的股票分析系统实现
在金融量化分析领域,高效的数据获取与智能的策略决策是核心竞争力。本文结合异步数据抓取技术与大模型工具集成,构建一套完整的股票分析系统,实现从海量数据采集到智能信息查询的全流程自动化。 一、量化分析的数据基石:异步高效…...
BUCK基本原理学习总结-20250509
一、电感伏秒平衡特性 处于稳定状态的电感,开关导通时间(电流上升段)的伏秒数须与开关关断(电流下降段)时的伏秒数在数值上相等,尽管两者符号相反。这也表示,绘出电感电压对时间的曲线,导通时段曲线的面积必须等于关断时段曲线的面积。 二、BUCK的基本概念和原理 基…...
BERT类模型
1. BERT类模型是否需要处理 [CLS] 或池化? 那首先搞懂 [CLS] 和池化 (1)[CLS] 的作用 BERT 的输入格式中,每个序列的开头会添加一个特殊的 [CLS] Token(Classification Token)。它的设计初衷是为分类任务…...
Taro 编译不平不同平台小程序
Taro 提供了针对不同小程序平台的编译命令,主要通过 --type 参数指定目标平台。以下是各平台常用命令及说明: --- ### **一、核心命令格式** 1. **直接使用 taro-cli** bash taro build --type [平台类型] taro dev --type [平台类型] # 开发模式&…...
PHP框架在分布式系统中的应用!
随着互联网业务的快速发展,分布式系统因其高可用性、可扩展性和容错性成为现代应用架构的主流选择。而PHP作为一门成熟的Web开发语言,凭借其简洁的语法、丰富的框架生态和持续的性能优化,逐渐在分布式系统中崭露头角。本文将深入探讨PHP框架在…...
PCB设计实践(十三)PCB设计中差分线间距与线宽设置的深度解析
一、差分信号的基本原理与物理背景 差分信号技术通过两条等幅反相的传输线实现信号传输,其核心优势体现在电磁场耦合的对称性上。根据麦克斯韦方程组的对称解原理,两条线产生的电磁场在远场区域相互抵消,形成以下特性: 1. 共模噪…...
在 Kubernetes 中使用 Docker 实现 GPU 支持的完整方案
目录 在 Kubernetes 中使用 Docker 实现 GPU 支持的完整方案 一、背景说明 二、目标 三、环境准备 四、安装 NVIDIA Container Toolkit(nvidia-docker2) 五、配置 Docker 支持 NVIDIA Runtime 六、测试 Docker 能否使用 GPU 七、部署 Kubernetes…...
Vision Transformer(ViT)
Vision Transformer(ViT)是一种将Transformer模型应用于计算机视觉任务的创新方法,由Google Research团队在2020年提出。它打破了传统卷积神经网络(CNN)在图像处理中的主导地位,通过全局注意力机制…...
(剪映)字幕实现卡拉OK效果
三种实现方式: 一、剪映自带“模板” 二、剪映自带“动画” 三、使用蒙版特效 具体操作步骤如下 模板的方式 一、模板的方式 1.在时间线轨道区 选中文本 2.在工具栏区中的文本-->模板中选择要实现的效果,左键单击,即可实现效果&am…...
Java结构化并发深度解析:原理、设计与实践
作为Java开发者,当我们需要处理复杂的并发场景时,传统的线程和ExecutorService模型往往导致代码难以维护和调试。Java 21引入的结构化并发(Structured Concurrency)通过创新的设计理念彻底改变了这一局面。本文将深入剖析其实现原理、架构设计,并通过复杂场景案例展示其强大…...
【Linux系列】跨平台安装与配置 Vim 文本编辑器
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
Level1.5算数运算符与赋值运算符
目录 一、算术运算符和赋值运算符 1.1算术运算符 - * / % // ** 1.2.赋值运算符 - * / % // ** 二、等比例缩小(变量火柴人案例) 三、颜色的三种表达方法取余%运算 1.颜色单词 turtle.pencolor(pink) 2.RGB颜色turtle.pe…...
基于GF域的多进制QC-LDPC误码率matlab仿真,译码采用EMS算法
目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 本课题实现的是四进制QC-LDPC 仿真操作步骤可参考程序配套的操作视频。 2.算…...
CentOS 7 修改锁屏时间为永不
在 CentOS 7 中,默认情况下,系统会在一定时间不活动后自动锁屏。对于某些用户来说,可能希望禁用自动锁屏功能或者将锁屏时间设置为“永不”。本文将介绍如何通过图形界面和命令行两种方式修改 CentOS 7 的锁屏时间,确保系统永不自…...
STM32-ADC模数转换器(7)
对GPIO来说,它只能读取引脚的高低电平,使用了ADC模数转化器之后,就可以对高电平和低电平之间的任意电压进行量化,最终用一个变量来表示,读取这个变量,就能得到引脚输入的具体电压是多少了。 ADC模数转化器…...
前端SSE技术详解:从入门到实战的完整指南
前端SSE技术详解:从入门到实战的完整指南 一、初识SSE:比WebSocket更轻量的选择 很多开发者第一次听说Server-Sent Events(SSE)时,都会下意识问:“这和WebSocket有什么区别?” 就像选择交通工…...
mac u盘重装mac10.15Catalina系统
我的电脑提mac2017的air 重装过程 (文件夹中间有空格时为 Install\ macOS\ Catalina 才行) (有需要的,最好做一下备份,有些东西可以及时找到配置和文件之类的, u盘制作是在mac电脑上操作的) 一、先下载系统镜像文件或自行到官方…...
8051模板移植
8051模板移植 一,新建工程文件二,Keil配置 一,新建工程文件 在工程文件下建立Driver和User 打开Keil,点击扳手选择芯片型号 出现下图情况,选择是,然后会多出一个启动文件,以后有用 二&…...
轻松制作高质量视频,实时生成神器LTX-Video重磅登场!
探索LTX-Video:实时视频生成跨越新高度 在如今这个视觉内容主导的数字时代,视频生成成为推动创意表达的关键。而今天,我们将带您深入探索LTX-Video,一个强大的开源项目,致力于通过尖端技术将视频生成提升到一个全新的…...
两个数组的交集(暴力、set、哈希)
一.题目 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2]示例 2: 输入…...
[架构之美]Spring Boot多环境5种方案实现Dev/Test/Prod环境隔离
[架构之美]Spring Boot多环境5种方案实现Dev/Test/Prod环境隔离(十六) 摘要:本文深入剖析Spring Boot多环境配置的5种实现方案,涵盖YAML分组配置、Maven Profile集成、Kubernetes适配等企业级实践,并附赠配置加密方案…...
LWIP的IP协议笔记
IP协议简介 IP协议是TCP/IP协议族的基石,它为上层提供无连接、不可靠的服务 无连接:指IP通信双方都不长久的维持对方的任何信息。这表示上层协议每次发送数据,都需要明确指出对方的IP地址 不可靠:指IP协议不能把IP数据报准确到…...
matlab介绍while函数
MATLAB 中的 while 语句介绍 在 MATLAB 中,while 语句是一种循环结构,用于在满足特定条件时反复执行一段代码块。与 for 循环不同,while 循环的执行次数是动态的,取决于循环条件是否为真。 语法 while condition% 循环体代码 e…...
每日算法刷题Day2 5.10:leetcode数组1道题3种解法,用时40min
4.LC 旋转矩阵(中等,学习) 面试题 01.07. 旋转矩阵 - 力扣(LeetCode) 思想: 法一: 额外空间数组来回赋值拷贝 法二: 1.翻转90度得到等式a[j][n-i-1]a[i][j],但是会改变a[j][n-i-1]原始值,再去看该位置变到哪一位置 分析可得,4个…...
【图书管理系统】深度讲解:图书列表展示的后端实现、高内聚低耦合的应用、前端代码讲解
1.约定前后端交互接口 [请求] /book/getListByPage [参数] currentPage1&pageSize10 [响应] 返回封装的result对象对应的Json数据 2. 整体逻辑 2.1 Controller的逻辑 (1)把接收的参数封装为PageRequest类,里面有属性:curren…...
本地大模型工具深度评测:LM Studio vs Ollama,开发者选型指南
引言 在大语言模型本地化部署的技术浪潮中,隐私保护与成本优化成为核心诉求。LM Studio与Ollama作为两款明星级本地大模型工具,凭借对开源模型的支持能力,成为开发者关注的焦点。本文将从技术架构、应用场景、实操体验三个维度展开深度对比&a…...
天线的PCB设计
目录 天线模块设计的重要性 天线模块的PCB设计 天线模块设计的重要性 当智能手表突然断连、无人机信号飘忽不定——你可能正在经历一场来自天线模块的"无声抗议"。这个隐藏在电子设备深处的关键组件,就像数字世界的隐形信使,用毫米级的精密结…...
《P1226 【模板】快速幂》
题目描述 给你三个整数 a,b,p,求 abmodp。 输入格式 输入只有一行三个整数,分别代表 a,b,p。 输出格式 输出一行一个字符串 a^b mod ps,其中 a,b,p 分别为题目给定的值, s 为运算结果。 输入输出样例 输入 #1复制 2 10 9输…...
推荐一款免费开源工程项目管理系统软件,根据工程项目全过程管理流程开发的OA 办公系统
在当今的工程项目管理领域,许多企业和团队面临着诸多难题。传统的管理方式往往依赖于人工记录和分散的工具,导致项目进度难以实时把控,任务分配不够清晰,合同管理混乱,事件提醒不及时,财务管理缺乏系统性&a…...
AZScreenRecorder最新版:功能强大、操作简便的手机录屏软件
AZScreenRecorder最新版是一款功能强大的手机录屏软件,专为安卓设备设计。它无需ROOT权限,支持无限录制时长,操作简单,录制过程中可以随时暂停,满足不同用户的个性化录屏需求。此外,用户还可以自定义分辨率…...
[sklearn机器学习概述]机器学习-part3
获取数据、数据处理、特征工程后,就可以交给预估器进行机器学习,流程和常用API如下。 1.实例化预估器(估计器)对象(estimator), 预估器对象很多,都是estimator的子类(1)用于分类的预估器sklearn.neighbors.KNeighbors…...
[模型选择与调优]机器学习-part4
七 模型选择与调优 1 交叉验证 (1) 保留交叉验证HoldOut HoldOut Cross-validation(Train-Test Split) 在这种交叉验证技术中,整个数据集被随机地划分为训练集和验证集。根据经验法则,整个数据集的近70%被用作训练集ÿ…...
PyTorch API 1 - 概述、数学运算、nn、实用工具、函数、张量
文章目录 torch张量创建操作索引、切片、连接与变异操作 加速器生成器随机采样原地随机采样准随机采样 序列化并行计算局部禁用梯度计算数学运算常量逐点运算归约操作比较运算频谱操作其他操作BLAS 和 LAPACK 运算遍历操作遍历操作遍历操作遍历操作遍历操作遍历操作遍历操作遍历…...
如何在mac上使用便利贴
可以在 App Store 下载便利贴应用实现在电脑上贴便条的效果。 以 「桌面便利贴」这款应用为例,创建的便利贴会像桌面上的文件一样展示在桌面上,随时可以查看。还可以修改便笺的颜色、透明度、字体、高亮等等。 我比较喜欢的功能是将便签固定在所有窗口的…...
Linux——Mysql索引和事务
目录 一,Mysql索引介绍 1,索引概述 1,索引的优点 2,索引的缺点 2,索引作用 3,索引分类 普通索引 唯一索引 主键索引 组合索引 全文索引 4,查看索引 5,删除索引 6&…...
vim 查看复杂的宏扩展
在一些复杂项目中,使用宏可以简化代码。但是对于刚接触项目的人来说,分析层层嵌套的宏,是件头疼的事情。 使用 vim 的多窗口功能,可以为此提供一些帮助。 如下图,分析4层嵌套的宏,DEFINE_I440FX_MACHINE -…...
【计算机视觉】OpenCV项目实战:基于OpenCV的图像分割技术深度解析与实践指南
基于OpenCV的图像分割技术深度解析与实践指南 项目概述与技术背景项目核心特点传统分割算法分类 环境配置与项目结构系统要求安装步骤项目结构解析 核心算法实现解析1. 阈值分割(Otsu方法)2. Canny边缘检测3. 分水岭算法 实战应用指南1. 基础分割流程2. …...
线性表-顺序表(Sequential List)
1 线性表 1.1 顺序表(Sequential List) 顺序表并不难理解,主要是知道顺序表是在内存中连续存储的一段数据,知道这个后,相应的算法也就非常简单了。 线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的…...
《用MATLAB玩转游戏开发:从零开始打造你的数字乐园》基础篇(2D图形交互)-俄罗斯方块:用旋转矩阵打造经典
《用MATLAB玩转游戏开发:从零开始打造你的数字乐园》基础篇(2D图形交互)-🎮 俄罗斯方块:用旋转矩阵打造经典 🧊 大家好!今天我将带大家用MATLAB实现经典的俄罗斯方块游戏。我们将从数学原理出发…...
通过user-agent来源判断阻止爬虫访问网站,并防止生成[ error ] NULL日志
一、TP5.0通过行为(Behavior)拦截爬虫并避免生成 [ error ] NULL 错误日志 1. 创建行为类(拦截爬虫) 在 application/common/behavior 目录下新建BlockBot.php ,用于识别并拦截爬虫请求: <?php name…...
微服务的“迷宫” - 我们为何需要服务网格?
微服务的“迷宫” - 我们为何需要服务网格? 你好!欢迎来到我们的服务网格探索之旅。近年来,“微服务架构”无疑是软件开发领域最热门的词汇之一。它将庞大的单体应用拆分成一组小而独立的、可以独立开发、部署和扩展的服务单元,带来了前所未有的敏捷性和弹性。开发团队可以…...
Ubuntu 安装 HAProxy
HAProxy 是什么 HAProxy(High Availability Proxy) 是一个 高性能、高可用的 TCP 和 HTTP 负载均衡器与代理服务器。 HAProxy 的特点 特性说明支持协议HTTP、HTTPS、TCP高性能使用 C 语言编写,性能极高高可用与 Keepalived 配合可实现主备健…...
VUE CLI - 使用VUE脚手架创建前端项目工程
前言 前端从这里开始,本文将介绍如何使用VUE脚手架创建前端工程项目 1.预准备(编辑器和管理器) 编辑器:推荐使用Vscode,WebStorm,或者Hbuilder(适合刚开始练手使用),个…...
Nginx高级配置
目录 一.网页的状态页 二. Nginx第三方模块 2.1 echo模块 三. 变量 3.1 内置变量 3.2 自定义变量 四. 自定义访问日志 (优化) 4.1 自定义访问日志的格式 4.2 自定义json 格式日志 五. Nginx压缩功能 六 . HTTPS 功能 6.1 https概述 6.2 配置实例-----自签名证…...
Docker镜像搬运工:深入解析export与import,实现容器环境无缝迁移!
Docker作为现代开发运维的利器,其镜像和容器的管理技巧直接影响效率。当我们需要跨环境迁移容器状态时,docker export和docker import这对组合命令就能大显身手。本文带你彻底搞懂它们的核心逻辑、使用场景及避坑指南! 一、Docker export&…...
数字孪生实战笔记(1)数字孪生的含义、应用及技术体系
一、含义 数字孪生(Digital Twin)是一种通过数字化模型在虚拟世界中实时映射和模拟物理实体、系统或过程的技术。它的核心目的是通过对现实对象的建模、感知、分析和预测,实现对物理世界的全面感知、智能控制和优化决策。数字孪生 实体对象 …...
计算机网络 4-2-2 网络层(IPv4)
2.7 网络地址转换NAT 引入端口号:IP地址端口号→一个特定的进程,(不同主机可能存在相同端口号) 网络层实现了“主机到主机”的通信。网络层在IP数据报的首部,指明源IP地址、目的IP地址 传输层实现了“端到端” &#…...