五年磨一剑 Oracle 12c多租户架构为云而生

DOIT软件与服务频道原创 要在公有云或者私有云上提供数据库服务,我们有许多方法。例如将虚拟机切成小片,但缺点是系统开销非常大,并且这些小块的性能比原先的整体有不小的损耗。那么是否有专为云计算而生的数据库解决方案呢?Oracle数据库12c正朝着这个方向而来。

Oracle数据库12c相较之于前一个版本11g的发布,经历了5年多的时间,其采用多租户管理的理念,通过可插拔式的结构实现数据库集群结构管理,是新版本最颠覆式的创新。

图 甲骨文公司副总裁及大中华区技术总经理喻思成

在这之前,每一个数据库都需要配有一个独享的后台进程和数据库文件,在这种情况下,即使服务器的计算能力再高,也终有一天会被耗尽。Oracle数据库12c的做法是把数据库本身和数据库后台隔离开来,把所有的进程和内存都统一到一起,将数据库变成多租户架构,可以轻松进行插拔,使系统资源开销大大减少。如果仅从系统的开销上做一个简单的测试,在使用传统的数据库的方式之下,可能50个数据库之后,系统资源就耗尽,而如果是使用多租户,就同时可以为250个数据库提供服务,仅系统资源的减少就达到6倍之多。同时,多个数据库之间完全隔离,可以直接打包和插拔,并能对不同数据库设定优先级,这将十分便利于管理员对其在云中进行管理。

Oracle数据库12c第二个最重要的功能是自动的数据优化。通过对段和块的热图跟踪,可以针对不同分区的数据访问情况对数据进行压缩或分层。如果一个分区30天没有变化,就对这个分区进行行压缩;如果该分区180天没有变化,就对分区进行列压。行压和列压的压缩的比例是有差别的,这就区分了对哪些数字可以束之高阁,对哪些数字触手可及。

在安全性方面,Oracle Database 12c也推出了很多创新方案。例如最新的运行时间优先分析功能,使企业能够确定实际使用的权限和角色,帮助企业撤销不必要的权限,同时充分执行必须权限。

在灾备方面,12c可以实现多个应用一次备份,也可以对每一个数据库单独备份,每一个数据库得到的数据和备份都是完全分开的,但是进程只有一个,每一个前端应用得到的数据库服务是完整却单独存在的,由一个集群为它提供安全的管理。

在迁移方面,无论是在甲骨文新旧版本之间,还是在和第三方之间的迁移都十分简单。对于第三方的数据库的迁移,可以通过SQL Developer抽取DDL,再导入到12c。

甲骨文公司副总裁及大中华区技术总经理喻思成告诉我们:“在12c发布的同时,甲骨文也发布了ERP等软件。12c意味着整个版本的重大升级,所有小的产品也在同步发布。Oracle的整个产品家族都遵循着最主要的几个趋势:第一个是集群,第二是大数据。”