位置: 编程技术 - 正文

揭秘SQL Server 2014有哪些新特性(1)-内存数据库(揭秘蟹卡骗局)

编辑:rootadmin

推荐整理分享揭秘SQL Server 2014有哪些新特性(1)-内存数据库(揭秘蟹卡骗局),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:揭秘低价老年旅游团套路,揭秘蟹卡骗局,揭秘蟹卡骗局,揭秘如何投屏纽约时代广场,揭秘镀晶到底好在哪里,揭秘如何投屏纽约时代广场,揭秘镀晶到底好在哪里,揭秘镀晶到底好在哪里,内容如对您有帮助,希望把文章链接给更多的朋友!

简介

SQL Server 提供了众多激动人心的新功能,但其中我想最让人期待的特性之一就要算内存数据库了。去年我再西雅图参加SQL PASS Summit 的开幕式时,微软就宣布了将在下一个SQL Server版本中附带代号为Hekaton的内存数据库引擎。现在随着CTP1的到来,我们终于可以一窥其面貌。

内存数据库

在传统的数据库表中,由于磁盘的物理结构限制,表和索引的结构为B-Tree,这就使得该类索引在大并发的OLTP环境中显得非常乏力,虽然有很多办法来解决这类问题,比如说乐观并发控制,应用程序缓存,分布式等。但成本依然会略高。而随着这些年硬件的发展,现在服务器拥有几百G内存并不罕见,此外由于NUMA架构的成熟,也消除了多CPU访问内存的瓶颈问题,因此内存数据库得以出现。

内存的学名叫做Random Access Memory(RAM),因此如其特性一样,是随机访问的,因此对于内存,对应的数据结构也会是Hash-Index,而并发的隔离方式也对应的变成了MVCC,因此内存数据库可以在同样的硬件资源下,Handle更多的并发和请求,并且不会被锁阻塞,而SQL Server 集成了这个强大的功能,并不像Oracle的TimesTen需要额外付费,因此结合SSD AS Buffer Pool特性,所产生的效果将会非常值得期待。

SQL Server内存数据库的表现形式

在SQL Server的Hekaton引擎由两部分组成:内存优化表和本地编译存储过程。虽然Hekaton集成进了关系数据库引擎,但访问他们的方法对于客户端是透明的,这也意味着从客户端应用程序的角度来看,并不会知道Hekaton引擎的存在。如图1所示。

图1.客户端APP不会感知Hekaton引擎的存在

首先内存优化表完全不会再存在锁的概念(虽然之前的版本有快照隔离这个乐观并发控制的概念,但快照隔离仍然需要在修改数据的时候加锁),此外内存优化表Hash-Index结构使得随机读写的速度大大提高,另外内存优化表可以设置为非持久内存优化表,从而也就没有了日志(适合于ETL中间结果操作,但存在数据丢失的危险)

下面我们来看创建一个内存优化表:

首先,内存优化表需要数据库中存在一个特殊的文件组,以供存储内存优化表的CheckPoint文件,与传统的mdf或ldf文件不同的是,该文件组是一个目录而不是一个文件,因为CheckPoint文件只会附加,而不会修改,如图2所示。

图2.内存优化表所需的特殊文件组

我们再来看一下内存优化文件组的样子,如图3所示。

图3.内存优化文件组

揭秘SQL Server 2014有哪些新特性(1)-内存数据库(揭秘蟹卡骗局)

有了文件组之后,接下来我们创建一个内存优化表,如图4所示。

图4.创建内存优化表

目前SSMS还不支持UI界面创建内存优化表,因此只能通过T-SQL来创建内存优化表,如图5所示。

图5.使用代码创建内存优化表

当表创建好之后,就可以查询数据了,值得注意的是,查询内存优化表需要snapshot隔离等级或者hint,这个隔离等级与快照隔离是不同的,如图6所示。

图6.查询内存优化表需要加提示

此外,由创建表的语句可以看出,目前SQL Server 内存优化表的Hash Index只支持固定的Bucket大小,不支持动态分配Bucket大小,因此这里需要注意。

与内存数据库不兼容的特性

目前来说,数据库镜像和复制是无法与内存优化表兼容的,但AlwaysOn,日志传送,备份还原是完整支持。

性能测试

上面扯了一堆理论,大家可能都看郁闷了。下面我来做一个简单的性能测试,来比对使用内存优化表+本地编译存储过程与传统的B-Tree表进行对比,B-Tree表如图7所示,内存优化表+本地编译存储过程如图8所示。

图7.传统的B-Tree表

图8.内存优化表+本地编译存储过程

因此不难看出,内存优化表+本地编译存储过程有接近几十倍的性能提升。

