客户为先,自研为基 | YashanDB产品进化之旅

作为一款全自研的数据库产品,崖山数据库致力于构建自主可控的全栈数据库产品体系,以满足行业用户多元化的需求。

从第一行代码到完整的数据库产品体系,我们为何选择从0到1自研数据库?我们经历了哪些关键的产品节点?每个版本的核心定位与价值如何?本文梳理了YashanDB产品全自研的迭代与演化脉络,希望借此帮助您更全面的了解YashanDB。

YashanDB产品历程回溯

YashanDB自成立之初就坚定走自主研发的道路。从第一行代码开始构建数据库,不仅保障了技术和服务的自主性、可控性,更是保持技术领先性的战略基石。

迄今为止,YashanDB已经发布四个企业版本,分别是V22.1、V22.2、V23.1以及V23.2,产品逐步走向完备和成熟。

图片1.png

V22.1版本:首个relese主备版本

基于原创理论体系,拥有全球顶尖技术团队及二十年工程能力的积累条件下,YashanDB团队在2022上半年发布了第一个主备版本。该版本的定位是支撑多种行业场景PoC,支持特定场景系统上线。经三方机构权威测试,证实YashanDB内核代码自主率100%。兼容上下游信创生态链,与头部厂商进行互认证适配。在该版本中,还具备如下突出特性:

1.进行标准benchmark TPC-C模型测试,TpmC值达到百万以上,并且在同等环境中超过Oracle的20%;

2.实现了主备异常自动切换能力,高可用可达到秒级RTO,RPO=0;

3.原创理论落地,实现大数据变小,实现有界计算透明加速产品化。

V22.2版本:首个长期支持版本

YashanDB团队在2022下半年发布了V22.2版本,为长期服务版本(LTS),推广大量系统上线。这个版本具备企业级产品化能力,覆盖OLTP/OLAP/HTAP交易和分析场景,面向通用行业。在该版本中,还具备如下突出特性:

1.SQL语法全面兼容Oracle;

2.大幅度增强安全企业特性,比如三权分立、表空间数据透明加密等;

3.支持向量化执行引擎,分析能力全面增强。

V23.1版本:完整产品体系

YashanDB团队在2023年10月推出了V23.1版本,为架构版本,完善了YashanDB的产品体系,发布了共享集群、分布式实时数仓、空间数据库三款产品,覆盖更多的业务领域。同时个人版重磅发布,向所有用户和开发者全面开放。在该版本中,还具备如下突出特性:

1.内核能力持续增强,新增自定义类型(UDT)、组合分区、DBlink(跨数据库访问和处理数据)等核心特性;

2.高性价比数仓:具备自适应Cost模型、动态内存管理等特性,且在TPC-H型测试对比中,性能优于开源数据库10倍;

3.支持原生空间数据引擎,兼容主流开源数据库。

V23.2版本:规模复制

YashanDB团队在今年4月初正式发布V23.2 LTS版本,同时配套数据迁移工具、监控运维工具和开发者工具,可以满足支撑各类企业应用,旨在面向金融、央国企和政府等场景,实现多层次全面兼容,具备可规模复制能力。在该版本中,还具备如下突出特性:

1.支持Oracle和MySql平滑迁移至YashanDB;

2.线性扩展比,共享集群双节点TPCC性能达312W;

3.自研配套工具,为客户项目保驾护航。

YashanDB 产品体系概览

崖山数据库管理系统提供包含单机/主备、共享集群、分布式实时数仓等系列数据库产品及解决方案,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,全面兼容私有化及云基础设施,为客户提供一站式的企业级融合数据管理解决方案。

目前,YashanDB 具备四个产品形态和三大工具产品,分别是单机/主备、分布式实时数仓、共享集群以及空间数据库,它们是在产品演进中逐渐发布的。同时单机/主备、三大工具产品已全面在官网(download.yashandb.com)开放下载。

图片2.png

