1
概要
1.1
目的
本规范简要说明了Oracle 12C Inmemory和Multitenant的使用范围及功能介绍。
1.2
范围
本文档适用于Oracle 12C数据库。
2 In Memory
2.1
基本介绍
In-Memory
列存储组件,为12c中SGA的可选组件。可以用来存储表、表分区、以及其他数据库对象的副本。启用该选项,我们可以在SGA中按列存储某些对象,而不是原来的按行存储。
In-Memory
列存储是SGA中的一个新的静态池(static pool)。所谓静态,也就是说里面的对象需要我们dba手工管理。在该池中,数据都是按列存储,而原来sga的db buffer cache中,数据依然还是按行存储。这样,整个内存,就可以同时提供数据的按行和按列存储。要启用该选项,INMEMORY_SIZE参数,需要设置为非零值。当然,不能小于100M,否则,就会报错。
2.2
适合
IMO
的操作类型
查询需要返回大量行并且筛选使用=,,和IN过滤条件的
查询一个多列对象中的少数几列
小表与大表关联查询
聚合查询
需要注意的一个点:一般情况下,复合索引可以用来提升某些分析或者报表查询的性能。但是,当数据为按列存储时,这些索引,基本就不需要了。
2.3
不适合
IMO
的操作类型
具有复杂谓词的查询
需要返回大量列的查询
返回大量行的查询
具有多个大表连接的查
3
多租户架构
3.1
基本介绍
Oracle
新的多租户架构(Multitenant)为云而设计,它带来的新架构可以简化整合并提供基于模式的高密度的整合,然而却无需更改现有应用程序。它可带来将多个数据库作为一个管理的所有好处,同时还能保持不同数据库的相互隔离和资源控制。在这个架构中,单个容器数据库可以托管多个“可插拔”数据库。对于应用程序而言,每个整合或“插入”到多租户容器中的数据库感觉就和以前版本的Oracle数据库一样。对可插拔数据库的访问与对现有Oracle数据库的访问一样,并且DBA可以控制所有整合数据库使用资源的优先级。
3.2
适合使用多租户环境
1.
数据库为一般辅助数据库(建议1T以内的库)
2.
数据库对资源的响应时间具有相对容忍度(允许短时间中断)
3.
数据库为低资源消耗型业务(访问量、负载较低、并发量不大)
4.
数据库无完善备份策略
5.
数据库无完善的容灾策略
8.
快速部署迁移数据库
9.
主机资源利用率低的数据库(CPU低于30%、IO 低于30%)
10.
无法有效限制资源的整合库
11.
需要集中化管理的库
12.
同类业务系统整合