写点什么

GaussDB 云数据库初步使用记录

作者:DS小龙哥
  • 2022 年 7 月 12 日
  • 本文字数:2372 字

    阅读完需:约 8 分钟

1. 前言

数据库好比人的大脑的记忆系统,没有了数据库就没有了记忆系统,计算机也就不会如此迅速的发展。


几乎所有的应用软件的后台都需要数据库;数据库比较方便管理数据,存储比较安全,容易维护和升级,移植比较方便。一个稳定、高性能的数据库对一个软件、系统是非常重要的。


这篇文章介绍华为云的GaussDB(for Redis)数据库使用体验流程,利用 GaussDB 数据库完成数据存储,读写,性能测试。GaussDB(for Redis)是华为自研的计算存储分离架构,完全兼容 Redis 生态的云原生分布式架构数据库,具有高兼容、高性价比、高可靠、弹性伸缩、高可用、无损扩容等特点。这里提到的 Redis 是比较著名的非关系型数据库,主要是利用内存读写数据来提供高系统性能的缓存数据库,Redis 是一个开源的使用 ANSIC 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。


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


与自建开源 Redis 数据库相比,GaussDB(for Redis)在产品架构、成本、容量、安全性、可靠性、故障恢复、运维等方面具有很大的优势。使用 GaussDB(for Redis)可以轻松上线业务。


GaussDB(for Redis)产品架构图



开源 Redis 架构图


2. 购买数据库

初次使用 GaussDB,想体验一下数据库的性能,效果。华为云提供了产品体验专区,可以免费领取一个月的数据库使用权,这一点还是非常的不错的。免费试用的产品 50+,很多产品都可以免费试用,有足够的时间验证产品性能后再决定是购买,是否选择作为公司产品的一部分。


官网地址: https://www.huaweicloud.com/


(1)登录官网之后看到下面有免费试用的选项按钮,点击进去可以看到多款试用产品。



(2)进去之后页面向下翻页,找到GaussDB(for Redis),点击开枪。



(3)根据引导流程,点击立即购买。



(4)设置管理员密码,后续登录数据需要用到。






(5)接下来在华为云首页,点击右上角的控制台。



(6)选择 GaussDB 数据库进入。



(7)根据自己买的数据库位置,选择位置。



(8)到此,数据库创建已经完成。



3. 连接数据库(网页上直接连接)

(1)在控制台页面上点击连接Redis



(2)密码输入正确后点击登录即可。



(3)登录之后就可以在界面上输入命令执行了。接下来就可以正常使用数据库了。



(4)下面简单测试一下数据库的使用


下面实例中使用了 Redis 的 SET 和 GET 命令,键为 name,对应的值为DS小龙哥


【1】执行命令添加数据。



【2】执行命令获取数据。



(4)如果数据库要外网访问,需要绑定公网 IP 才可以。绑定公网 IP 之后,就可以使用客户端、自己的应用程序登录了。




点击绑定弹性 IP。





(5)安全组设置


绑定弹性 IP 后,建议使用 SSL 方式连接数据库,并在安全组中设置严格的出入规则,以加强数据库安全性。


内网安全组:



连接实例拓扑图:


4. GaussDB(for Redis) 数据库基本使用

Redis 支持的数据类型:string、hash、list、set、zset。

4.1 字符串(String)

string 是 redis 最基本的类型,一个 key 对应一个 value。


string 类型是二进制, redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。


string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。


执行:


SET STM32 "这是意法半导体基于ARM公司Cortex-M3推出的32位ARM单片机"GET STM32
复制代码


在上面例子中使用了 Redis 的 SET 和 GET 命令,键为 STM32。


4.2 List(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边)。


执行命令:


DEL iot_devlpush iot_dev DHT11lpush iot_dev DS18B20lpush iot_dev LEDlpush iot_dev KEYlpush iot_dev MQ2lpush iot_dev MQ5lrange iot_dev 0 10
复制代码


4.3 Set(集合)

Redis 的 Set 是 String 类型的无序集合,集合成员是唯一的,这就意味着集合中不能出现重复的数据,集合对象的编码可以是 intset 或者 hashtable。


执行命令:


SADD database 'mysql'SADD database 'sqlite'SADD database 'redis'SADD database 'redis'SADD database 'sqlite'SADD database 'mysql'SMEMBERS database
复制代码


运行实例:


5. 总结

GaussDB(for Redis)是一款基于计算存储分离架构,兼容 Redis 生态的云原生 NoSQL 数据库。GaussDB(for Redis)突破了开源 Redis 的内存限制,通过将数据进行冷热分离,在保证热数据驻留计算节点内存满足业务低时延要求的同时,将冷数据置换入分布式存储池进行持久化存储,最大程度的降低使用成本。


GaussDB(for Redis)具有高兼容、高性价比、高可靠、弹性伸缩、高可用、冷热分离等特点。


高兼容


用户应用无需修改代码,可直接使用,100%兼容原生 Redis 接口。


高性价比


【1】GaussDB(for Redis)基于共享存储,在提供足够性能的前提下,大幅度降低海量数据使用 Redis 的成本。


【2】GaussDB(for Redis)将数据全部存储在磁盘中,并实现了冷热分离,解决了缓存(cache)与数据库(database,DB)之间交互访问的问题,提高了程序可读性与程序运行效率。


高可靠


【1】GaussDB(for Redis)基于共享存储池的多副本强一致机制,保证数据的安全可靠。


【2】计算节点无状态,故障节点自动接管。


【3】存储池支持跨 AZ 部署。


无损弹性伸缩


【1】RocksDB 深度定制,秒级分裂弹性扩容。


【2】扩缩容无需搬迁数据,快速而平滑。


【3】通过 proxy 代理,使上层业务可以不感知内核处理扩缩容过程中的数据迁移。


高可用


【1】计算节点无状态,故障节点自动接管。


【2】存储池支持跨 AZ 部署。


冷热分离


【1】热数据常驻内存,冷数据全量持久化存储,替代 Redis+MySQL 的冷热分离架构。


【2】实现冷热数据的自动交换,用户无需人工交换数据,代码开发更简洁。

发布于: 刚刚阅读数: 3
用户头像

DS小龙哥

关注

之所以觉得累,是因为说的比做的多。 2022.01.06 加入

熟悉C/C++、51单片机、STM32、Linux应用开发、Linux驱动开发、音视频开发、QT开发. 目前已经完成的项目涉及音视频、物联网、智能家居、工业控制领域

评论

发布
暂无评论
GaussDB云数据库初步使用记录_7月月更_DS小龙哥_InfoQ写作社区