YashanDB数据库

YashanDB单机/主备

单机/主备为YashanDB的第一个发布的产品形态,具备全面的特性,采用先进内核架构,高效地支持众核计算、大内存、新存储介质和网络通信框架,软件层面采用并行和向量引擎、异步并行框架、OCC动态事务调度算法、Raft协议、有界理论等技术方案和算法,为多形态的产品架构提供基础能力,从而满足企业级核心应用对高兼容、高性能、高扩展、高可用等全生命周期数据管理诉求。

1.自研存储、事务管理和优化器等内核引擎;

2.具备通用SQL能力、PL/SQL和接口等兼容能力;

3.支持实时异步备库可读、主备弹性扩展和多中心多容灾高可用功能。

图片3.png

YashanDB分布式数仓

YashanDB在V22.2版本支持分布式形态,持续加强实时数仓的能力,采用全新设计的MPP分布式架构。解决大数据计算效率、数据生产即分析、海量数据存储成本及数据孤岛等数据库瓶颈难题(3V:Volumn、Velocity、Variety),为用户提供灵活的传统数仓加速、一站式数据仓库解决方案。

1.最大32个DN节点;

2.水平弹性扩缩容,可近线性扩展;

3.高效数据压缩,节省存储成本;

4.向量化执行,稀疏索引技术。

图片4.png

YashanDB共享集群

V23.1版本推出单库多实例的多活共享集群数据库系统YashanDB for Cluster(YAC),所有节点之间以强一致性方式实现并发读写,为高端核心业务提供了应用透明的透明多写、高可用、高扩展、高性能的数据库能力。

1.应用透明多写多读,业务无需改造;

2.极致性能,超主流商业数据库50%;

3.故障自动恢复,应用透明切换;

4.计算节点弹性扩展,实现秒级扩容。

图片5.png

YashanDB空间数据库

YashanDB空间数据库支持ST_GEOMETRY数据类型,用于存储和访问符合开放地理空间信息联盟(Open Geospatial Consortium,简称OGC)制定的SFA SQL标准的几何对象,提供一系列的数据类型和函数,可以对空间数据进行高效的存储、索引、查询和分析计算,支持空间数据平台引擎和原生空间数据引擎,为用户提供多种空间数据管理的解决方案。

1.兼容PostGIS数据类型和函数功能;

2.支持原生空间索引,查询性能优于开源数据库;

3.适配主流空间平台厂商,兼容国产软硬件环境;

4.支持多模数据管理,基于SQL的统一跨模计算。

图片6.png

YashanDB 配套工具

崖山运维平台YCM

YCM支持对YashanDB单机/主备、分布式、共享集群三种形态进行管理,包括监控告警、巡检管理、表空间管理、权限管理、会话管理、备份恢复、锁管理、日志分析、慢SQL模块功能。

图片7.png

崖山迁移平台YMP

YMP是为YashanDB数据库配套提供的数据库迁移产品,支持异构RDBMS与YashanDB数据库之间进行迁移评估、离线迁移、数据校验的能力。YMP提供可视化服务,用户只需通过简单的界面操作,即可完成从评估到迁移整个流程的执行与监控,实现低门槛、低成本、高效率的异构数据库迁移实施。

图片8.png

崖山开发平台YDC

YDC旨在帮助用户安全、高效的使用崖山数据库。用户可通过YDC可视化地管理数据库中的表、视图、函数等数据库对象,并且支持存储过程调试等。

图片9.png

YashanDB 最新版本发布

用户驱动产品革新

YashanDB团队始终从用户需求和行业场景痛点出发,持续进行产品的推陈出新。在2024年发布V23.2版本之前,YashanDB在各个领域已经完成大量的PoC和系统上线。YashanDB团队持续收集客户的建议和诉求进行分析总结,并有计划的落实到对应版本中。

(1)PoC客户需求分析:如下是部分领域的客户诉求分析结果,需求主要集中在Oracle系统包、PLSQL和功能等类型。

