互联网+大赛-阿里云数据库赛题解析|学习笔记

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB PostgreSQL 版,企业版 4核16GB
推荐场景:
HTAP混合负载
简介: 快速学习互联网+大赛-阿里云数据库赛题解析

开发者学堂课程【第八届大学生创新创业大赛阿里命题阿里云数据库赛题解析互联网+大赛-阿里云数据库赛题解析】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/1023/detail/15094


互联网+大赛-阿里云数据库赛题解析


内容介绍

一、阿里云数据库介绍

二、赛题内容


本节课会介绍第八届中国国际“互联网+”大学生创新创业大赛中阿里云数据库相关赛题进行解析


一、阿里云数据库介绍

1、阿里云数据库的整体情况数据库长久以来都是一个非常有生命力的研究方向

图片1.png

早在上世纪80年代就产生了非常著名的商业化的数据库产品随着技术的进步,数据库在大数据量更丰富的数据模型更加多样化的应用场景等方面都取得了长足的进展随着云计算技术的出现,给数据库带来了新的挑战和机遇云计算的本质就是资源的高效池化解偶云计算使得数据库向着一站式全链路的处理平台在演进,整个数据库技术目前已经涵盖了数据的生产处理,存储和消费完整的数据生命周期

2、从技术架构上来看数据库也从单体架构不断的向着云原生分布式的架构演进在中间的分布式架构的演进路线上出现了两种形态,一种就是共享存储架构,还有一种是分布式数据库的架构云计算架构使得分布式数据库的扩展能力不受限制,云原生的资源解偶池化技术是实现分布式数据库的弹性能力的一个关键

3、阿里云数据库一直以来都致力于作为云原声分布式数据库的一个全球的领导者,随着 Gartner2021 年的最新报告,阿里云数据库已经进入了 Gartner 领导者象限是唯一进入领导者象限的一个中国厂商阿里云数据库主要在五个研究商方向上重点发力包括云原生分布式智能化物联网多模安全可信和在离线一体化等

图片2.png

4、图是整个阿里云数据库的产品图最底层的阿里云丰富的数据库产品,涵盖了整个数据处理的生命周期,包括数据的生产和集成数据的实时处理数据的分析和发现,数据的开发和管理等它是一个真正的一站式的全链路的数据处理平台在整个阿里云数据库之上,还有一系列的解决方案来满足大量的云上客户,满足极挑战性的应用场景

图片3.png

5、阿里云数据库除了在云上有非常丰富的产品之外,阿里云数据库也一直致力于为开源社区来做贡献数据库有 mysql pg 两大开源社区,阿里云对应的也有两款非常重要开源产品分别是 polardb-x主要兼容 myaql,还有一个开源产品是 polardb for postgresql主要面向 pg 的开源生态

图片4.png

 

二、赛题内容

1、本次赛题跟阿里云数据部有关的赛题一共是八个主要涉及到 PolarDB-XPolarDBAnalyticDBNoSQL 四个重点方向本次命题是面向所有的在校学生基于阿里云数据库的产品和开源代码提供八个功能性的命题通过大赛希望能够为学生创造产业的实践机会,同时也能推动学生了解云原生数据库相关的一个技术原理参与整个数据生态的构建

图片5.png

2、第一道题是想要搭建一个 PolarDB-X 混沌测试系统PolarDB-X 是一个阿里云自主研发的云分布式数据库目前已经开源,它支持海量数据的存储超高规模的并发大表的瓶颈以及复杂的计算效率PolarDB-X 作为一个分布式数据库,稳定性和容是分布式数据库的一个最基本的要求赛题就是希望能够打造一个针对PolarDB-X 的混沌测试的系统整个命题的内容有两点希望基于 PolarDB-X operator 和 chaos mesh 构建面向分布式数据库的一个混沌测试框架,框架的目标就是要做到能够发现潜在的问题,并且能够快速修复同时能够帮助验证PolarDB-X 的稳定性与容错能力,具体的要求主要有五个方面,第一个混沌测试系统要能够定义分布式数据库的一个稳态同时在稳态的一个基础上,能够支持多种故障的一个自动化的注入同时要能够支持自动化的稳态验证以及故障实验的动态编排其中最重要的一点就是要能够支持超大规模的集群

图片6.png

