【腾讯云 TDSQL-C Serverless 产品测评】- 云数据库之旅

“腾讯云 TDSQL-C 产品测评活动”是由腾讯云联合 CSDN 推出的针对数据库产品测评及产品体验活动,本次活动主要面向 TDSQL-C Serverless版。

本次参与活动可以涵盖不同技术层面的用户,可以针对TDSQL-C产品的自动弹性能力、自动启停能力、兼容性、安全、并发、可靠性等多方面进行产品的体验和测评,参与活动的同时既可以收获相关技术领域的实战经验同时也可获得丰厚的活动激励。

在这里插入图片描述


一、前言:

本人接触并从事互联网开发工作有近7年了,从最开始的PHP和Swoole,到后面逐渐接触到的语言,如java、go、python、Node等,一直是与数据库(如:Mysql、MariaDB、PostgreSQL)进行打交道,从事的行业最多的是与电商项目系统开发。

在这里插入图片描述

如上是公司从0到1电商系统的迭代演进过程,在考量自身的业务特性,以及所拥有或可调配的资源。只有明确了这些之后才能适度设计合适的架构,以确保可以为应用提供稳定的服务。从单机架构、动静分离架构、应用与数据分离架构、数据库主从架构、负载均衡架构都会大量使用到MySQL,无论是多复杂的架构,基本都会用到MySQL。

在一定程序上,SQL相关的知识储备和运用、优化,是衡量一个后端开发人员的重要指标。如果您现在还只是停留在CURD,只是觉得往数据库存点数据,修改、更新、删除一些数据。那可能需要更多学习一下SQL相关的知识、多接触一下更大、更广的场景。当然,这也是相对于某个阶段来讲,当然,本人也是在不断的保持学习,从而不断的总结与提升中。

在这里插入图片描述

最近通过CSDN的活动接触腾讯云的很多好用的产品,之前在工作中,一直是使用自搭数据库体系或者使用云数据库(如阿里云)进行系统开发,现在让我们来了解并动手实践腾讯云的TDSQL-C MySQL Serverless版本数据库。


二、TDSQL-C 简介:

因篇幅与精力有限,本文只对TDSQL-C MySQL Serverless版本数据库进行评测。

2.1 TDSQL-C 简介:

TDSQL是腾讯云企业级分布式数据库,旗下涵盖金融级分布式、云原生、分析型等多引擎融合的完整数据库产品体系,提供业界领先的金融级高可用、计算存储分离、数据仓库、企业级安全等能力,同时具备智能运维平台、Serverless版本等完善的产品服务体系。

云原生数据库 TDSQL-C(Cloud Native Database TDSQL-C)简称 TDSQL-C。TDSQL-C 是腾讯云自研的新一代高性能高可用的企业级分布式云数据库。融合了传统数据库、云计算与新硬件技术的优势,100%兼容 MySQL 和 PostgreSQL,实现超百万级QPS的高吞吐,128TB海量分布式智能存储,保障数据安全可靠。