图片10.png

(2)个人用户与生态:推出V23.1个人版后,YashanDB团队持续收集体验者的反馈诉求,其中以易用性偏多,比如YASQL,大部分Oracle使用者习惯了SQLPLUS的用法,因此希望YashanDB支持SQLPLUS相关的使用建议。此外,在实际业务扩展中还遇到了各类生态适配的诉求,比如CDC数据同步、开源生态工具兼容YashanDB等。具体的需求详见下表:

1718680419954171.png

V23.2版本关键能力

YashanDB每个版本的特性规划都是循序渐进的,经过前三个版本在市场上产品不断打磨,YashanDB在V23.2版本的设计目标为客户项目批量复制,在生产系统上推广使用。为了实现这个目标,且结合市场推广中项目诉求,V23.2版本主要在四个模块下做了大量的新特性增强和优化。

(1)兼容性:为了满足金融、央国企等不同业务场景的客户需求,降低客户迁移成本,YashanDB V23.2版本做了大量的兼容性特性,在Oracle兼容方面,YashanDB持续增强PLSQL、功能、SQL语法、系统包和标准接口能力。另外,为了兼容信创生态,在23.2版本还支持了字符集GB18030,首批获得国家标准GB18030-2022最高级别认证。

1.PL/SQL兼容(BULK COLLECT、FORALL):采用BULK COLLECT子句可以将查询结果一次性地加载到集合类型变量中,避免Cursor逐条地处理的性能损耗;在PL/SQL中可使用FORALL子句批量执行语句,简化PL代码的编写,同时在PL/SQL程序中更新很多行数据的程序的场景下,可以显著提高处理性能。

2.功能、语法兼容(INDEX/TABLESPACE RENAME):当我们希望重新规划表空间和索引名称时,需要将数据迁移到新表空间,然而随着数据量增大所花费的时间越大;重新规划索引名需要先删除后创建,这种方法需要消耗较大的数据库资源和时间。而在支持了在线重命名表空间和索引功能后,只需要秒级就能完成对表空间名和索引名的重新规划。

3.系统包函数(DBMS_LOB、DBMS_ROWID):新增DBMS_LOB系统包,提供对大型对象(LOB)数据类型的访问和操作的能力;新增DBMS_ROWID系统包及对应子函数,支持通过输入ROWID获取的相关信息,比如数据库块号、相对文件号和数据行号等。

4.丰富标准驱动接口(OCI、JDBC):新增OCI接口,支持Zabbix通过OCI接口对YashanDB进行操作。

5.支持GB18030字符集:为了适配国标和响应推进基础软件国产化,YashanDB从V23.2版本开始,行存执行在服务端和客户端的字符集支持设置GB18030,按照GB 18030-2022标准实现级别为3。即支持了国家标准所规定的变长多字节字符集,且完全向后兼容GB 2312-1980,及基本兼容GBK。

(2)性价比:为了使在数仓场景下高效分析、降本提效。YashanDB在压缩比、入库性能和查询性能上做持续增强和优化。

1.自适应高压缩率(3-6倍):新增支持LZ4和ZSTD两种压缩算法,支持创建表时根据不同的字段数据类型选择不同的压缩编码。实际测试导入1TB的LINEITEM表数据,压缩比可以达到1:4.5。同时支持根据数据类型特征自动选择编码,降低了用户的使用难度,节省了数据库的存储成本。

2.增量数据入库性能提升:通过优化降低数据同步任务的内存开销和同步任务流水线优化,使得并发数据同步得到提升,使用LINEITEM表模型,单任务同步性能由原来1MB/s提升到8MB/s。

3.缩小部署规模,降低成本(一主一备部署):在V23.2版本之前,YashanDB分布式DN组只支持单主和一主多备的部署模式,为了满足业务多样性,同时又可以节省成本,因此,YashanDB在V23.2版本实现了DN组一主一备的部署形态。

