• 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;

    (more…)

  • 上周在纽约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。下面是我整理的一些关键点,或者说我关注的点吧。 (more…)

  • 学习的误区

    小时候,就被一直教育,要独立完成所有的寒假作业。不能有任何的“参考”,这个参考定义非常广,甚至查阅资料、字典、与同学讨论等等都算是抄袭。

    这就留下有一类永远都做不完的作业。例如,那时候作业有一类是填写歇后语,有一题是“猪八戒照镜子–”填写后面的内容。以现在的生活经验,这道题目当然简单,但对一个初中生,在不允许任何“参考”,所以知道坐在那里瞎想,现在想想,也是醉了。

    优点,我的数学训练比较好,所以初高中数学成绩都算不错,只是没有天赋,只能算是不错。

    生活的复杂和人类社会这么多的积累,单单靠这样的”空明的思考”之于很多知识的学习是非常不适合的。学习的正确方法,应该是先学习当前的人类已经掌握的知识,然后再去尝试探索边界,有时候完全独立的思考的目的并不是想出什么新想法,而更多的时候一种思维的锻炼。

    文科则通常更加辩证,没有简单的对错,也没有简单的唯一的答案,可以更有创造力一些。

  • 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是介于开源、闭源之间的。 (more…)

  • AWS re:Invent已经过去一个多月了,现在才来写这篇文章,虽然有些后知后觉,但比不知不觉应该还是要好一点。

    AWS是云行业的“领导者”,re:Invent是AWS每年最重要的会议,会介绍当前和未来一段时间的新产品发布,内容也很具启发性。这篇文章,主要关注Andy Jassy的Keynote中数据库部分的内容。

    开篇就怼Oracle

    以前都是Larry在OOW上怼其他公司的,这次AWS怼Larry,怼得非常直白,连漫画都用上了。这也算是今年数据库领域非常有趣的一件事情了(之前OOW上,Larry怼了AWS,说上面的Oracle授权相比Oracle的云贵太多)。

    Andy Jassy开篇就怼了Oracle。逻辑很清晰,Keynote中数据库部分主题叫“Freedom”也是有意安排。

    Andy认为在过去二十年,数据库领域并不自由。在现场,他先引用了George Michael的歌曲“Freedom”,表达Builder(可以理解成使用云的工程师们)们对自由的诉求:

    All we have to see is that i dont belong to you and you dont belong to me Freedom! Freedom! Freedom! You’ve gotta give for what you take

    那数据库领域为什么说不自由呢?在数据库领域,过去20年,对很多公司来说,非常痛苦,因为他们不得不使用某些数据库,而这这个数据库厂商似乎并不太在乎他们的客户。在今年早些时候,Oracle一夜之间把运行在AWS和Microsoft环境的软件授权费用增加了一倍。在Andy的描述中,Oracle不在乎他们的客户,唯一在乎的只是财报。在这个环境下,现在大量的客户开始尽快的转移到一些开源的引擎,比如MySQL、PostgreSQL、MariaDB等等。但是,想从这些开放的引擎上获得商业数据库的性能,虽然有可能,但非常困难,需要做大量的尝试和调优等工作。Andy还放出了一个很有趣的,也将非常经典的漫画:

    (more…)
  • 这是一个PPT,是我在12月20日北京云栖大会上做的分享,介绍了云上企业数据库常见的挑战和对应的策略和产品。

    云上企业数据库最佳实践-周振兴-北京

    云栖社区也有一篇相关的介绍文章可以阅读:一篇文章读懂阿里云企业级数据库最佳实践