自从今年OOW上Oracle宣布要推出18c,一直受到比较多的关注。那么Oracle 18c对于广大的DBA意味着什么呢,在我看来,18c不是普通的Oracle再次推出的一个新版本而已,而是真正意义上的一个全新的开始。
我接触Oracle云上数据库已经好几年了,刚开始的时候,云计算还没有那么流行,而且更像是一个整体的大方向的概念。我那时候以为云计算的出现本身是为了服务于本地数据库系统的, 其技术只是说将本地的数据库技术迁移到云上,将本地的数据库运行在多个服务器上,通过不同的软件管理,拥有更丰富的资源(比如CPU,内存等),而这些内容都可以通过EM工具来管理,就像在本地运维一样,当时市场上也还没有比较成熟的公有云的方案,我们对于云的理解大概只有按需付费,根据实际使用情况扣款等。
经过这些年的发展,云技术越来越成熟,并且所带来的意义也越来越清晰,同时公有云方案的提出也让我们更明确地知道数据库上云到底意味着什么,当然,公有云也是在不断发展和进步的,最开始的时候甚至不能选择自己的字符集,云端的操作也比现在复杂许多。
我们来简单回顾一下Oracle 数据库云服务在这些年的变化和演进:
1、 Oracle 数据库云服务
2、Oracle裸机云数据库服务
3、Oracle数据库一体机云服务
4、Oracle数据库一体机
5、Oracle数据库快速云服务
以上这些都是在18c之前就提出来的新的服务,并不包括在18c的新特性了里面。
简单来说,Oracle数据库一直在不断进步着,在它的web接口上、价格模型等各个方面都在不断优化。在最近几个月,Oracle宣布数据库可以实现自动建模,这标志着Oracle的云产品已经走向成熟。
除了技术本身的成熟,我们可能更关心的是它与用户,与真实环境如何交互来实现这些功能,一个真正能满足用户和企业需求的产品,才能称为一个好产品,而不是仅仅在功能上很强大。接下来我们就谈一谈Oracle 18c的自治数据库服务组件。我认为谈18c的新特性就离不开Oracle云服务的前世今生。
跟所有Oracle数据库的其他版本一样,18c也具有非常多的新特性,同样的这些新特性可能适用于某些企业的环境或需求,而对于其他用户就没有太大的用处,有一小部分的用户可能对基于Exadata环境的18c自治数据库比较感兴趣。对于这些首次尝试的用户来说,可能最关注的问题是自治数据库将带来的IT系统架构的优化,而不是纠结于价格。
Oracle18c 即将在2018年推出,因此,在此我们简单了解一下Oracle 18c 的新特性。
下图展示了Oracle数据库的版本变化。
从图上可以看出,Oracle 19c版本将会提供很长时间的扩展服务支持。(以上这些版本的信息和相关计划一般可以通过MOS文档查询出来,文档号:742060)
同时我们看到Oracle 12c官方将一直提供服务直到2025年,而 Oracle 18c将于2017年年底推出。18c自治数据库的推车让很多DBA都为将来的职业规划产生了担忧。
推荐阅读:深入解读Oracle 18c对于DBA的影响及应对措施
今天分享的新特性主要包含:
1、性能方面的新特性
当前的技术包括:
- IM列存储;
- 软件存储于芯片当中;
- 工程系统
18c中的性能技术:
- 低延迟的内存事务:对于流摄取技术,能提升2倍的吞吐量;对于低延迟的主键检索,则提升4倍的吞吐量。
- 非易失性内存支持:多层次的数据库缓存
- IM列存储的增强: 性能的提升;列对象的自动填充
访问OLTP工作负载的内存优化:
- 超快速的基于主键的查找:
- 使用新的无锁内存散列索引
- 只需为读数据声明表MEMOPTIMIZE属性
- 新的低延迟客户端协议,可直接访问数据引擎
在性能上带来的提升:对于基于主键的检索,吞吐量增加 了4倍;响应时间降低了50%。
在访问IoT 负载时的内存优化:
新的流摄取:
- 为数据写入做表的MEMOPTIMIZE声明
- 客户端执行低延迟写入内存缓冲区
- Buffer中的数据在后台批量写盘
- 服务器处理大批量的延迟写之后,insert操作的吞吐量非常高
性能上的提升:
- 比常规快两倍的吞吐量
- 在2插槽服务器上每秒21M插入
2、多租户的新特性
现有的技术实现:
- 通过容器进行对数据库的虚拟化管理,
- 将多个数据库作为一个整体进行管理:打补丁、备份、安全、在线克隆、在线迁移等
- 软件作为服务:共享元数据、数据透明化分布。
在Oracle18c中:
- 基于单个PDB 进行switchover
- 透明化备份
- 快照可在不同节点间传输
- 更便捷快速的升级
例如,基于PDB的switchover如下:
3、有关高可用的新特性
当前的技术实现:
- 综合HA和灾难恢复功能
- 真正的应用集群,ADG,恢复设备
- Oracle Golden Gate进行异构复制
- 使用Oracle数据库分片进行扩展和故障隔离
在Oracle18c中:
- 实现零影响的Grid组件的补丁集应用
- 分布式RAC:
- 在RAC中的实例之间逻辑分区数据
- 对于能识别分片的应用在对应的分片上单独执行,而对于不能识别分片的应用,分片的结构对于应用端是透明的
- 用户定义的分片
- 跨分片的查询支持增强
例如:基于分片的RAC实现的高性能架构如下:
将Shard分片添加到RAC实例
- 指定分片密钥的请求将被路由到逻辑上保存分片的RAC实例
- 提供亲和度更好的缓存利用率,减少实例间的阻塞
- 不指定分片键的请求仍然可以透明地工作
- 通过最小的应用程序更改提供分片数据库性能
- 只需将分片键添加到大多数性能密集型操作中
当前的技术:
- 深度安全(Security In-Depth):访问控制,加密,修复,掩蔽,审计,SQL防火墙
- 钥匙库
- Audit Vault数据库防火墙
- 安全评估工具
Oracle 18c:
- 与Active Directory集成
- 授权数据库通过Active Directory用户/组映射到数据库模式用户和角色
- 每个PDB密钥存储
- 无密码模式创建
- 没有默认密码
6、数据仓库与大数据新特性
今天的方案:
- 当今最先进的分析引擎
- 分区,压缩,SQL,分析视图,分析SQL,数据挖掘
- 使用大数据SQL轻松分析Hadoop中保存的数据
- 大数据设备
Oracle18c:
- 外部表的列式存储
- 将nologged数据自动传输到standby
- 更多机器学习算法
- 多态表函数
- 在线修改/合并分区表
- 近似查询改进