3、第二题依然是围绕着 PolarDB-X 展开,希望能够搭建一个面向 PolarDB-X 的问题诊断与定位系统整个命题的要求PolarDB-X 做持续性能采集的分析,也就是开发一个 profiling 采集存储和指定时间范围内的数据库运行的相关数据并最终把采集到的数据以一种可视化的方式把它展示出来例如采集 cpu 的使用情况也会给出网上的一些资源,大家可以基于资源比如 async-profilerprofiling 开源的项目构建的问题诊断与定位系统希望问题诊断与定位系统能够采集包括 cpu,内存以及存储等各种计算资源的使用情况

4、图片7.png

5、第三个题是面向 polardb for mysql 的云原生关系数据库polardb for mysql是阿里云自研的一款云原生数据库主要是面超大规模数据量超高规模并发的应用场景既然是面向超大规模数据量,其实索引就是 polardb 里面非常重要的一个组件索引的构建技术的先进与否,它是决定数据库性能的关键随着互联网和大数据技术的一个发展,会发现数据库里面需要处理的数据量的规模发生数量级的增长很多数据库在面对大表创建索引的时候它往往都耗时非常长,甚至要几个小时甚至几天这么长的创建索引的时间对于一些在线应用是没有办法容忍的因为在索引创建的时间内很多需要依赖于索引 dml 的操作都没有办法能够加速的执行所以希望通过研究一种快速的并行的创建索引的技术加速面向大数据索索引的创建过程也是命题的大的背景命题命题内容就是希望能够设计一个并行创建的索引的方案同时基于方案要实现索引创建的 demo要求在索引创建的实现上,希望使用 C 或者 C++实现,最终需要实现 demo,并且能够提交相关的设计文档和测试用例

6、第四题和第五题主要是面向 polardb for postgresql 开源的分布式数据库它包括两个题目,一个是指序列号的生成,一个是指性能调优polardb for pg 是一款自的云原生数据库产品,目前已经开源了它最主要的特点就是100%兼容PG,在架构上,它采用的是一种 shared-storage 存储计算分离的架构它具备极致弹性,毫秒延迟和 htap 的能力长久以来对分布式数据库的最大的技术挑战,怎么能够为分布式数据库提供跟单机完全一样的体验所以这次两个赛题也是围绕着这个方向进行设计

图片8.png

数据库序列号的生成,如果用过 postgresql,对 sequence 应该会非常熟悉,在单机情况下 sequence 实现比较简单,但是在分布式数据库的场景下,如何实现一个sequence 其实还是有相当多的技术挑战赛题就是希望能够基于 polardb for pg实现 sequence 基本功能,包括支持 nextvalsetvalcurrvallastval 以及 ddl 基本的接口同时对于 sequence 的个性,需要它满足全局一致性的要求比如要支持严格的有序性,通过 cache 以及批量分配的方式提升 sequence 处理性能

PolarDB for PostgreSQLFil5titk : https://github.com/ApsaraDB/PolarDB-for· -PostgreSQL/tree/distributed

链接是 polardb for pg 的开源地址,可以登进去查看相关的资料第五个赛题是针对 polardb for pg 性能调优的需求希望能够针对 polardb for pg 设计并开发函数级别的性能的 profiler它能够采集 PG 运行期间的相关的数据,同时它要需要优化采集时的资源消耗并且能够把对系统的影响降到最小对于采集到的结果希望能够以 csv 的文件,或者是直接存储到数据库表中,同时要提供相应的脚本和查询语句帮助用户获得数据库运行的基本的情况如果能把数据以图形化的方式展示出来,会作为道题目的加分项

6、面向云数据仓库 analytidb 做设计analytidb 是阿里云开发的数仓它主要面向场景是超大规模的数据量复杂分析以及实时分析随着数据量的膨胀包括互联网应用的需求不断的提高对于结构化数据和非结构化数据的混合分析的能力目前研究的热点赛题最关键的点就是希望设计向量化的引擎支撑结构化数据和非结构化数据的融合分析

7、在车联网场景下对摄像头捕获的车辆图片做分析是非常重要的场景,对车辆图片分析就是很典型的结构化数据和非结构化数据混合分析的场景结构化的数据包括一些时间地点信息非结构化数据主要是车辆的型号车辆的颜色等,如果希望能够在特定的时间,特定的地点找到对应的某一种品牌或者某一类车型或者某一种颜色的汽车行驶记录就是非常典型的结构化和非结构化数据的联合分析本次的命题也是会提供一个数据集,数据集的大小有 10g在数据集里面主要是行车的信息每一条记录包括三个四个字段前三个是结构化字段第四个是车辆的特征信息,也就是向量化的字段希望能够针对数据集参赛者能够实现接口,接口要能够支持对数据集的增删改查的操作,其中检索希望能够针对车辆特征,也就是针对最后一个字段做近邻的分析能够找到128维的特征数据让它的 l2 距离越小,越相近,作为检索标准考核标准会聚焦在五个上面包括数据的导入时间查询的正确率以及查询的时间消耗等同时还会检验程序实现的鲁棒性,包括删除数据在剩余数据集上参赛选手接口实现的表现希望在以上各个步骤中参赛选手实现的接口,它的平均正确率至少需要达到95%