4.管控资源,合理化使用:支持对用户级别CPU资源管理,通过DBMS_RESOURCE_MANAGER系统包创建资源组,映射用户资源组关系,及创建资源计划,来实现按照用户管控CPU资源。YashanDB在MN、CN和DN各类节点上都实现了CPU资源隔离。

5.只读外部表加快大数据处理和分析:新增支持只读外部表功能,语法兼容Oracle的使用习惯。用户可以指定和链接存储系统上的具体CSV文件或者数据目录对象DIRECTORY的文件,实现不用导入数据库中就可以像访问普通表一样访问的能力。当涉及大规模数据处理和分析时,外部表可以直接在存储系统上执行查询,避免了数据传输的开销,在数据量巨大的情况下可以显著提高查询性能。

(3)高可靠:对共享集群能力持续加强,提高金融核心等关键场景的业务连续和数据安全能力。

1.支持远程备份恢复,便捷灵活:支持通过yasrman远程连接共享集群数据库,在工具侧生成备份集,同时支持将工具侧的备份集恢复到远程数据库。同时共享集群在V23.2版本还支持基于时间点的备份恢复能力。

2.FRA支持数据自动恢复:支持为冗余度为External的DiskGroup的元数据提供冗余备份。元数据被破坏时,可以从Fast Recovery Area数据区获取备份数据并做自动恢复,提升YFS元数据的可靠性。

3.按列加解密:支持通过gs_encrypt_aes128函数对单列或多列内的字符串数据进行加密和gs_decrypt_aes128函数解密数据。

4.并发执行SQL内存动态控制:支持计算内存预分配内存配额,分布式部署形态下并发执行SQL时,可以有效通过参数控制单个stage分配内存配额,防止瞬间申请内存过大导致任务失败。同时,YashanDB还支持stage申请内存排队机制,并且在初次申请失败后具备重试能力,提高了SQL在总内存不足时执行失败的容错率。

5.主备支持滚动升级:为了提高业务可用性、缩减升级YashanDB时间、简化升级操作流程,YashanDB在V23.2版本中支持了小版本(第4位版本号)的滚动升级能力,通过YashanDB配套的运维管理工具yasboot实现在数据库不停机的情况下,将数据库软件升级到新版本。

6.驱动支持配置多个IP或者域名:在实际业务场景中,除了数据库具备高可用能力以外,还需要加上驱动能力一起配合实现的高可用方案才能达到真正的业务高可用。为了支撑广泛的高可用场景,YashanDB在V23.2版本驱动实现了多IP配置。在应用端配置YashanDB驱动时,比如JDBC、C驱动、OCI等,可以配置多个IP,包含主备的IP,当数据库发生主备切换时,驱动配置无需修改,应用可以连接到新的主库上,实现业务快速恢复。

(4)易运维:崖山持续关注着用户使用习惯和反馈的诉求,并且在V23.2版本对易用性做了大量的增强,提升人员技能继承和复用的效果。

1.持续新增AWR能力:新增支持集群相关报告信息(Global Cache Load Profile、Global Cache Efficiency Percentages等),提供运行期间各种集群相关的统计数据,用户可以更好的了解共享集群性能表现。 

2.收集统计信息增强(定时自动收集和整库、schema维度收集):分布式部署模式和共享集群部署模式下,也支持了全库、整个schema维度的统计信息收集。同时支持通过特定任务自动收集统计信息,实现了每天默认凌晨2:00开始收集全库的统计信息,包括统计信息缺失或者统计信息已经失效的对象的收集。

3.全面覆盖可视化运维:实现了分布式可视化运维能力,通过YashanDB 运维平台(YCM) 运维YashanDB分布式数据库,提供分布式的巡检管理、监控告警、备份恢复和慢SQL分析等可视化功能,达到了便捷的运维效率目的。

