轻松学习阿里云原生内存数据库Tair

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介: 云原生数据库指的是基于云架构的云数据库,是一种云原生数据基础设施;是一种完全利用公有云优势的数据库服务;其本身匹配云环境和分布式事务,一般提供计算存储分离和日志即数据能力,其核心是存储与计算分离。具有弹性伸缩能力、无服务器(Serverless)、高性能、高可扩展、一致性、容错、易于管理和多云支持等特性。云原生数据库(Cloud-NativeDatabase)概念源于国外,随之受到国内厂商的关注,适用于软件工程、计算机、云计算等领域。

👻前言

最近在探索阿里云产品的时候,偶然得知阿里云开发者社区有很多可以实践上手的活动,自己也就抱着好奇的心态去看了看,刚好有个活动是有关于Redis的,之前在了解后端的时候就经常听到很多有关Redis的介绍,所以突然之间对这个活动也来了兴趣,就抱着试试看的心态参加了阿里云开发者社区的训练营“从入门到高阶,7天玩转Redis、Tair训练营”。哈哈,虽然我也是小白,对于云原生方面的知识也不了解,但是,有机会去上手实践总归是好的,所以呢,本篇文章就跟着博主的节奏,在了解云数据库和Redis知识的基础上,带着大家一起学习有关于云原生方面的知识,在开拓自己知识层面的同时,根据自己探索的学习经验,为大家提供一些有帮助的知识。
大纲.png

☁️什么是Redis?

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

☁️什么是云原生内存数据库?

云原生数据库指的是基于云架构的云数据库,是一种云原生数据基础设施;是一种完全利用公有云优势的数据库服务;其本身匹配云环境和分布式事务,一般提供计算存储分离和日志即数据能力,其核心是存储与计算分离。具有弹性伸缩能力、无服务器(Serverless)、高性能、高可扩展、一致性、容错、易于管理和多云支持等特性。云原生数据库(Cloud-NativeDatabase)概念源于国外,随之受到国内厂商的关注,适用于软件工程、计算机、云计算等领域。
图片3.jpg

✨特点

  • 专库专用,性能发挥极致

传统数据库的数据类型单一、这导致了性能/功能受限,无法为应用提供合适的性价比与极致性能,云原生数据库理念“专门构建”合适来解决这些需求,用户可以在云上快速部署(或维护)不同类型数据库,每个应用场景使用合适的数据库,发挥其性能,功能优势。

  • 无服务器,敏捷创新

无服务器Serverless是一项仅在公有云上可以发挥最大优势的技术能力,利用无服务器架构和公有云的资源池,云原生数据库可以做到按需扩展,并按实际使用资源付费,达到高性价比。

  • 全球架构,一键部署

云原生数据库可以全球部署,实现异地灾备和全球客户体验一致的目标,进而保证业务拓展到全球,不同区域的客户可以享受到同样的数据访问体验,解决数据库全球扩展问题,在业务快速发展阶段,可以有效帮助底层数据架构的扩展。

  • 数据联动,广泛集成

云原生数据库深度融合智能湖仓架构,客户可以方便地跨关系型数据库、非关系型数据库、对象存储、大数据系统实现联合数据查询和加工,这样就可以让数据库中的数据方便地应用于机器学习和大数据中,面向新的数据驱动的创新需求。

  • 日志即数据,减少了网络和IO代价(适合于云上部署)。

  • 存储和计算相分离,计算节点上的数据来自网络中任意节点,使得资源调度更灵活。

  • 弹性计算,根据使用量,占用计算资源。

  • 支持在线扩容,不需要终止服务,即可扩展存储资源。

  • 读写分离,支持一写多读,读服务可扩展性强。

🚀阿里云原生内存数据库Tair

🌟简介

云原生内存数据库Tair是阿里云自研数据库,兼容Redis的同时提供更多数据结构和企业级能力,包括全球多活、任意时间点恢复和透明加密等。支持多种存储介质和不同场景性价比需求:内存型支持超高吞吐,性能为Redis三倍;持久内存型成本降低30%,支持数据实时持久化;支持向量检索能力。
图片2.jpg