TDSQL-C MySQL Serverless版(TDSQL-C for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。

上述,对TDSQL-C MySQL从大到小的层面进行了一些介绍,下面来做一个简单的总结,先对TDSQL-C MySQL有一个大致的了解。

在这里插入图片描述

三、参加评测活动:

有幸有机会进行了数据库评测活动,活动的要求是各种手段消耗数据库的性能、存储等。

3.1 采购TDSQL-C MySQL数据库:

打开(TDSQL-C)[ https://cloud.tencent.com/product/cynosdb]产品链接,在“实例形态”一定要选择Serverless的版本,非常关键,“算力配置”选择的范围是32-64。

在这里插入图片描述
在这里插入图片描述

购买完数据库实例后,需要够买“存储资源包”,选择10TB的存储量。

在这里插入图片描述

在TDSQL-C MySQL Serverless数据库实例中的选项卡“资源包”中,进行刚刚购买的“存储资源包”即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 使用mysql2扩展 + PM2进行Node服务多个进程写入数据:

const mysql = require('mysql2/promise');

// 初始化数据库连接
let connection = null
async function initDb () {
  connection = await mysql.createConnection({
    host: 'gz-xxxxx.sql.tencentcdb.com',  // TDSQL外网网址
    user: 'root',   // 数据库用户名
    password: 'Mysql123..',  // 数据库密码
    database: 'test_db',  // 数据库名称
    port: 22395,  // 数据库端口
  });
}

async function Run () {
  await initDb()
  for (let i = 0; i < 99999; i++) {
    let sql = "INSERT INTO `use` (name, age) VALUES (?, ?)";
    connection.execute(sql, ['11111', 22]).then(result => {
      console.log("插入数据成功,插入ID值为", result[0].insertId)
    })
  }
}

Run()

在服务器上运行脚本进行检测,以下为脚本插入数据成功的提示。

在这里插入图片描述

使用PM2开启5个进程使用Node服务异步插入10w条数据,先尝试一下效果。

在这里插入图片描述
从费用明细来看,效果不明显,存储也只写了50M左右的数据,要达到消耗的目的,明显远远不够。

在这里插入图片描述

修改脚本插入100w数据,脚本直接断掉,而且PM2开启多个进程经常会掉线。

在这里插入图片描述

在这里插入图片描述

3.3. 使用Gin + Gorm V2协程进行写入数据:

CREATE TABLE `use` (
  `id` bigint(1) NOT NULL AUTO_INCREMENT,
  `name` longtext,
  `age` int,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
dns := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=%s&parseTime=True&loc=Local", "root", "Ddb123..", "gz-xxxxxxxxx.com:22395", "test_db", "utf8")
db, _ := gorm.Open(mysql.Open(dns), &gorm.Config{
Logger: logger.Default.LogMode(logger.Silent),    # 关闭Sql在控制台显示日志
})
func insertDB(db *gorm.DB, text string) {
	var users = []DataScores {
		{ Name: "xxxx", Score: "11", },
		{ Name: "xxxx", Score: "11", },
	}
	db.Create(&users)
}

在这里插入图片描述
在这里插入图片描述

上图,可以分析到,近40G的存储空间,存储的费用还是比较低,而且插入的数据还是较慢,但是多出一个CCU的结算清单,是一个算力相关的消耗参数。

首先分析一下,使用的表插入语句中,name我用了一个大段文本,这样的话,我插入的数据量就会比较大,否则在进行MySQL连接、网络传输中也会浪费掉一些性能。其中,也发现服务器的带宽流量也比较高,因为开的也是弹性带宽,也是需要费用的。

在这里插入图片描述

尝试再提升插入的效率方案,通过发现Gorm Create批量函数添加,还是存在效率问题,换成Exec方法,直接执行原生的SQL,发现效率增长了不少。

CREATE TABLE `tests` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `name1` longtext,
  `name2` longtext,
  `name3` longtext,
  `name4` longtext,
  `name5` longtext,
  `name6` longtext,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4
func selectDb(db *gorm.DB) {
	for {
		result := db.Exec("INSERT INTO `tests` (`name1`, `name2`, `name3`, `name4`, `name5`, `name6`) VALUES ('大段文本', '大段文本', '大段文本', '大段文本', '大段文本', '大段文本')")
		fmt.Println("插入name表成功", result.RowsAffected)
	}
}

在这里插入图片描述

在TDSQL-C自带的DMC数据库管理控制台中,执行以下语句,模拟CPU消耗,看到等待超时,猜测可能的原因是连接进程数在等待,导致超时。

在这里插入图片描述

马上查看TDSQL-C实例中,在“参数设置”中,找到“max_connections”修改为100000。这里也比较方便,不用在mysql.conf或mysql.ini配置文件中去修改,再重启,都是支持热重载,不用停机重启,防止对生产上造成影响,同时,配置化也大大的简化专业运维能力,降低了门槛。

在这里插入图片描述

并且,我们通过设置Gorm DB的数据库的最大连接数,来提高插入脚本的效果。

dns := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=%s&parseTime=True&loc=Local", "root", "Ddb123..", "gz-cynosdbmysql-grp-3awgm0zf.sql.tencentcdb.com:22395", "test_db", "utf8")
db, _ := gorm.Open(mysql.Open(dns), &gorm.Config{
	Logger: logger.Default.LogMode(logger.Silent), 
})

# 设置数据库的最大连接数
sqlDB, _ := db.DB()
// SetMaxIdleConns sets the maximum number of connections in the idle connection pool.
sqlDB.SetMaxIdleConns(1000)
// SetMaxOpenConns sets the maximum number of open connections to the database.
sqlDB.SetMaxOpenConns(10000)

同时,也在脚本中执行上面查询的语句,可以看到CPU由之前的0逐渐提升到9左右。SQL语句,主要是通过自己查自己,产生一些临时表的聚合,因为也没有对字段进行加索引,基本上是全表扫描,同时,like也破坏了左原则查询策略,导致需要在很多的数据中进行查询,CPU就会逐渐的提高,此时,对应的CCU也完全提升上来了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

再回过头来看,费用明细也起来了。

在这里插入图片描述

这里有一个注意点,一定要去关联存储资源包,关联后,存储就不会去按量计费了,直接走流量包计费了。

在这里插入图片描述
在这里插入图片描述

其中,带宽流量实在抗不住,切换到朋友的公司测试环境,3天左右时间,服务器消耗了近108G带宽。

在这里插入图片描述
在这里插入图片描述

3.4 测试服务器配置相关参数信息:

主要的服务器为2核4G,弹性带宽为5Mbps峰值,CPU消耗的很少,主要是带宽跟不上。

在这里插入图片描述
在这里插入图片描述

3.5 总结:

到此,对TDSQL-C MySQL Serverless从0到1体验初步体验就完成了,在没有任何的学习的基础上,就能很快使用TDSQL-C MySQL Serverless进行开发,100%兼容MySQL的基本用法。

在这里插入图片描述

以前也只是对接口进行过压测,对数据库并没有实际的压测经验,也让我进一步巩固了数据库相关的知识体系。写的Go程序在服务器使用top命令查看CPU和内存也比较小,TDSQL-C MySQL Serverless也支持大数量的业务场景,以前是MySQL是项目中的瓶颈,现在变成了带宽是瓶颈。

3.6 测试的注意点:

因为计费是有一定的延迟的,并非实时的,所以,在费用消耗比较低的时候,因为使用了朋友的服务器,大晚上也不好叫他起来停止服务,所以,采用了以下几个自认为的方式来停止数据库,都还是产生了费用,最后把数据库实例进行销毁才没有继续产生费用了。

在这里插入图片描述

3.7 延伸 - 后续可以研究一下如何进行内网通信?

因为测试产生的带宽比较大,所以,购买了一台腾讯云服务器,看看能不能进行内网连接,但是没测试成功,服务器的内网IP段是10,而数据库实例的内网IP段是172的。

在这里插入图片描述


四、TDSQL -C MySQL 的优势:

(DB-Engines Ranking)[https://db-engines.com/en/ranking] 会根据受欢迎程度对数据库管理系统进行排名。

在这里插入图片描述

这份榜单分析旨在为数据库相关从业人员提供一个技术方向的参考,其中涉及到的排名情况并非基于产品的技术先进程度或市场占有率等因素。可以看出MySQL在使用中还是非常受欢迎的,不过,无论排名先后,选择适合与企业业务需求相比配的技术才是最重要的。

面对这么版本的MySQL,那么TDSQL -C MySQL 具备什么样的优势呢?

云数据库TDSQL -C MySQL Serverless是腾讯云PaaS产品线核心产品,在企业级内核、企业级扩展性、企业级高可用、高可靠、数据安全、智能运维上进行发力,将它打造为一个具备企业级能力的数据库,而不仅仅是开源的MySQL。

4.1 优点:

-(1)支持SQL语法,100%兼容,易于使用;
-(2)支持批量数据操作,提高了数据处理效率;
-(3)支持分布式架构,可方便地进行扩展(在第五节理论讲解)。

4.2 SQL语法支持:

使用某个项目的SQL语句,包括建表语句、插入语句,都能完全执行,在程序上操作输出了日志,也是可以的,暂时没有发现问题。
在这里插入图片描述
通过对项目的运行与实操,也没有发现有问题SQL运行报错的问题,如下为打印的日志:
在这里插入图片描述

4.3 对标一下批量数据操作效果:

在这里插入图片描述

使用上面的建表语句,用Gin协程插入大段文本1分钟,TDSQL-C MySQL插入了1095条记录,而自建的MySQL 5.7是701记录,TDSQL-C MySQL的效率是自建MySQL 5.7的1.57倍,效率比较高。

当然,这也只是一个简单的测试,并没有考虑带宽、服务器配置、数据库实例配置等所有参数严格的比较。

4.4 总结:

在这里插入图片描述


五、数据库管理工具:

5.1 第三方数据库连接工具:

在平时的工作开发中,连接和管理数据库是一个至关重要的任务。MySQL 是一种非常流行的开源关系型数据库,因此,也出现了许多用于连接和管理 MySQL 数据库,平时工作中用的最多的就是Navicat for MySQL。

  • Host:为TDSQL-C MySQL Serverless上面开通的外网地址
  • Port:需要注意一下并非是3306端口,具体需要看开通时给的端口
  • Test Connection:点击测试是否能连接成功

在这里插入图片描述

但是我们在团队管理中,会存在一个比较大的问题,就是数据库权限的控制。

在这里插入图片描述

5.2 数据库管理(DMC):

数据库管理(DMC)是一个高效、可靠的一站式数据库管理平台,为用户提供库表级操作、实时监控、实例会话管理、SQL 窗口、数据管理为一体的数据库管理服务,帮您更加便捷、规范地管理多种数据库实例。

  • 新建库表、视图、存储过程等
  • 数据导入导出
  • SQL 执行及安全审计
  • 权限管控、数据变更审批

在这里插入图片描述

除了满足上面Navicat for MySQL常规的功能以外,还有其它比较实用的功能,比如,查看一些非法连接,会话等信息,体验了一下,基本上满足实际开发的需求。

在这里插入图片描述

提供了参数模板,可以自定义的设置符合自己业务需求的参数模板,如果下次再有需要购买数据库实例,可以直接使用新建好的模板。

在这里插入图片描述

5.3 数据库智能管理DBbrain:

数据库智能管家(TencentDB for DBbrain,DBbrain)是腾讯云推出的一款为用户提供数据库性能、安全、管理等功能的数据库自治云服务。DBbrain 利用机器学习、大数据手段、专家经验引擎快速复制资深数据库管理员的成熟经验,将大量传统人工的数据库运维工作智能化,服务于云上和云下企业,有效保障数据库服务的安全、稳定及高效运行。

目前体验比较好的功能是“诊断优化”,可以看到CPU、内存、存储、流量的情况,特别说明的是有“健康得分”,可以看看有没有异常。
在这里插入图片描述

性能趋势可以根据一些指标进行查看,可以随时关注一下项目的TPS、QPS,数据库的设计是否符合要求,哪些指标会有瓶颈的风险。

在这里插入图片描述

慢SQL分析是也是平时开发需要关注的指标之一,当执行时间超过设置的long_query_time时,就会被记录到慢SQL日志中,这样可以及时去关注项目有哪些语句不符合要求,是不是需要加索引?
在这里插入图片描述

SQL优化是一个很牛的功能,可以帮助开发人员进行SQL的优化,尤其是对于复杂的SQL查询,从语句来看,就是将EXPLAIN的结果进行了可视化分析,可以非常直观的看出问题,将之间英文的原回值,可以以中文的形式的展示,非常利于非DBA专业人士来快速分析与改进。
在这里插入图片描述

点击会出现比较详细的参数说明:
在这里插入图片描述

5.4 遇到的错误:

在这里插入图片描述

5.5 总结:

在日常使用和运维中,用户关心的可能就是数据库状态、网关状态、各个节点状态、Zookeeper、OSS状态等。但是之前的数据库产品中,这些信息很多是无法直接得到的,需要找运维或者更高权限的账号来获得相关信息。但在TDSQL 平台中,可以通过一些DMC和数据库智能管理DBbrain来直接获得。

DMC和数据库智能管理DBbrain可以帮助用户快速使用、管理、运维TDSQL集群。通过不同的角色设置,如平台管理员、实例管理员、租户管理员等,赋予不同的权限,帮助用户进行实例管理、集群管理、资源管理、监控管理、告警管理、日志管理、性能分析等全方位运维管理功能。

在这里插入图片描述


六、TDSQL -C MySQL的原理分析:

6.1 TDSQL -C MySQL的分类:

把数据库类型按照关系型和NoSQL来分的话,TDSQL-C for MySQL Serverless版的类型会归到NewSQL的类型中。

在这里插入图片描述

6.2 TDSQL -C MySQL Serverless的架构:

NewSQL从传统数据库到云原生数据库的演进,也是数据库在架构上不断随着业务和技术的迭代创新的过程。TDSQL-C MySQL Serverless整体架构其实是把计算层和存储层进行了完全分离,实现了计算节点无状态方式,100%兼容MySQL协议。

在这里插入图片描述

6.3 与MySQL的对比:

在这里插入图片描述

不同用户在不同规格和业务情况下,它们的参数是否都能适应好自己数据库所运行的最大状态。TDSQL -C MySQL Serverless通过深度学习算法对于业务进行优先分析,来给用户推荐当前数据库应该将哪些参数调整至什么样的值,能够获得多少的性能提升,给用户提出智能调优方案。

6.4 总结:

TDSQL -C MySQL Serverless在灵活性、成本上提供了更多的选择、更灵活的配置、更低成本架构,如支持单节点,在性能不需要这么强的情况下,写日志历史库或者合并库,另外的场景,如需要很大容量,并不需要很高的性能,都可以通过这个方式来解决问题。


七、适用场景:

TDSQL-C MySQL Serverless是腾讯研发的一款兼容MySQL协议的分布式数据库,适用于大并发、高性能、大容量的OLTP类场景。TDSQL分为集中式和分布式版本,分布式版可支持分布式事务,但性能不如单机事务,性能会有一定的损耗,如需使用,需要进行实际测试结果来决定是否使用。

在这里插入图片描述

-(1)工业互联网、IoT、安全监控等领域;
-(2)需要处理大量时序数据的场景;
-(3)需要高效处理实时数据采集的应用场景。


八、公司业务场景考量:

8.1 分库分表:

由于TDSQL-C MySQL Serverless在存储上,使用云原生存散分离架构优势比较大的,最大规格存储支持到TB、PB级别,对于海量存储业务来说,不用在频繁进行的分库分表拆分数据表,单库单表的容量也可以完全满足用户的业务需求。

8.2 存储容量:

同上,使用云原生存散分离架构,可以无限扩展,对容量没有限制,以往使用MySQL之前会进行一个数据量的预估容量,到了容量预警点后再进行扩容。但是,在TDSQL-C MySQL Serverless中,存储是按量计费,提供用户按使用多少算多少的方式。

8.3 性能:

上面体验中,也看到了TDSQL-C MySQL Serverless的不少有优势的方面,比如数据库实例停用,当有数据通信时,也会迅速启用。插入数据也比MySQL要快的多。

8.4添加列效率:

如果之前在MySQL一张大表中,增加一列,需要去掉索引,再添加列,再加索引的方式,否则操作几十T,几百T的数据,一旦遇到这种表需要增加一个列,DDL操作时间是不可控的,有可能存储空间就爆了。而TDSQL-C MySQL提供了一个Instant DDL的功能,能够解决用户快速加列的问题,加列时间基本上是秒级完成。

在这里插入图片描述

8.5 案例可用性分析:

在这里插入图片描述

TDSQL-C产品经过近几年的不断迭代,腾讯云TDSQL-C产品对外服务了微众银行、张家港农商行、富途证券,以及华夏银行等多家股份制银行,多家大型互联网创新保险公司等超过600家金融及政企客户。有这多领域的实际落地经验,足以应对公司的业务开发。


九、总结:

通过TDSQL-C for MySQL Serverless架构云数据库,可以体现云原生架构所带来的核心价值,如一些海量存储场景,存储数据、文件,并且性能也得到了很大的提升,如支持并行计算的能力,提升SQL性能,包括并行扫描,并行的多表连接、排序、分组、聚合等并行能力。

同时,在简单易用上面,也提供了很多参数模板,监控指标优化、备份和日志方面等可视化操作,极大降低了运维成本。

在这里插入图片描述

通过从0到1的了解与学习,TDSQL-C MySQL Serverless构建了一个产品全景能力图,并不仅仅是平时认知的数据库,通过控制台、客户端,通过凭证管理、审计能够进行一切监控,来给用户提供非常安全的访问环境。再通过参数的调优去辅助、协助用户更好的使用数据库,更优的使用数据库,让业务运行的更快,而不是将数据库不行的时候升配。再到整体架构,支持物理机、云服务器架构,支持异地的灾备,搭建符合公司企业级的业务需求,为公司带来降本提效。

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

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

相关文章

计网第四章(网络层)(三)

IPV4地址的应用规划&#xff1a; 定长的子网掩码FLSM&#xff1a; 使用同一个子网掩码划分子网&#xff0c;每个子网所分配的IP地址数量相同&#xff0c;造成IP地址的浪费。 变长的子网掩码VLSM&#xff1a; 使用不同的子网掩码划分子网&#xff0c;每个子网所分配的IP地址…

GEE/PIE遥感大数据处理与典型案例丨数据整合Reduce、云端数据可视化、数据导入导出及资产管理、机器学习算法等

目录 ​专题一&#xff1a;初识GEE和PIE遥感云平台 专题二&#xff1a;GEE和PIE影像大数据处理基础 专题三&#xff1a;数据整合Reduce 专题四&#xff1a;云端数据可视化 专题五&#xff1a;数据导入导出及资产管理 专题六&#xff1a;机器学习算法 专题七&#xff1a;…

Linux常用命令——dhcpd命令

在线Linux命令查询工具 dhcpd 运行DHCP服务器。 语法 dhcpd [选项] [网络接口]选项 -p <端口> 指定dhcpd监听的端口 -f 作为前台进程运行dhcpd -d 启用调试模式 -q 在启动时不显示版权信息 -t 简单地测试配置文件的语法是否正确的&#xff0c;但不会尝试执行任何网络…

人工智能大模型加速数据库存储模型发展 行列混合存储下的破局

数据存储模型 ​专栏内容&#xff1a; postgresql内核源码分析手写数据库toadb并发编程toadb开源库 个人主页&#xff1a;我的主页 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 概述 在数据库的发展过程中&#xff0c;关…

基于STM32的天然气煤气检测报警仿真设计(仿真+程序+讲解)

基于STM32的天然气煤气检测报警仿真设计 演示视频1.主要功能2.仿真3. 程序4. 资料清单&下载链接 仿真图proteus 8.9 程序编译器&#xff1a;keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;C0081 演示视频 基于STM32的天然气煤气可燃气体检测报警仿真设计 1.主要…

【C++入门到精通】C++入门 —— 继承(基类、派生类和多态性)

阅读导航 前言一、继承的概念及定义1. 继承的概念2.继承的定义⭕定义格式⭕继承关系和访问限定符⭕继承基类成员访问方式的变化 二、基类和派生类对象赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员七、复杂的菱形继承及菱形虚拟继承⭕单…

解决 go mod tidy 加载模块超时

如果go mod tidy 加载模块超时 解决方法 修改GOPROXY: 查看go环境相关信息&#xff1a; go envgo env -w GOPROXYhttps://goproxy.cn

若依Cloud集成Flowable6.7.2

项目简介 基于若依Cloud的Jove-Fast微服务项目&#xff0c;集成工作流flowable(接上篇文章) 若依Cloud集成积木报表 项目地址&#xff1a;https://gitee.com/wxjstudy/jove-fast 后端 新建模块 目录结构如下: 引入依赖 前提:引入依赖之前先配置好maven的setting.xml &…

jmeter递增压测线程组配置

jmeter递增压测线程组配置 新建线程组线程组参数详解及填写其他指标设置 新建线程组 操作位置如图&#xff1a; 线程组参数详解及填写 其他指标设置 其他指标设置可参考另一篇文章&#xff1a; 链接: jmeter 在linux服务器中执行性能测试、监听服务器资源指标

skywalking服务部署

一、前言 Apache SkyWalking 是一个开源的分布式跟踪、监控和诊断系统&#xff0c;旨在帮助用户监控和诊断分布式应用程序、微服务架构和云原生应用的性能和健康状况。它提供了可视化的分析工具&#xff0c;帮助开发人员和运维团队深入了解应用程序的性能、调用链和异常情况 …

基于YOLOv8模型和DarkFace数据集的黑夜人脸检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型和DarkFace数据集的黑夜人脸检测系统可用于日常生活中检测与定位黑夜下的人脸&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目…

词向量及文本向量

文章目录 引言1. 文本向量化2. one-hot编码3. 词向量-word2vec3.1 词向量-基于语言模型 4 词向量 - word2vec基于窗口4.1 词向量-如何训练 5. Huffman树6. 负采样-negative sampling7. Glove基于共现矩阵7.1 Glove词向量7.2 Glove对比word2vec 8. 词向量训练总结9. 词向量应用9…

《剑指Offer》模块4 栈和队列

栈和队列 1. 用两个栈实现队列 原题链接 补充&#xff1a;copy(a,b) 把a赋值给b class MyQueue { public:/** Initialize your data structure here. */stack<int> stk, cache;MyQueue() {}/** Push element x to the back of queue. */void push(int x) {stk.push(x)…

UWB高精度人员定位系统源码,微服务+java+ spring boot+ vue+ mysql技术开发

工业物联网感知预警体系&#xff0c;大中小企业工业数字化转型需求的工业互联网平台 工厂人员定位系统是指能够对工厂中的人员、车辆、设备等进行定位&#xff0c;实现对人员和车辆的实时监控与调度的系统&#xff0c;是智慧工厂建设中必不可少的一环。由于工厂的工作环境比较…

基于微信小程序的餐厅预订系统的设计与实现(论文+源码)_kaic

摘 要 随着消费升级&#xff0c;越来越多的年轻人已经开始不再看重餐饮等行业的服务&#xff0c;而是追求一种轻松自在的用餐、购物环境。因此&#xff0c;无人餐厅、无人便利店、无人超市等一些科技消费场所应势而生。餐饮企业用工荒已成为不争的事实。服务员行业的低保障、低…

癌症预测新利器:弹性逻辑回归让健康更可控!

一、引言 癌症是全球范围内健康领域的重大挑战&#xff0c;早期预测和诊断对于提高治疗效果和生存率至关重要。在过去的几十年里&#xff0c;随着医学和数据科学的快速发展&#xff0c;基于机器学习和统计方法的癌症风险预测成为研究的热点。其中&#xff0c;弹性逻辑回归作为一…

注解和class对象和mysql

注解 override 通常是用在方法上的注解表示该方法是有重写的 interface 表示一个注解类 比如 public interface override{} 这就表示是override是一个注解类 target 修饰注解的注解表示元注解 deprecated 修饰某个元素表示该元素已经过时了 1.不代表该元素不能用了&…

【中危】Apache XML Graphics Batik<1.17 存在SSRF漏洞 (CVE-2022-44729)

zhi.oscs1024.com​​​​​ 漏洞类型SSRF发现时间2023-08-23漏洞等级中危MPS编号MPS-2022-63578CVE编号CVE-2022-44729漏洞影响广度极小 漏洞危害 OSCS 描述Apache XML Graphics Batik 是一个开源的、用于处理可缩放矢量图形(SVG)格式图像的工具库。 受影响版本中&#xff0…

足球- EDA的历史数据分析并可视化

足球- EDA的历史数据分析并可视化 背景数据介绍探索数据时需要遵循的一些方向:数据处理导入库数据探索 数据可视化赛事分析主客场比分相关性分析时间序列分析 总结 背景 该数据集包括从1872年第一场正式比赛到2023年的44&#xff0c;341场国际足球比赛的结果。比赛范围从FIFA世…

机器学习实战之模型的解释性:Scikit-Learn的SHAP和LIME库

概要 机器学习模型的“黑箱”困境 机器学习模型的崛起让我们惊叹不已&#xff01;不论是预测房价、识别图片中的猫狗&#xff0c;还是推荐给你喜欢的音乐&#xff0c;这些模型都表现得非常出色。但是&#xff0c;有没有想过&#xff0c;这些模型到底是如何做出这些决策的呢&a…