4.丰富YASQL界面设置功能:YASQL支持自定义输出格式和效果,同时支持静默登陆,便于用户脚本批量执行时,减少不必要的信息输出。

5.增加导数工具体验功能:在使用imp工具导入数据到数据库中的时候,如目标表已存在数据,支持使用参数TRUNCATE=Y清空已存在的表数据后导入新数据。

6.一键式收集操作系统和数据库信息:为了更快定位问题和优化系统,YashanDB在V23.2版本提供一键式收集诊断所需信息,包含操作系统基本信息、操作系统和数据库日志、数据库配置信息和数据库视图等信息,同时打包到指定目录,使我们更快、更准地获取到便于定位定界的相关信息,支撑问题解决和性能优化。

V23.2版本配套工具升级

为了支撑YashanDB在不同业务场景的可规模化复制,节省客户迁移、开发和运维阶段的成本,崖山团队为客户项目提供一站式全生命周期工具体系。在V23.2版本中,大幅度提升了各个工具体系的能力,同时还发布自研的开发者平台。

(1)升级崖山运维平台YCM

1.表空间管理:支持分布式部署模式、共享集群部署模式下的表空间管理,包括查看表空间大小、使用率、数据文件等信息。

2.备份恢复管理增强:新增单机/主备部署模式的PITR恢复。

3.短信服务能力:支持自定义推送程序方式,用户通过上传自定义短信推送脚本到平台服务端中,进行站外消息的推送。

4.自身平台权限管理和数据安全增强:支持角色管理功能,平台内置一系列默认角色,供超级管理员去给普通用户自定义分配权限,满足大部分运维场景中对用户权限的限制诉求;支持对平台数据和各个agent主机进行定时备份,通过备份恢复数据到某个时间点和备份文件到期清理的功能。

(2)升级崖山迁移平台YMP

1.支持MySQL/DM8数据库离线迁移数据源:新增对MySQL 5.6/5.7/8.0版本及DM8版本到YashanDB的迁移评估、元数据迁移、数据迁移和数据量统计校验能力。

2.支持数据校验:支持多维度进行数据统计校验,快速校验源端、目标端迁移前后数据是否一致。

3.迁移可用性增强:新增失败重试、断点续传、迁移容错等功能,有效提升迁移可用性。

4.易用性优化:优化界面流程,提示语等,帮助用户快速上手,一键实现数据迁移能力。

(3)发布崖山开发平台YDC

1.图形化对象管理:支持查看YashanDB的所有对象属性详情。

2.智能IDE:支持语法高亮、智能提示和SQL语法自动格式化的易用性功能。

3.PL/SQL DUBUG:支持YashanDB的PLSQL的调试功能。

4.执行记录、日志、结果集显示:可通过执行记录查看执行 SQL 语句详情;通过查看 SQL 执行日志,可以追踪查询的执行情况,查看 SQL 语句执行成功或失败,会显示具体的失败原因;结果集表格化展示,提供符合查询条件的数据结果。

V23.2个人版全新上线

YashanDB V23.2版本同步发布个人版,具备最新全量功能特性

image.png

YashanDB产品Roadmap及未来规划

YashanDB企业版本发布节奏是每年发布2个大版本,4月初发布的大版本为长期服务版本,推荐规模化上生产使用;10月份发布的大版本为架构版本,发布众多特性或者粒度较大特性,每个内核版本都具备相应的配套工具。期间按照市场诉求发布小版本,该版本主要是新增小特性需求和bug fix。

图片11.png

(1)内核规划

YashanDB 2024年10月份版本的需求已在研发之中,主要的内核关键特性如下:

1.Oracle兼容性持续增强:Oracle系统包、PLSQL、和动态视图持续增强;

2.MySQL兼容:兼容MySQL数据库的数据类型、视图、函数、SQL Mode等功能;

3.AP能力持续优化:TPC-DS优化、压缩比增强和最大规模扩大等;

