一、媒介:
随着互联网的发展,企业的规模也在不断的发展,企业内部的在线业务量也随之骤增,海量的数据访问和存储压力已经日益不满意公司业务的需求了,而且搭建传统集中式数据库也增加运维工作量和公司软硬件成本,对于突发的业务,无法满意更快更稳定的业务性能。
企业级数据库在业务使用层面存在的痛点:
- 软硬件成本开销大,比如需要搭建本身的主从MySQL,需要够买云服务器、需要运维人力大量的工作支持
- 改造难度系数高,比如,我们公司用的MySQL,但是想使用PostgreSQL来改造,可以发现有些语法兼容性不足,导致需要对原有业务系统进行大量改造。
- 扩容难:为满意业务的快速增长带来的业务的盘算能力与存储能力的需求,用户搭建一主多从、多主多从来进行扩容,而且作业时,需要中断业务数据才能进行完成扩容操作,还需要重启才能生效。
- 迁移困难:比如说我们公司早期有一些人写存储过程,但是在迁移时,非常不方便,进一步增加企业的数据迁移改造成本。
基于这些痛点,我们急迫的想要一款易用的数据库来解决实际的问题。
<hr> 二、腾讯云联合CSDN进行TDSQL-C产品评测活动:
腾讯云联合CSDN进行TDSQL-C产品评测活动,同时,也让我相识了腾讯云国产数据库有许多特点。
1. 实践与成绩:
起首TDSQL-C MySQL 版(TDSQL-C for MySQL)是腾讯云自研的新一代云原生关系型数据库,是自研的数据库,网上查询了一下,拿过许多奖项,而且在不少公司有大数据量的应用场景,可以看到最高的成绩就是《第七次全国人口普查》项目的支持。
《第七次全国人口普查》
本次全国人口普查项目,腾讯云数据库提供了“OLTP+OLAP”双引擎融合的企业级分布式数据库管理系统TDSQL,支持了十亿级用户数据、七百万个终端和百万级峰值TPS(每秒事务处理量),平稳、高效支撑第七次全国人口普查工作完成。
2. 三高特性:
TDSQL-C MySQL 版融合了传统数据库、云盘算与新硬件技能的上风,100%兼容 MySQL,为用户提供极致弹性、高性能、高可用、高可靠、安全的数据库服务。
3. 超高的性能:
实现超百万 QPS 的高吞吐、PB 级海量分布式智能存储、Serverless 秒级伸缩,助力企业加快完成数字化转型。
<hr> 三、TDSQL-C MySQL Serverless分析:
云原生数据库Serverless化已经成为当前云数据库的紧张演进方向。在云盘算期间,差别业务形态对高弹性、高可用性、可扩展性的需求越来越强,按需使用成为企业的刚需要求。在此配景下,采用Serverless架构,能在云数据库高性能之上提供降低成本的更优的方案。
1. 什么是Serverless架构?
狭义的Serverless分为FaaS和BaaS,根本特点就是无需运维、以API方式提供服务、按实际使用计费、无使用无费用等。
举个例子,用户欣赏网页,可能涉及CDN资源。如果是静态内容,从对象存储下载照片、视频;如果是动态内容,则触发一个函数盘算,云函数将从云数据库获取相应的资源,生成用户所需的动态内容。其中,云函数为FaaS,对象存储和云数据库则为BaaS。
2. TDSQL-C MySQL Serverless的特性:
传统云数据库的容器架构与Serverless架构结合,将使云原生数据库在弹性伸缩、主动扩缩容等性能上带来新的价值。
Serverless架构的好处是当实例停息后,数据会进行归档存储,用户无需再为高额的分布式存储进行付费,可在原实例停息后的存储费用上降低成本80%,启动时可瞬时恢复服务,无需期待数据全量恢复。
TDSQL-C Serverless可全面承载核心业务场景,将Serverless技能覆盖到全部数据库应用场景。TDSQL-C已助力好未来、富途、虎扑等企业降低使用成本。好未来公司内部业务已稳定运行在新升级的TDSQL-C Serverless架构上,节省成本在50%以上。
从官方的先容来看,TDSQL-C Serverless具有以下的特性,来给公司的业务进行降低使用成本,帮助客户提升效率、优化成本。
(1). 资源扩缩范围(CCU)
可调整 CCU 弹性扩缩容的范围,Serverless 集群会在该范围内根据实际业务压力主动增加或淘汰 CCU。
CCU(TDSQL-C Compute Unit)为 Serverless 的盘算计费单位:
- 一个 CCU 近似等于1个 CPU 和 2GB 内存的盘算资源
- 每个计费周期的 CCU 使用数量为:数据库所使用的 CPU 核数 与 内存巨细的1/2 二者中取最大值
在成本上,超级节点实现了全新的单节点肴杂计费,既支持打包预付费,也支持对超出限额的容器进行准确的按量计费和配额控制,让资源管理灵活可控的同时又有最优成本;在弹性上,超级节点集成国内首个FinOps范畴开源项目Crane的能力,可以智能预测客户弹性比例,并在高峰来条件前应对,保障客户业务扩展期的使用稳定性。
(2). 弹性策略
Serverless 集群会持续监控用户的 CPU、内存等 workload 负载情况,根据肯定的规则触发主动扩缩容策略。
- Serverless 服务的弹性策略是使用监控盘算层实现的。通过监控业务负载情况,系统对盘算资源进行主动扩缩容,并对该时刻所消耗的资源进行计费。
- 当没有数据库哀求时,监控服务会触发盘算资源的接纳,并通知接入层。当用户再次访问时,接入层则会叫醒集群,再次提供访问。
- Serverless 服务的弹性策略一开始会根据用户购买时选择的容量范围,将 CPU、内存资源限制到最大规格,极大程度降低因 CPU 和内存扩容带来的时间影响和使用限制。
- 当集群触发到主动弹性的负载阈值后,Buffer pool 会根据监控提前进行分钟级调整。在这个方案下用户使用数据库可以无感知进行 CPU 扩容,并且不会因为连接突增导致实例 OOM。
通过上面可以看出,由于CCU和存储都是弹性的,以是费用也是弹性的。
(3). 主动启停
Serverless 服务支持自定义实例主动停息时间,无连接时实例会主动停息。当有任务连接接入时,实例会秒级无中断主动叫醒。
<hr> 四、实战手册:
本次我们使用python 语言 进行TDSQL Serverless MySQL 进行体验, 实现思路如下:
- 读取多个本地的 excel 文件 ,并将读取的数据存储到TDSQL 中
- 从TDSQL 读取存储的数据
- 将读取的数据生成词云图,并展示
留意选择Serverless 的实例形态,数据库引擎为MySQL的。
数据库版本可以选择5.7和8.02个版本,算力配置的话,上面有提到CCU(TDSQL-C Compute Unit)为 Serverless 的盘算计费单位,一个 CCU 近似等于1个 CPU 和 2GB 内存的盘算资源,每个计费周期的 CCU 使用数量为:数据库所使用的 CPU 核数 与 内存巨细的1/2 二者中取最大值。
主动停息的时间为数据库在设定的时间内未使用将会主动进入停息状态,停息后盘算将不再计费。
开启存储资源包,存储资源固定额度的包,用来优先抵扣按量付费产品中实际产生的用量,资源包额度消耗完毕后会继续按照按量付费模式计费。存储资源包会按照每小时实际使用的存储量进行抵扣,相比于按量付费模式更为划算,使用更为灵活。
设置密码,一样寻常选择UTF8MB4字符集,可以自定义端口。
开通乐成后在控制台显示:
开通外网地址,这样就可以长途访问数据库了。
下载python相关依赖,在项目根目录,终端中运行:
- pip install PyMySQL==1.1.0
- pip install pandas==2.0.1
- pip install wordcloud==1.9.1.1
- pip install numpy==1.23.5
- pip install matplotlib==3.7.2
- pip install Pillow==9.5.0
复制代码 创建读取excel文件的函数,在 server.py 中编写代码:
- def excelTomysql():
- path = '词频' # 文件所在文件夹
- files = [path + "/" + i for i in os
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |