开发者学习笔记【阿里云云数据库助理工程师(ACA)认证:云原生数据库Tair(二)】
课程地址:https://edu.aliyun.com/course/3112080/lesson/19083
云原生数据库Tair(二)
二、 Tair 产品功能特性与核心能力详解
2.1、Tair 产品功能特性
Tair 整个产品有如下5种比较大的一个特性。第一个是高性能,相对于我们开源的Redis可以提供两倍的性能,另外一个就是持久化。在持久内存型和容量存储型上都可以做到数据可靠、无数据丢失,也是真正意义上的 RPO=0。并且还可以提供更低成本的与 Redis 兼容的相关内存数据库服务,比如说 Tair 容量增强型、容量存储型,它按需可以选择多种的多种介质,性价比的高于 ECS 自建。
还有我们可以提供丰富的数据模型,更多面向各种应用场景的数据结构,让整个开发变得更敏捷。另外我们提供了企业级的相关能力,比如说全球多活、数据闪回、混合多云的数据形态。
2.2、Tair 产品核心能力
Tair 产品核心能力:丰富的数据模型
首先我们重点介绍一下丰富的数据类型,除了提供开源基础的数据类型以外,还针对相关的场景和相关的功能进行了增强。比如 Tiger Doc 是一个 JSON 文档的增删改查,可以在内存里边实现文档数据库相关的功能。
在 Tair bloom 上,它是一个基于内存的不同过滤器。另外在数据结构的增强上,我们针对原先Redis开源哈希中不能支持子key, 单独是超时,为此我们提供了一个叫 TairHash 的数据结构,可以支持subkey设置超时,还提供了 TairString 等支持并发更新的string结构。另外数据计算下沉上,我们针对金融风控场景、、实时数据场景、地理位置存储的场景,都提供了相关的存储和计算能力。
Tair 产品核心能力:全球多活
第二个核心能力是全球多活,主要场景是在教育行业,比如国外老师,国内的学生,电商,游戏的全局信息、风控等场景上有相关的应用。在这种应用下,应用可以多地域部署,数据自动同步,本地就近读写,低延迟,并且还可以提供容灾切换。
对于客户价值来讲,它可以大大的降低业务设计的复杂度,并且可以同步保证正确性和可靠性。在右边这个图可以看到,我们在三个地域部署了相关的 Tair 服务。通过两地双向,3地6向的日志的同步服务,能够达到相关的数据同步。
客户场景
教育:国外老师,学生国内
电商商品/游戏商城分单元访问
全局信息:直播间排名,游戏排行榜,用户登陆
风控:指标计算/读取
客户需求
多地域部署,数据自动同步
本地就近读写,低延迟
容灾切换
客户价值
极大降低业务设计的复杂度
同步正确性/可靠性保障
同步通道单向SWTPS
洲际内同步延迟平均1.2秒
Tair 产品核心能力:数据闪回
在这种场景下,主要是在游戏行业,游戏回档或者是对一些 Redis 数据比较重要,担心有误、删除或者被恶意删除的时候可以使用。用户可以通过指定某一个秒级的时间点将数据恢复到过去某一个时间,能够帮助用户做到实时的备份,也能帮助用户可以做到精准的恢复到秒级的时间点。
客户场景
游戏回档,需要回切
防止版本发布异常,发布前需要备份数据
数据误操作误删除后难以恢复
被恶意删除
客户需求
数据安全
数据期望精确回滚或者恢复到某个时间点
客户价值
实时备份
恢复精确到秒级别时间点
恢复速度快,分钟级别
高级数据安全。防止删库跑路
再也不用担心各种数据丢失风险
Tair 产品核心能力:混合多云
混合多云在场景上主要是因为业务的等级原因需要分级部署,有些可能是在线下,有些可能是在友商这个公有云上。
在这种情况下,用户需要是在多个云上提供统一的、一致的 Tair 的内存数据库服务,我们通过和阿里云 ACK 容器平台进行合作,提供了相关的对友商云和 IDC 等内存数据库的支持。同时我们也可以支持多地域的同步和容灾,帮助用户和已有系统集成,并且有一个统一的阿里云管理的一个视图、系统,来帮助用户对多云进行管理。
客户场景
业务等级原因,需要分级部署,无法上公共云
IDC 存量资源较多,需要过渡期
多云部署容灾
客户需求
l 在 IDC 部署 Redis 或者 Tair ,获取较强产品能力
多云部署
客户价值
独有的数据同步能力,多地域同步和容灾
满足客户业务等级需求
帮助客户资源利旧
便于和已有系统集成
云上 Tair 同等能力,可以通过阿里云统一管理
Tair 混合多云:一阿里云为中心,IDC、他云、边缘侧互通
三、 Tair 产品应用场景剖析
3.1、在线电商
在线电商是一个非常典型的一个场景,在登录系统和个性化推荐,并且在用户系统中,我们都可以用到 Tair ,作用可能是不一样的,有些是缓存,有些是把它当内存数据库,做一些更持久化的应用 。
Tair 从用户登录到获取商品这一系列的操作中间,都可以提供低延迟、压秒级的服务、高吞吐和每秒一级别的访问能力,还有弹性伸缩和应对流量高峰的能力。当然对于高投入的能力,我们也是具备的。
3.2、游戏娱乐
在游戏娱乐里,常见到使用 Tair 的功能是排行榜、用户登录、聊天室、、装备购物的商城、、装备的列表。从Tair性能增强型可以提供两倍的性能来承接相对应的能力,也可以帮助游戏行业进行秒级的数据归档。如果有误操作或者误删除的数据需要恢复的时候,或者发版的异常,有需要回滚的时候,都可以将原来恢复的时间从数小时降低到分钟级甚至是秒级。同时我们也提供了无感的扩容,并不掉线,还有高可用以及备份归档能力。
3.3、生活服务
第三个场景是生活服务类场景,这也是基于这个地理位置的相关服务类场景。最左边是一个电子围栏,电子围栏我们经常应用的是儿童安全,或者是共享单车是否停在这个禁行区内了。在这种场景下,我们可以看到它的特点是更新频率快,查询大。另外它都是一个经纬度的一个值,同时有存储和计算。
Tair 有相关的针对于地理位置的数据结构来让大家能够更好的去查找满足在某一个区范围内的某些条件的查询。另外我们还可以看到在疫情的大背景下,那么我们还有一些需要轨迹追踪或者说轨迹漫游的应用,在这些应用里边,它是一个线和面的一个地理位置关系, Tair 也是可以支持,在 Tair 增强型的相关的技术的数据结构中。
电子围栏
判断“点“和“面“的关系
儿童安全:孩子是否在区域内
共享单车:单车是否在禁停区内
场景:更新频率快.查询量大
儿童每次位置都是变化的( x,y ),不容易 cache
频繁的区域更新等,写入压力大
替代 PostGIS+Cache 场景,多倍性能提升
轨迹漫游
“线“和”面“的关系
场景:疫情期间判断是否经过或者路过疫区