揭秘SQL Server 有哪些新特性(2)-固态硬盘 Buffer Pool(缓冲池) 扩展 简介SQLServer中另一个非常好的功能是,可以将SSD虚拟成内存的一部分,来供SQLServer数据页缓冲区使用。通过使用SSD来扩展Buffer-Pool,可以使得大量随

揭秘SQL Server 有哪些新特性(3)-可更新列存储聚集索引 简介列存储索引其实在在SQLServer中就已经存在,但SQLServer中只允许建立非聚集列索引,这意味着列索引是在原有的行存储索引之上的引用了底层的

揭秘SQL Server 有哪些新特性(4)-原生备份加密 SQLServerCTP2之后公布了一项针对备份的特性,那就是原生备份加密。考虑到之前网络上影响很坏的数据库泄漏事件,本质上都是数据库备份泄漏给第三

标签: 揭秘蟹卡骗局

本文链接地址:https://www.jiuchutong.com/biancheng/319009.html 转载请保留说明!

上一篇:在SQL Server中使用ISNULL执行空值判断查询(在SQL Server中使用存储过程的优点包括)

下一篇:揭秘SQL Server 2014有哪些新特性(2)-固态硬盘 Buffer Pool(缓冲池) 扩展(揭秘蒙娜丽莎25恐怖之处)

  • 个所得税计算方法
  • 跨月发票税率开错了如何处理合适?
  • 计算应交增值税并结转未交增值税怎么做用友
  • 增值税属于哪个部门
  • 税务申报差额征收 服务减除清单
  • 其他综合收益影响递延所得税负债吗
  • 会计准则折旧年限规定最新
  • 其他应收款减值测试注意什么
  • 营改增增值税优惠政策
  • 期末存货跌价准备金额的确定
  • 离职未收回货款要我承担
  • 库存商品进行非货币资产交换收入怎么确定
  • 当月没有认证的发票要勾选吗
  • 闲置的房屋可以计提折旧吗
  • 实际利率法怎么理解
  • 工资薪金个税税率表
  • 银行转账结算凭证按照填制手续和内容
  • 专票密码区出来一点能报吗
  • 库存商品的核算方法
  • 或有事项确认资金怎么填
  • 小米电视连不上路由器怎么回事
  • 会计分录中结转是什么意思
  • 我开了一个物流公司,有人要开发票怎么办
  • 预付购买材料款会引起会计等式
  • 房产开发企业涉及税种
  • PHP:date_default_timezone_get()的用法_Date Time函数
  • ipad最长使用时间
  • 两个岗位 如何选择
  • 未交土地出让金的处罚
  • vscode配置r
  • 实收资本增加印花税申报流程
  • 垃圾分类手工小模型
  • vue高级函数
  • pytorch卷积操作
  • 年应税额是怎么算的
  • 当月的印花税什么时候申报
  • 所得税弥补亏损年限10
  • 公司缴纳的印花税会计分录
  • 帝国cms会侵权吗为什么
  • 设备购买与租赁的分析中,购买优于租赁的条件是
  • 货物运输行业前景如何
  • 技术人员的工资计入什么费用
  • 现金折扣属于什么
  • 经营范围没有的项目可以做吗
  • 土地增值税的扣除项目金额有哪些
  • 小规模纳税人缴纳的增值税计入成本吗
  • 民间非营利组织会计科目
  • 公司买的材料做什么分录
  • 研发费用归集的主要范围有哪些
  • 疫情期间统筹部工作总结
  • 七天年化收益率2%
  • 用党委的经费买房可以吗
  • 研发费用如何做账
  • 营业执照类型有限责任公司(自然人独资)是什么行业类别
  • 实收资本调账怎么调
  • 企业有外币账户怎样做账
  • 暂估的费用次年调增怎么做会计分录
  • 预付购买设备款
  • 会计每个月需要打印科目余额表吗
  • 查询一个字段有哪些值
  • windows91
  • 苹果系统最新版本
  • docker1.12.6
  • wlltweak.exe
  • 将某软件添加到桌面
  • win7总是弹出windows激活
  • windows7显示桌面的操作方法
  • 电脑无法使用qq
  • vsftpd配置用户登录目录
  • win10的命令行在哪里
  • js判断div是否有滚动条
  • JavaScript的函数库
  • 已经序列化的表单怎么再添加
  • 给一个接口,然后怎么在vue里面调用
  • 手游开发流程具体
  • python正则\b
  • js面向对象编程的三大特性
  • 企业年金企业账户部分可以提取么
  • 销售不动产增值税税率
  • 关于小规模纳税人的说法正确的有
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设