原文作者:Paul Namuag
原文出处:https://severalnines.com/database-blog/overview-new-dbaas-mariadb-skysql
MariaDB最近推出了其新的DBaaS产品——SkySQL。这也许令一些人感到意外,但这是MariaDB的预期举措,因为他们在几年前一直在积极推动最先进的企业服务产品,并一直在积极与大型市场供应商竞争。
在SkySQL发布之前,MariaDB早在2018年就一直在开发容器和头盔图表。SkySQL在设置和启动数据库实例时为多个区域提供数据库可用性。
什么是MariaDB SkySQL?
MariaDB SkySQL是一款DBaaS产品,这意味着它是一项完全托管的数据库服务,并使用Google Cloud Platform(GCP)通过云服务进行管理。请注意,MariaDB提供的数据库不是社区版本。实际上,它是与MariaDB ColumnStore一起使用的MariaDB Enterprise Server(或两者兼而有之)。
与Amazon RDS或Microsoft Azure数据库的MariaDB服务相比,使用此产品的好处是版本控制(SkySQL确保用户使用的是最新产品),并具有分析和事务支持。
与DBaaS集成的是配置管理器,可通过实时指标和图形进行监视,以及工作负载分析,可显示其机器学习服务,该服务可识别工作负载模式的变化,从而实现主动的资源扩展和服务一致性。对于更热衷于MariaDB企业产品的用户来说,使用MariaDB SkySQL是一个诱人的选择。
MariaDB SkySQL的功能
MariaDB SkySQL拥有自己的MariaDB平台的强大功能,可以将交易(OLTP的通用设置),分析或数据仓库(OLAP)的不同类型的数据库类型组合在一起,或者进行混合设置(交易和分析数据库的组合)。 以下内容为您提供了这些特色数据库服务平台的简单定义:
交易
针对持久性块存储上的快速事务处理进行了优化——配置了读/写拆分和自动故障转移功能,并且开箱即用地启用了透明负载均衡和高可用性。
分析
经过优化,可在不使用索引的数十亿行上运行即席查询,将低成本对象存储上的列数据与多线程查询处理相结合,非常适合云数据仓库/分析。
混合或两者兼而有之
针对云中的智能事务处理进行了优化,既可以将数据存储为持久性块存储中的行,又可以将其存储为对象存储中的列,从而通过利用实时分析丰富事务来创建现代应用程序。
注册并启动数据库实例后,MariaDB SkySQL还具备其世界一流的支持,该支持已包含在定价中(标准支持)。如果您处于企业级设置,还可以考虑其他选项。您可以选择加入企业和白金级支持。
除了这些功能之外,它们还提供监视功能,用于检查数据库服务的状态和常规运行状况。尽管在撰写本文时,它当前处于“技术预览”中,但是您已经可以使用该服务并收集度量标准,以更精细和实时地检查数据库实例。
可用性堆栈
该SkySQL平台具有服务可靠性的体系结构,可为客户和消费者提供世界一流的服务。无论平台有多稳定,都必须始终出现故障,以便确定产品的弹性以及万一发生故障时可以提供多快的可用速度,还可以降低RPO(恢复点目标)。
对于基础架构,他们使用Google Cloud Platform(GCP),并且服务严重依赖于Google Kubernetes引擎(GKE)(GCP的组成部分)。由于MariaDB SkySQL的服务在由Kubernetes支持的容器中运行,因此这对于平台本身来说意味着很多。它具有提供区域GKE集群的弹性的能力,该集群包括一个区域内的多个可用区。它从Kubernetes获得了自动修复功能,还获得了GCP的高SLA升级(正常运行时间为99.5%)。
虽然它依赖于GKE,但这意味着它从能够重新启动发生故障的容器中继承了Kubernetes的本质,从而对不健康的容器进行了防护,如果检测到失败的容器将被自动杀死。死容器也将自动更换,并在后台发生,从客户的角度肉眼看不见。
为主/副本设置(即交易服务数据库设置)实现了多区域。它在复制副本所在区域的单独区域中配置复制主副本。
MaxScale在处理自动故障转移时涵盖事务类型环境(主/副本)(例如OLTP或事务服务),该事务处于最高位置——涵盖事务和混合服务。 MaxScale监视并检查主数据库和副本数据库的状态。如果失败,则MaxScale会完成升级最新副本并将其作为新主副本的工作。然后更新其余副本,指向新的主副本。事务和混合服务都涵盖了MaxScale实例的自我修复。这意味着,如果MaxScale实例失败,则根据问题的状态重新启动或替换它。
所有类型的MariaDB SkySQL服务都具有自我修复功能,因此始终具有很高的可用性。这意味着如果某个特定实例发生故障(无论是MariaDB Enterprise Server实例,MaxScale实例还是Kubernetes实例),它总是会适应Kubernetes所做的弹性。
使用MariaDB SkySQL
您要做的就是通过其SkySQL主页进行注册。如果您已经有一个帐户,则可以登录。它要求您必须设置诸如信用卡/借记卡之类的付款方式,但是您可以与他们联系以获取更多有关于此的信息。
启动服务后,可以选择三个选项。见下图:

