数据库-sqlserver2014新特性之内存优化表--嘉为科技

数据库-sqlserver2014新特性之内存优化表--嘉为科技

ID:34772545

大小:127.85 KB

页数:5页

时间:2019-03-10

数据库-sqlserver2014新特性之内存优化表--嘉为科技_第1页
数据库-sqlserver2014新特性之内存优化表--嘉为科技_第2页
数据库-sqlserver2014新特性之内存优化表--嘉为科技_第3页
数据库-sqlserver2014新特性之内存优化表--嘉为科技_第4页
数据库-sqlserver2014新特性之内存优化表--嘉为科技_第5页
资源描述:

《数据库-sqlserver2014新特性之内存优化表--嘉为科技》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQLServer2014新特性之内存优化表方勇【摘要】2013年6月25日,微软发布了SQLServer2014CTP1。本文将为您介绍SQLServer2014的重点新特性——内存优化表。【正文】如果说SQLServer2012的数据库引擎最大的亮点是AlwaysOn的话,那么SQLServer2014最大的亮点就是内存优化表(Memory-optimizedtables)了。1.内存表的背景在SQLServer2000的年代,我们还可以通过这种方式,将表驻留在内存中:DBCCPINTABL

2、E(database_id,table_id)DBCCPINTABLE会导致将表读入到内存中。当表中的页由普通的Transact-SQL语句读入到高速缓存中时,这些页将标记为内存驻留页。当SQLServer需要空间以读入新页时,不会清空内存驻留页。但是这种方式在SQLServer2005已经不被支持了,内存表这种概念消失了,直到SQLServer2014。2.文件和存储内存优化表必须存储到文件流文件组中,SQLServer提供了一种MEMORY_OPTIMIZED_DATA 文件组类型专门用于指

3、定内存优化表的逻辑存储位置。内存优化表的文件流文件组可以包含一个或多个容器,每个容器有可以包含一个或多个文件。文件包含了三种类型的文件:l根文件(RootFile):包含了数据文件和增量文件的元数据释放办公激情,效能触手可及嘉为IT咨询培训培训4l数据文件(DataFile):存储内存优化表的记录和新插入的记录l增量文件(DeltaFile):按照事务日志顺序存储从内存优化表中删除的记录的最小信息(行号),每个数据文件对应一个增量文件内存优化表会使用到事务日志,同样任何增删改等操作都会写入日志,

4、这可能是导致即使使用内存优化表,性能也无法显著提升的最大原因,可以考虑使用闪存或者SSD来解决该问题1.原理和机制SQLServer2014新增的内存优化表让我们眼前一亮,可以改善基于磁盘的表的低性能。通过以下的原理和机制让我们获得更好的性能和可扩缩性:l通过数据页和索引页驻留在内存,减少IO瓶颈l采用乐观并发控制,消除了逻辑锁,提高了并发性l本机编译存储过程,执行效率更高我们一定会担心,使用内存优化表会不会导致因为驻留在内存中,系统宕机或者断电的时候,导致数据无法及时写回内存而丢失。内存优化表

5、保留了关系型数据库的事务所有ACID特征:原子性、一致性、隔离性和持久性。SQLServer和内存优化表的持久化上下文提供了以下保证:l事务持久化:提交DDL或DML更改内存优化表的事务,更改是永久性的(不丢失);l重启持久化:在系统崩溃恢复或计划重新启动后,内存优化表重新实例化以恢复到关闭或崩溃时的状态;l介质失败持久化:当磁盘损坏时,我们可以通过数据库的备份和还原来恢复内存优化表到新存储当然,内存优化表有两种持久化选项,其中有一种是不保证持久化的:lSCHEMA_ONLY(非持久化表):只持

6、久化表结构和索引,重启后所有数据丢失释放办公激情,效能触手可及嘉为IT咨询培训培训4lSCHEMA_AND_DATA(持久化表):持久化结构和数据,类似于基于磁盘的表接下来我们来分析一下增删改操作的流程:l增、删、改操作执行先写入事务;l插入操作:先插入到内存中,在CheckPoint的时才写回数据文件l删除操作:先在内存中删除,并记录行号到Delta文件,随后Delta文件中记录的删除会合并到数据文件l更新操作:更新操作在SQLSerer中以先删除、然后插入执行可以看到,SQLServer的内

7、存表主要改善的是查询性能和IO瓶颈。1.硬件和软件要求:l在SQLServer2014x64版中,因为x64版可以直接使用更多的内存空间l服务器必须有足够的内存,内存优化表不能使用超过最大服务器内存的80%2.内存优化表使用和语法内存优化表也不是可以随便使用的,也有着其限制条件或越发约束。1)创建数据库需要有一个内存优化表文件组:CREATEDATABASECanwayDemoONPRIMARY(NAME=[hekaton_demo_data],FILENAME='C:DATAhekaton

8、_demo_data.mdf',size=500MB),FILEGROUP[hekaton_demo_fg]CONTAINSMEMORY_OPTIMIZED_DATA(NAME=[hekaton_demo_dir],FILENAME='C:DATAhekaton_demo_dir')释放办公激情,效能触手可及嘉为IT咨询培训培训4LOGON(name=[hekaton_demo_log],Filename='C:DATAhekaton_demo_log.ldf',size=500MB)C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。