4.Database Flashback:数据库级别闪回;

5.发布docker个人版:发布到官网和Docker Hub;

6.CDC同步能力:YashanDB作为数据源的实时同步能力;

7主备集群:支持主备集群复制、高可用等能力。

明年或者更长期的关键特性规划包含:

1.Oracle/MySQL兼容增强;

2.提供云化产品形态:公有云和私有云;

3.支持存算分离架构;

4.共享集群8节点规格商用。

(2)工具体系

YashanDB配套工具持续为客户项目提供全方位支撑,对应的关键特性如下:

崖山运维平台YCM:

1.备份集管理:共享集群支持PITR、备份支持加解密;

2.运维能力增强:企业微信方式推送告警信息、支持审计日志管理(保存、清理)等;

3.未来进一步支持诊断智能推荐、容量监控与预测邓功能。

崖山迁移平台YMP:

1.迁移能力增强:易用性、功能全面增强;

2.增量同步:支持多个数据源增量同步到YashanDB的解决方案;

3.未来进一步支持更多异构迁移以及性能评估。

崖山开发平台YDC:

1.图形化对象管理:支持对象的图形化DDL能力;

2.数据导出:支持表级数据导出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/721866.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

等保2.0对于物联网设备的漏洞管理还有哪些规定?

等保2.0针对物联网设备的漏洞管理,主要规定了以下几个方面: 1. 漏洞发现与识别:要求定期进行漏洞扫描和评估,利用专业的漏洞扫描工具和安全服务,及时发现物联网设备及其软件中的安全漏洞。这包括但不限于操作系统、应…

langchain教程-(1)Prompt模板

LangChain 的核心组件 模型 I/O 封装 LLMs:大语言模型Chat Models:一般基于 LLMs,但按对话结构重新封装PromptTemple:提示词模板OutputParser:解析输出 数据连接封装 Document Loaders:各种格式文件的加载…

扭蛋机小程序:深度探索虚拟寻宝之旅的乐趣

引言 扭蛋机小程序,这个融合了传统与创新的虚拟寻宝乐园,已经吸引了无数玩家的目光。在这个充满惊喜和挑战的虚拟世界里,每一个扭蛋都可能蕴藏着无尽的宝藏。本文将带您深入探索扭蛋机小程序的魅力所在,体验一场别开生面的虚拟寻…

查看服务器端口,如何查看服务器端口是多少并修改

查看服务器端口并修改内容是一个涉及网络管理和系统配置的专业任务。以下是一个详细的步骤说明,用于查看和修改服务器端口。 一、查看服务器端口 1. 使用命令行工具: - 对于Linux或Unix系统,可以使用netstat、lsof或ss等命令来查看端口状…

反馈型振荡器

目录 反馈型振荡器分类 基本工作原理 启动过程 “心脏”LC振荡 起振条件 平衡条件 稳定条件 互感耦合振荡器 电感三端LC振荡器 电容三端LC振荡器 串联改进电容三端式振荡器 并联改进电容三端式振荡器 相位平衡条件的判断准则 反馈型振荡器分类 基本工作原理 启动过…

【ajax基础02】URL详解

一:什么是URL 统一资源定位符(Uniform Resource Locator,缩写:URL),简称网址 二:URL组成 https://baidu.com/index.html 协议 https协议:超文本传输协议,规定了浏览器和服务第之间传输数据的格式 域名(在…

JS 实现树形结构的各种操作(2)

