其他
走向DevOps:云时代数据库开发硅谷调研总结作为一个数据库内核老兵,一直欠缺从应用开发和DBA/DevOps的视角,尤其是经过云时代的革命之后,在现实世界中如何使用数据库的经验?好奇心驱动笔者在过去两个月,拜访了一些在硅谷的高科技公司,今天将这个第一手的不全面的小结分享给大家。数据库是任何业务最关键核心的组建,尤其是传统型事务数据库OLTP。以最简单的架构为例,用户数据比如账号管理在MySQL/PG中存储;后台通过Java的应用程序来交换访问处理数据;前台通过客户端,如手机端或者是网页端来跟最终的用户交互。在介绍本次调研中,笔者将会把调研对象的软件和组织架构对照这个例子简化。一、挑战:Stateless业务应用开发与stateful数据库的稳定态在这个过程中数据库是stateful的状态机,从一个稳定态向下一个稳定态转变。传统前云(pre-cloud)阶段,数据库的变化主要指它的schema(数据库对象,比如表格,索引)演进和用户数据本身的变化(在上面的例子中就是个人账户的余额);云时代引入第三个变量:资源管理。显而易见,用户数据的变化大部分是通过java的应用程序来完成的;schema演进即可通过应用程序,常常是拥有特殊权限的管理员(为方便理解,本文还是采用传统方式,称他们为DBA或系统管理员admin);资源管理,很多是管理员手工操作,越来越多地转向IaC(Infra