Tair在完全兼容Redis的基础上,提供了丰富的数据模型和企业级能力来帮助客户构建实时在线场景。同时,Tair与新型存储介质——持久内存的高效结合,相比内存,成本降低30%以上,并能做到数据持久化和提供近似于内存的性能。目前,Tair已广泛应用于政务、金融、制造、医疗和泛互联网等各行业客户,满足客户的高速查询和计算场景。

🎯功能特性

  • 支持标准、集群、读写分离架构,均提供主备双节点,支持多可用区,支持自动容灾切换。

  • 支持无感扩缩容,解决Redis扩缩容迁移数据慢、稳定性差等痛点问题,满足随时弹性资源伸缩需求。

  • 支持RDB与AOF持久化,支持按备份集恢复,同时也支持数据闪回,可将实例恢复至7天内任一时间点。

  • 支持半同步数据持久化策略,对实例进行更新操作时,实例会在主、备节点均记录日志后再返回结果给客户端,提高数据可靠性。

  • 在网络、存储、备份、容灾等方面,提供攻击防护、访问控制、TLS(Transport Layer Security)加密等功能来保障数据安全。

  • 提供CPU使用率、连接数、磁盘空间利用率等实时实例监控信息,并提供自动报警功能,帮助您随时了解实例动态。

  • 提供Tair扩展数据结构,从多方面扩展Tair的适用性,降低业务的开发难度,提高业务整体性能。

    • 在String、Hash和Zset数据结构的基础上,自研TairString、TairHash和TairZset增强型数据结构,提供分布式锁、数据生命周期和并发控制等功能特性。
    • 自研TairGIS、TairCpc和TairRoaring数据结构,全面支撑地理位置服务、大数据分析计算、位图计算服务模块开发。
    • 支持TairDoc、TairSearch、TairTs和TairBloom数据结构,兼容Redis Stack相关数据结构,同时优化更多特性,提供更高效的运算服务。
  • 支持全球多活实例,通过专属同步通道保持实时、高效的数据同步。

  • 支持缓存热点数据,通过高效的排序和统计算法识别出实例中存在的热点Key,并缓存在代理节点(Proxy)中,减少客户端与实例后端数据分片的交互,在不新增额外节点的情况下,提高了热点Key的读性能。

  • 快速修复缺陷与迭代版本。

🗺️应用场景

视频直播类应用(数据库性能高拓展)

图片4.png

视频直播类节目中会大量出现流量突发场景,云原生内存数据库Tair集群版轻松突破Redis自身单线程瓶颈,QPS最高达到百万级,满足低时延、高并发的业务要求。

游戏分服类应用(满足分服、滚服弹性拓展)

图片5.png

游戏公司为了快速抢占市场,需要快速的开发出新产品吸引玩家,云原生内存数据库Tair能减少系统开发复杂度,业务爆发时可轻松弹性扩容,满足高性能业务要求。

电商行业类应用(大数据处理无缝对接)

图片6.png

电商行业中如大型促销秒杀系统或者带有计数系统的库存系统,系统整体访问压力巨大,云原生内存数据库Tair可轻松承载读压力,提供数据持久化。