一 数据源 以下所有操作,都使用本数据做测试。 const oraData [{id: "1",name: "动物",children: [{id: "1-1",name: "哺乳类",children: [{id: "1-1-1",name: "小猫",children: []},{id: "1-1…

2023年中国数据库市场440亿,云数据库四强(阿里、腾讯、亚马逊、华为),本地数据库四强(Oracle、华为、微软、达梦)

近期IDC公布了中国关系型数据库市场的数据,整体市场276亿人民币(38亿美元),其中公有云数据库市场175亿人民币(24.1亿美元),备注:汇率按7.26计算。 关系型数据库是数据库整体市场最大…

2024年阿里巴巴全球数学竞赛首次向人工智能(AI)开放

大家好,我是微学AI,最近大家突然开始关注阿里巴巴全球数学竞赛了,在这个人工智能爆发的时代,2024年阿里巴巴全球数学竞赛首次向人工智能(AI)开放,要求参赛的AI模型在比赛前提交源代码&#xff0…

[Qt的学习日常]--常用控件3

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、显示类控…

Python武器库开发-武器库篇之SQL注入扫描器(五十九)

Python武器库开发-武器库篇之SQL注入扫描器(五十九) SQL注入漏洞简介以及危害 SQL注入漏洞是一种常见的Web应用程序漏洞,攻击者可以利用该漏洞在应用程序的数据库中执行恶意的SQL查询或指令。这可能导致数据泄露、数据损坏、应用程序崩溃或未经授权的访问。 SQL注…

L51--- 144. 二叉树的前序遍历(深搜)---Java版

1.题目描述 2.思路 二叉树的前序遍历遵循 根左右 (1)方法 preorderTraversal 输入参数: TreeNode root root是二叉树的根节点。 返回值: List 返回一个包含二叉树节点值的列表,这些值按照前序遍历的顺序排列。 功能: 这个方法是前序遍历的…

剖析 Kafka 消息丢失的原因

文章目录 前言一、生产者导致的消息丢失的场景场景1:消息太大解决方案 :1、减少生产者发送消息体体积2、调整参数max.request.size 场景2:异步发送机制解决方案 :1、使用带回调函数的发送方法 场景3:网络问题和配置不当…

React 中的 ErrorBoundary

在 React 中,如果不做任何控制,当组件出现异常时,React 渲染就会停止,页面出现白屏,这种体验很不好。例如当用户输入某些非法数据,而前端都没有进行校验,页面出现白屏。这种情况下,最…

如何训练AI大模型?熬夜爆肝整理大全

随着人工智能技术的快速发展,大型预训练模型在自然语言处理、计算机视觉、语音识别等领域取得了显著成果。这些模型通过在海量数据上进行预训练,能够捕捉到丰富的特征信息,为各种下游任务提供强大的支持。然而,训练AI大模型面临着…

20240616日志:大模型压缩方法DMS

Location: Beijing 1 大模型剪枝 Fig. 1.1大模型压缩-剪枝 剪枝的理论来源基于彩票假设(Lottery Ticket Hypothesis),指在神经网络中存在一种稀疏连接模式,即仅利用网络的一小部分连接(彩票)就足以实现与整…

npm语义化版本和版本运算符

版本号组成 一个完整的版本号,由三部分组成:主版本号(major)、次版本号(minor)、修订版本号(patch),简称X.Y.Z,具体含义: 主版本号(major):项目&#xff08…

环境搭建---单机k8s

配置基础环境 关闭防火墙 [rootVM-20-14-centos ~]# systemctl stop firewalld && systemctl disable firewalld关闭selinux [rootVM-20-14-centos ~]# setenforce 0 && sed -i "s/SELINUXenforcing/SELINUXdisabled/g" /etc/selinux/config禁止s…

【Java】已解决java.lang.NullPointerException异常

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.lang.NullPointerException异常 一、问题背景 在Java编程中,java.lang.NullPointerException(空指针异常)是一种常见的运行时异常。当应…

封装音视频编解码和渲染的动态链接库编译和测试

1.动态链接库的编译 生成了以下几个文件 我们把生成的lib文件复制到lib文件夹中 其余三个文件不变动 2.进行测试看是否可以用生成的xcodec.lib库文件里的接口函数 以上是重新创建的新项目,导入了xcodec.lib,其他配置同以前项目 库测试结果 运行显示我们…