首页 技术 正文
技术 2022年11月10日
0 收藏 846 点赞 3,856 浏览 808 个字

链接:

http://wenku.it168.com/redian/hana/

1.传统磁盘数据库的基本访问模式。为了提高性能在产品和应用之间会加入缓存的内存区域。传统数据库性能瓶颈主要出现在一个是内存不够,一个IO读写效率太低。oracle 体系结构中,数据库实例的系统全局区SGA(System global area) 是核心的组成部分,它是一组共享的内存结构,里面存储了oracle数据库实例(instance)的数据和控制文件信息。SGA主要包括以下几部分:共享池,数据缓冲区,大型池,Java池,日志缓冲区。如果每次执行一个操作时,Oracle都必须从磁盘读取所有数据块并在改变它之后又必须把每一块写入磁盘,显然效率会非常低。数据缓冲区存放需要经常访问的数据,供所有用户使用。修改数据时,首先从数据文件中取出数据,存储在数据缓冲区中,修改/插入数据也存储在缓冲区中,commit或DBWR进程的其他条件引发时,数据被写入数据文件。而SGA的内存是极其有限的,所以SGA是影响Oracle数据库性能的重要因素.
HANA内存数据库与oracle数据库的性能比较HANA内存数据库与oracle数据库的性能比较HANA内存数据库与oracle数据库的性能比较

而SAP HAN内存数据库,拥有大量的内存,在数据库启动过程中把数据从磁盘上加载到内存中,而对数据进行操作也是数据是先不存储到磁盘上(Disk)(数据操作会有相应的日志保存),存储在内存中,MVCC:(Multi Version Concurrency Control)用来控制内存数据的一致性,而后台savepoint定时的把内存中数据的修改从内存中写入磁盘。内存数据库并不是实时的把数据更新到磁盘上,这样就减少很多磁盘的IO操作,而数据有加载到内存中,内存存储读取的性能远高于磁盘存储。读写操作都针对内存进行,不再直接与磁盘数据库交互,相当于是一种异步操作,显然,异步操作使得前端的写操作显得更快。虽然oracle的读写操作也有针对内存进行,但由于SGA的内存有限,遇到大数据量时,性能相比内存数据库就相差很远。

HANA内存数据库与oracle数据库的性能比较

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,489
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,904
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,489
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,290