什么是云原生数据库
云原生数据库指的是从设计之初便是为了在云环境中使用的数据库。 云原生数据库充分利用云技术,使得数据库的优势体现在资源池化和资源解耦上,不仅解决了传统数据库所存在的难扩展、难维护等问题,还为数据库的未来发展提供了更多解决方案。此篇文章阐述云原生数据库Aurora两大特性为何成为出海企业“神器”。
什么是 Aurora
Aurora 是 AWS 推出的 OLTP 云数据库先驱,在 MySQL 代码基础上改造出存储计算分离架构。由AWS完全托管的关系数据库引擎,与 MySQL和PostgreSQL兼容
Aurora核心特点:存储计算分离架构
Aurora 下推到存储的主要功能主要和 redo 相关,包括:日志回放、故障恢复和备份还原。技术层保留了查询处理、事务处理、缓存管理、锁管理、访问控制等大部分功能。
Aurora 的整体由跨 AZ 的一个主实例、多个副本(最多15个)实例及多个存储节点组成。主实例与只读实例/存储节点之间只传递 redo log 和元信息。主实例与副本实例共享一套分布式存储,因此增加副本实例是零存储成本的,这大大提高了 Aurora 的读扩展性。
主实例会异步向副本实例发送 redo log,副本实例收到后开始回放。如果日志对应的 page 不在 本地的 page cache,该 redo log 可以直接丢弃,因为存储节点拥有所有的 page 及 redo log,有需要时直接从存储节点请求即可。
存储节点收到 redo log 后会持久化,而回放日志和回收旧版本数据页的工作,可以一直异步在后台执行。存储节点可以较为灵活地分配资源做前台/后台的工作。同时相较