我已经测试了平台并设置了交易服务。这意味着在执行此操作之前,我已经设置了一种计费或付款方式。
设置时,您可以选择要部署服务的区域。它还概述了要选择的实例类型的成本。见下图:

并指定副本数及其事务存储大小,最后指定服务名称,如下图所示:

由于它是使用GCP在云中运行的,因此它实际上是在使用Google云端提供的资源,例如块存储及其性能。
启动数据库服务可能需要一些时间才能使用。最后,我花了大约10分钟的时间,所以您可能需要先休息一下来杯咖啡,等服务开始投入生产后再回来。一旦启动,这就是您的仪表板中的样子:

单击新启动的服务将显示更多选项来管理数据库。它整体简单,非常直接,没有花哨的UI。

您需要做的就是指定访问或连接数据库服务器所需的IP地址类型。单击显示凭据按钮将为您提供有关用户名,密码的信息,下载证书颁发机构链,并为您提供连接和更改密码的信息。

顺便说一句,上面的信息已经被废弃并删除了,因此公开它不会带来安全问题。
基本上,我可以对此进行测试,并且已经提供了必须列入白名单的IP地址。因此,通过客户端进行连接可以显示您通过TLS/SSL层进行通道连接的安全性更高:
1[vagrant@ansnode1 ~]$ mysql --host sky0001841.mdb0001721.db.skysql.net --port 5001 --user DB00002448 -p --ssl-ca ~/skysql_chain.pem
2
3Enter password:
4
5Welcome to the MySQL monitor. Commands end with ; or \g.
6
7Your MySQL connection id is 32
8
9Server version: 5.5.5-10.4.12-6-MariaDB-enterprise-log MariaDB Enterprise Server
10
11
12
13Copyright (c) 2009-2020 Percona LLC and/or its affiliates
14
15Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
16
17
18
19Oracle is a registered trademark of Oracle Corporation and/or its
20
21affiliates. Other names may be trademarks of their respective
22
23owners.
24
25
26
27Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
28
29
30
31mysql> select @@hostname;
32
33+-------------------+
34
35| @@hostname |
36
37+-------------------+
38
39| paultest-mdb-ms-0 |
40
41+-------------------+
42
431 row in set (0.25 sec)
44
45
46
47mysql> show schemas;
48
49+--------------------+
50
51| Database |
52
53+--------------------+
54
55| information_schema |
56
57| mysql |
58
59| performance_schema |
60
61+--------------------+
62
633 rows in set (0.25 sec)
64
65
66
67mysql> \s
68
69--------------
70
71mysql Ver 14.14 Distrib 5.6.48-88.0, for Linux (x86_64) using 6.2
72
73
74
75Connection id: 32
76
77Current database:
78
79Current user: DB00002448@10.100.0.162
80
81SSL: Cipher in use is ECDHE-RSA-AES128-GCM-SHA256
82
83Current pager: stdout
84
85Using outfile: ''
86
87Using delimiter: ;
88
89Server version: 5.5.5-10.4.12-6-MariaDB-enterprise-log MariaDB Enterprise Server
90
91Protocol version: 10
92
93Connection: sky0001841.mdb0001721.db.skysql.net via TCP/IP
94
95Server characterset: utf8mb4
96
97Db characterset: utf8mb4
98
99Client characterset: utf8
100
101Conn. characterset: utf8
102
103TCP port: 5001
104
105Uptime: 10 min 17 sec
106
107
108
109Threads: 12 Questions: 2108 Slow queries: 715 Opens: 26 Flush tables: 1 Open tables: 20 Queries per second avg: 3.416
110
111--------------
配置管理器
MariaDB SkySQL还配备了一个配置管理器,允许您进行更改,对自己的配置更新进行版本控制或克隆现有配置,然后将其应用于MariaDB SkySQL帐户中的许多服务。它以某种方式与我们的配置文件管理共享一些处理配置的方法,例如:

并为您提供以下操作:

仍可查看以前的配置版本,这在管理数据库和配置更改管理时增加了更多便利。
工作负载分析与监控
在撰写本文时,这两个功能当前都在Tech Preview中。但是,工作负载分析尚未准备就绪,但“监视”已经显示了从数据库实例收集的数据。下面是一个示例:

实际上,它使用Grafana来显示指标和图形。它提供了其他视图供您查看,以便您可以调查数据库、查询、日志和系统的运行状况。见下图:

您可以在此处检查工作负载分析以了解其工作方式。
结论
尽管MariaDB SkySQL是一项全新的服务,但是您可以期望此服务的改进很快就会到来。这是MariaDB的一个重大举措,因为用户不仅限于其社区可用的平台,而且现在可以以合理的价格使用企业级别。