8、第七个赛题主要是面向的云原生多模数据库 lindorm,多模数据库是一种面向互联网,物联网,车联网以及工业互联网设计的一款超融合数据库它主要特点是支持非常多的数据模型包括宽表模型,时序文本,对象流等,并且多样化的数据模型会提供统一的访问和融合的处理多模数据库应用场景非常多,在日志监控,账单,广告,社交等各方面都有非常丰富的应用场景也是阿里巴巴核心业务提供支撑的数据库本次针对多模数据库的命题主要是希望能够基于多模数据库构建创新性的物联网应用答题的要求因为是多模数据库所以希望参赛选手在实现应用的时候至少要使用两种以上的数据模型来解决真实的场景需求关于lindorm 的相关学籍资料都是在 ppt 上的链接里面大家可以查看资料了解lindorm 具体的处理能力

9、最后一道题是针对内存数据库展开内存数据库最有名的是 redis阿里云推出Tair 数据库

图片9.png

阿里云自研的数据库tair 具有三大特征,100%和 redis 兼容超高性能,同时也能够在 redis 基础之上提供持久存储能力支持更丰富的数据模型,除了 kv 之外会支持图数据库的模型关于内存数据库的赛题还是希望能够对内存的容量做极致的优化,基于一个特定的开源版给参赛者提供初始化的参赛环境希望参赛选手在初始化的参赛环境里面最大化的提升内存的使用率通过不断的优化数据结构压缩算法等使得内存中缓存更多的数据

同时也会对性能的稳定性做要求就是希望在访问不在内存中的数据的时候带来性能的抖动,也就是 redis 产生的压测,希望它尽可能的小第四答题要求给出赛题非常明确的评分的要求,满足特定性能和稳定性的要求下能够使得存储的数据量越多分数越高

10、最后会通过阿里云的技术知识社区为参赛者提供学习的资料和技术知识主要涉及到四个方面,包括命题的解读,学习资料,场景的动手体验和赛前训练营等

图片10.png

 

相关文章
|
4天前
|
Cloud Native 关系型数据库 分布式数据库
《阿里云产品四月刊》—瑶池数据库云原生化和一体化产品能力升级
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
5天前
|
Java Devops API
阿里云云效操作报错合集之云效页面提示数据库保存不进去,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
4天前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
4天前
|
关系型数据库 MySQL 测试技术
《阿里云产品四月刊》—瑶池数据库微课堂|RDS MySQL 经济版 vs 自建 MySQL 性能压测与性价比分析
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
5天前
|
关系型数据库 数据库 RDS
阿里云数据库加ip白名单
阿里云数据库加ip白名单
8 0
|
6天前
|
SQL Java Apache
阿里云数据库 SelectDB 版内核 Apache Doris 2.1.4 版本正式发布
亲爱的社区小伙伴们,Apache Doris 2.1.4 版本已于 2024 年 6 月 26 日正式发布。在 2.1.4 版本中,我们对数据湖分析场景进行了多项功能体验优化,重点修复了旧版本中异常内存占用的问题,同时提交了若干改进项以及问题修复,进一步提升了系统的性能、稳定性及易用性,欢迎大家下载使用。
|
7天前
|
NoSQL Java 数据库
优化基于阿里云的微服务架构下的数据库访问性能
在应对大型电商项目中数据库访问性能瓶颈问题时,团队通过阿里云工具分析发现高QPS、慢查询和不合理数据交互是关键。优化措施包括:1) 索引优化,针对慢查询添加或调整索引;2) 开启读写分离,使用RDS读写分离功能和DRDS进行水平拆分;3) 引入Redis缓存热点数据,减少直接数据库访问;4) 服务化数据访问,降低跨服务数据库调用;5) 使用Sentinel进行限流和熔断,保护数据库资源。这些改进显著提升了系统响应速度和用户体验。
|
5天前
|
存储 关系型数据库 MySQL
|
5天前
|
存储 SQL 关系型数据库
|
6天前
|
存储 关系型数据库 MySQL

热门文章

最新文章