日志分类:MySQL

一直以来实现数据库的零数据丢失都是非常有挑战,尤其是跨可用区的场景下。很多核心系统为了实现这一点都投入了大量的智慧和金钱。Amazon RDS在文档都明确的写到,数据库在多AZ之间的数据是保持同步的(注:同步是指数据写入两边要同时写成功,即使一边不可用,已经提交的事务在另一边一定是成功的)。一直以来,我也很好奇Amazon RDS在哪个层面实现的同步复制。

这个问题原本也是没有太大疑问的,可以推测应该是通过EBS层面的块复制来下。依据有两方面,有一些公开的Amazon RDS一些架构图中可以看到有EBS复制的箭头说明。另外,还有一点,只有通过EBS的复制实现跨可用区数据一致性,才可能在RDS支持的多种数据库,如MySQL、SQL Server、Oracle等,上保持架构上一致。否则,不同数据库类型的高可用和复制架构可能相差很大。

但是,之前很长时间我还是有一个疑问,Amazon RDS复制到底是在数据库逻辑层实现的还是在EBS物理层实现的。

既然有上面的猜测,那为什么产生了这个疑问呢?是因为,在Aurora很多的对外介绍材料(包括论文、架构介绍的slide)中,会放一个MySQL架构来突出Aurora的架构优势。这个图一直让我误以为Amazon RDS使用了数据库的binlog的复制。在了解Aurora的时候大家经常会看到如下架构图作为反面案例(参考):[......]

Read more

体验MariaDB 10.3中的Oracle语法支持

2018-03-18 15:11  |  分类:MySQL,ORACLE

MariaDB 10.3发布已经有一段时间了,最近刚刚RC。里面提到了SQL_MODE新增了ORACLE选项,可以支持部分的PL/SQL语法,算是一个比较“新鲜”的更新,所以打算安装体验一下。

体验一下SQL_MODE="ORACLE"

简单体验一下,我们在Google上找到Oracle 9i文档中PL/SQL示例Sample 1. FOR Loop

Oracle中的示例文档中代码:

-- available online in file 'sample1' DECLARE x NUMBER := 100; BEGIN FOR i IN 1..10 LOOP IF MOD(i,2) = 0 THEN -- i is even INSERT INTO temp VALUES (i, x, 'i is even'); ELSE INSERT INTO temp VALUES (i, x, 'i is odd'); END IF; x := x + 100; END LOOP; COMMIT; END;

[......]

Read more

M|18 关于MariaDB 2018年的产品策略

2018-03-12 22:31  |  分类:MySQL,云计算

上周在纽约MariaDB年度用户大会(MariaDB User Conference,也简称M|18)上,CEO Michael Howard对MariaDB未来的产品策略做一个较为详细的阐述。MariaDB应该是除了官放MySQL之外最重要的MySQL分支。现在MariaDB在做版本10,这次大会上也发布了MariaDB 10.3.5(RC版)。近期官方MySQL也在快速的推进8.0版本(已经发布了RC版)的研发和发布。

Michael Howard分享的内容可以参考:MariaDB CEO takes aim at Oracle and launches new Labs。下面是我整理的一些关键点,或者说我关注的点吧。[......]

Read more

关于MaxScale2.1的BSL协议

2018-01-18 21:46  |  分类:MySQL

MaxScale是一个非常赞的MySQL Proxy产品,相比MySQL Route或者ProxySQL来看,也是非常有竞争力的。但是MaxScale有些特别,虽然是开放源代码的,但并不是一个“Open Source”的项目,他使用了特有的授权协议:BSL协议(全称:Business Source License)。那什么是BSL协议? 这里做个简单的说明,感兴趣的可以继续阅读文章后面的链接做延伸阅读。

BSL全称是Business Source License,最新版本是1.1(完整内容)。这里简单概括一下协议的主要内容:

1. BSL协议不是一个“Open Source”的协议,虽然你可以拿到源代码,使用这个软件,但是会受到限制的。比如MaxScale,在生产环境,如果后端超过3个实例,就必须购买商业授权。

2. BSL协议虽然不是一个开源协议,但是,使用BSL协议的软件在发布的最多4年后(也可以是更短的时间,可以在协议中定义),必须遵循GPLv2(或之后的GPL版本)协议分发。比如MaxScale2.1版本将在2019-07-01之后遵循GPL协议。

3. 对于非生产环境,BSL协议的软件可以不受限制的使用。

4. 所以,BSL协议虽然不是一个开源协议,但是使用BSL协议的软件,最终会变成开源软件。

5. BSL协议是MariaDB公司新定义的协议。需要注意,MariaDB依旧是GPL的,因为MySQL是GPL的,没人能够改变这个。

6. MariaDB公司遵循BSL的软件有:MaxScale、MariaDB ColumnStore Backup Restore Tool、MariaDB ColumnStore MaxScale CDC Data Adapter、MariaDB ColumnStore Kafka Data Adapter。

7. BSL协议应该是Monty等,经历了MySQL的被收购之后,关于开源软件和商业公司对抗的一个新的探索。可以看到BSL是介于开源、闭源之间的。[......]

Read more

Amazon RDS价格一瞥

2015-03-19 23:46  |  分类:MySQL,PostgreSQL,技术细节

本文尝试通过一些直观的数据和表格,来看看Amazon某个规格的RDS实例到底是什么价格以及如何计费。

亚马逊RDS计费分为两个主要的部分,一个是“实例费用”(CPU和内存),另一个是“存储费用”(磁盘容量和IOPS)。这两类资源的费用,又细分为单可用区和多可用区,另外,还可以选择“按小时计费”、又或者是“包年计费”的方式购买,这些对价格都有很大影响。本文分多个部分细致介绍了亚马逊如何计算一个RDS实例的价格。

“实例费用”

“基本规格”

基本规格根据CPU和内存使用来划分,Amazon RDS有如下基本规格:

Snip20150319_9[......]

Read more

MariaDB商标和版权

2014-11-2 22:41  |  分类:MySQL

10月20日,Monty专门撰文解释了MariaDB商标相关的协议,也解释了背后这么做的原因和历史。本文也顺便介绍了一下MariaDB的代码分发协议。

MariaDB商标讨论很早之前邮件组就有,例如:Jeremy Cole的邮件The MariaDB Foundation and MariaDB trademark?,Federico Razzoli的邮件trademarks,Mark Callaghan也关注过这个问题:Google search for "mariadb trademark"。因为一些原因,MariaDB商标归属一直都没有明确对外说明,这次算是敲定了。

MariaDB Corporation和MariaDB Foundation

先解释两个组织或公司:MariaDB Corporation和MariaDB Foundation。

MariaDB Corporation Ab(有时也叫MariaDB Corporation): 是一家商业公司(stock company),前身是SkySQL,是一家支持MariaDB,MySQL培训、咨询的商业公司,提供MariaDB Enterprise和MariaDB Enterprise Cluster等服务。

MariaDB Foundation: 致力于推广、保护、改进MariaDB的代码、社区、和相关生态系统。是一个非盈利组织,在特拉华州(delaware)注册。

虽说是两个独立的组织,其核心都是MariaDB。现在MariaDB Foundation临时董事(Directors)是如下四人:Rasmus Johansson (chair),Michael "Monty" Widenius,Jeremy Zawodny,Sergei Golubchik,除了Jeremy Zawodny是就职于Craigslist.com其他人都就职MariaDB Corporation Ab。[......]

Read more

Pages: 1 2 3 4 5 6 7 8 ... 13 14 15 Next