互联网类应用(缓存适配场景

图片7.png

网站类应用场景中,网站读写压力较大,且要求控制成本,云原生内存数据库Tair单节点版满足纯缓存场景,提供高QPS性能,数据持久化到底层RDS能力。

✍️上手案例

👻基于Redis实现在线游戏积分排行榜

排行榜功能在实际的开发场景中也十分常见,同时也进一步提高了用户体验,用户之间交互,充分展示用户排行信息等。在阿里云开发者中心训练营的学习中,有一个基于Redis实现在线游戏积分排行榜的实验,在这个实验中,小伙伴们可以充分体验到免费的云资源,同时也能进一步了解云数据库以及实现基于Redis实现在线游戏积分排行榜的开发,让小白也能体验在阿里云原生内存数据库Tair上基于Redis实现在线游戏积分排行榜的小案例,在操作的过程中,也能更清楚的了解到有关Redis和云数据库Tair的有关知识,值得小伙伴们去学习。

实验地址:基于Redis实现在线游戏积分排行榜

首先需要创建一个云服务器(ECS)实例,当然,也可以选择在本地开发,然后连接云数据库,两者操作大同小异,我是在阿里云实验室完成的,好处就是同时可以免费体验一个云服务器(ECS)和一个云数据库(Tair)。
图片8.png

选择在阿里云实验室进行实践操作,有公共资源体验、开通免费试用、个人账户资源三种实验资源方式。小伙伴们可自行选择,每种方式的差异都有相应的说明介绍,当然,假若已经购买云服务器和云数据库的小伙伴,也可以用自己的资源进行开发。

图片9.png

选择相应的实验资源,就可以开始创建实例啦。在实例创建过程中,因为是使用云服务器(ECS)访问Redis实例,所以要选择与ECS相同的VPC。云服务器(ECS)镜像类型选择公共镜像,版本可以选择CentOS 7或CentOS 8;规格的话选择基础一点的就可以了,因为也只是用来做测试体验开发,没必要配置的很高;密码选择自定义,实例名称也自己自定义就可以了。
未标题-1.png

配置完成后,就可以在控制台看到自己的实例
Snipaste_2023-07-10_12-17-52.png

完成云服务器(ECS)实例的创建之后,接下来就要购买创建云数据库Redis实例,在基础配置页面,参考下图配置Redis的基础配置,未提及的配置保持默认选项,然后单击立即购买
11.png

创建完成后,可返回云数据库redis控制台,切换到已开通实例的地域查看。
14.png

准备工作完成之后,就可以远程登录实例进行开发了。首先,我们要在云服务器(ECS)上搭建一个Java开发环境,包括OpenJDK 1.8和Maven 3.6.3,并配置阿里云镜像仓库。登录实例我选择的是在阿里云控制台点击远程连接,默认采用Workbench的方式连接到云服务器,当然,远程连接的方式不止这一种,小伙伴们也可以自行选择连接方式。
13.png

选择WorkBench远程连接方式连接服务器:

12.png

登录远程服务器实例:

15.png

出现这个界面时,表示连接成功,当然,如果小伙伴们选择其他远程连接方式。

16.png

接下来,我们就开始搭建开发环境了,首先需要安装OpenJDK 1.8。

yum -y install java-1.8.0-openjdk-devel.x86_64

完成OpenJDK 1.8安装后,接着下载Maven安装包。

wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz

然后将将下载的安装包解压到/usr/local/目录,并将安装目录重命名。

tar -zxvf apache-maven-3.8.8-bin.tar.gz -C /usr/local/ && mv /usr/local/apache-maven-3.8.8/ /usr/local/maven

将Maven的可执行文件目录加入到系统环境变量中,并使用source命令使/etc/profile文件中的内容立即生效。

echo "export PATH=$PATH:/usr/local/maven/bin" >> /etc/profile
source /etc/profile

打开镜像仓库配置文件,添加阿里云镜像仓库配置, 使用vim打开镜像仓库配置文件。

vim /usr/local/maven/conf/settings.xml

进入vim编辑器页面后输入:/mirrors并回车,搜索并跳转到<mirrors>标签的位置,按下n键跳转到第二个没有被注释的标签位置, 按下o键,另起一行进行编辑,粘贴以下内容。

<mirror>
       <id>nexus-aliyun</id>
       <mirrorOf>central</mirrorOf>
       <name>Nexus aliyun</name>
       <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

按下ECS退编辑模式,输入:wq保存并退出vim编辑器,添加阿里云镜像仓库配置如下图所示。

17.png

完成上述配置之后,就可以进入代码开发了,首先需要进入到工作空间

mkdir -p demo/src/main/java/test/ && cd demo

使用vim创建并编辑GameRankSample.java文件

vim src/main/java/test/GameRankSample.java

进入到vim编辑界面后,输入:set paste回车后,按下i键进入vim的粘贴插入模式,完成排行榜功能的编写

package test;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;
public class GameRankSample {
   
    static int TOTAL_SIZE = 20;
    public static void main(String[] args) 
    {
   
        //Redis数据库连接地址
        String host = "xxxxxxxxxx.m.cnhz1.kvstore.aliyuncs.com";
        //连接密码
        String password = "password";
        int port = 6379;
        Jedis jedis = new Jedis(host, port);
        try {
   
            String authString = jedis.auth(password);
            if (!authString.equals("OK"))
            {
   
                System.err.println("AUTH Failed: " + authString);
                return;
            }
            //Key(键)
            String key = "游戏名:奔跑吧,阿里!";
            //清除可能的已有数据
            jedis.del(key);
            //模拟生成若干个游戏玩家
            List<String> playerList = new ArrayList<String>();
            for (int i = 0; i < TOTAL_SIZE; ++i)
            {
   
                //随机生成每个玩家的ID
                playerList.add(UUID.randomUUID().toString());
            }
            System.out.println("输入所有玩家 ");
            //记录每个玩家的得分
            for (int i = 0; i < playerList.size(); i++)
            {
   
                //随机生成数字,模拟玩家的游戏得分
                int score = (int)(Math.random()*5000);
                String member = playerList.get(i);
                System.out.println("玩家ID:" + member + ", 玩家得分: " + score);
                //将玩家的ID和得分,都加到对应key的SortedSet中去
                jedis.zadd(key, score, member);
            }
            //输出打印全部玩家排行榜
            System.out.println();
            System.out.println("       "+key);
            System.out.println("       全部玩家排行榜                    ");
            //从对应key的SortedSet中获取已经排好序的玩家列表
            Set<Tuple> scoreList = jedis.zrevrangeWithScores(key, 0, -1);
            for (Tuple item : scoreList) {
     
                System.out.println("玩家ID:"+item.getElement()+", 玩家得分:"+Double.valueOf(item.getScore()).intValue());
            }  
            //输出打印Top5玩家排行榜
            System.out.println();
            System.out.println("       "+key);
            System.out.println("       Top 玩家");
            scoreList = jedis.zrevrangeWithScores(key, 0, 4);
            for (Tuple item : scoreList) {
     
                System.out.println("玩家ID:"+item.getElement()+", 玩家得分:"+Double.valueOf(item.getScore()).intValue());
            }
            //输出打印特定玩家列表
            System.out.println();
            System.out.println("         "+key);
            System.out.println("          积分在1000至2000的玩家");
            //从对应key的SortedSet中获取已经积分在1000至2000的玩家列表
            scoreList = jedis.zrangeByScoreWithScores(key, 1000, 2000);
            for (Tuple item : scoreList) {
     
                System.out.println("玩家ID:"+item.getElement()+", 玩家得分:"+Double.valueOf(item.getScore()).intValue());
            } 
        } catch (Exception e) {
   
            e.printStackTrace();
        }finally{
   
            jedis.quit();
            jedis.close();
        }
    }
}

添加完成后,按下ESC键退出粘贴插入模式,然后输入:set nopaste回车后,按下i键进入vim的普通插入模式,将代码中hostpassword参数的值替换为Redis内网地址Redis密码Redis密码为自己创建云数据库Redis时输入的密码。
在这里需要注意,首先需要在Redis实例控制台添加服务器的IP白名单,不过Redis实例在创建后默认IP白名单设置为0.0.0.0/0(代表允许所有地址访问)

完成上述操作后,按下ESC键退出编辑模式,进入命令模式输入命令:wq,保存并退出vim。

创建pom.xml配置文件,使用vim创建并编辑pom.xml文件。

vim pom.xml

按下i键进入vim的编辑模式,新增pom.xml文件内容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>test</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <!--jar入口类,格式Package.ClassName -->
                            <mainClass>test.GameRankSample</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>assembly</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

添加完成后,按下ESC键退出编辑模式,进入命令模式输入命令:wq,保存并退出vim。

最后,编写完代码后,打包并运行代码

mvn clean package assembly:single -DskipTests
java -classpath target/demo-0.0.1-SNAPSHOT.jar test.GameRankSample

代码执行效果:
20.png

📖参考资料

1.百度百科——云原生数据库

2.墨天轮百科——云原生数据库

3.阿里云原生内存数据库Tair产品文档

💻总结

以上就是我在阿里云开发者社区训练营所学习到的云数据库方面的知识,值得一提的是,对于新手或者小白来说,官方的产品文档和相关问题解答都很全面,学习起来也很轻松,上手实践操作也很方便。其次,通过这次学习,充分展示了redis的功能强大。可以基于redis丰富的数据结构完成很多现实场景下的业务功能的实现,同时也能提升小伙伴对于云原生相关技术的学习兴趣,希望通过这次的学习积累和总结,对大家有帮助,博主也是云原生小白,正在努力学习中!!!

🎨觉得不错的话记得点赞收藏呀!!🎨

😀别忘了给我关注~~😀

相关实践学习
通过workbench远程登录ECS,快速搭建Docker环境
本教程指导用户体验通过workbench远程登录ECS,完成搭建Docker环境的快速搭建,并使用Docker部署一个Nginx服务。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
10天前
|
关系型数据库 Apache 流计算
手把手教你实现 OceanBase 数据到阿里云数据库 SelectDB 内核版 Apache Doris 的便捷迁移|实用指南
本文介绍了如何将数据从 OceanBase 迁移到阿里云数据库 SelectDB 内核版 Apache Doris。提供 3 种数据同步方法 1. 使用 DataX,下载 DataX 并编写配置文件,通过 OceanBaseReader 和 DorisWriter 进行数据迁移。 2. 利用 Apache Doris 的 Catalog功 能,将 OceanBase 表映射到 Doris 并插入数据。 3. 通过Flink CDC,设置 OceanBase 环境,配置 Flink 连接器,实现实时数据同步。
手把手教你实现 OceanBase 数据到阿里云数据库 SelectDB 内核版 Apache Doris 的便捷迁移|实用指南
|
9天前
|
Cloud Native Serverless 开发者
阿里云助力开发者创新:探索云原生技术的新境界
阿里云开发者社区推动云原生技术发展,提供丰富产品(如容器服务、Serverless、微服务架构、服务网格)与学习平台,助力企业数字化转型。开发者在此探索实践,共享资源,参与技术活动,共同创新,共创云原生技术新篇章。一起加入,开启精彩旅程!
108 2
|
4天前
|
Cloud Native 关系型数据库 OLAP
云原生数据仓库产品使用合集之阿里云云原生数据仓库AnalyticDB PostgreSQL版的重分布时间主要取决的是什么
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
3天前
|
存储 SQL Apache
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
|
3天前
|
存储 Cloud Native 大数据
国内独家|阿里云瑶池发布ClickHouse企业版:云原生Serverless新体验
全面升级为云原生架构,支持云原生按需弹性Serverless能力,解决了长期困扰用户的集群扩展效率和平滑性问题。
国内独家|阿里云瑶池发布ClickHouse企业版:云原生Serverless新体验
|
3天前
|
弹性计算 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
15 0
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
|
4天前
|
安全 数据管理 数据库
数据管理DMS操作报错合集之阿里云DMS控制台上展示出了已经删除的数据库信息,如何解决
数据管理DMS(Data Management Service)是阿里云提供的数据库管理和运维服务,它支持多种数据库类型,包括RDS、PolarDB、MongoDB等。在使用DMS进行数据库操作时,可能会遇到各种报错情况。以下是一些常见的DMS操作报错及其可能的原因与解决措施的合集。
|
8天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
8天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
8天前
|
运维 容灾 关系型数据库
阿里云关系型数据库RDS
阿里云关系型数据库RDS概述
20 2