技术开发 频道

五位大咖齐聚DTCC:SQL Server怎么玩?

  【IT168 评论】2015第六届中国数据库技术大会(DTCC)于2015年4月16日-18日在北京新云南皇冠假日酒店震撼登场。

DTCC 2015:SQL Server 2014技术内幕

  本届大会的主题是“大数据技术探索与价值发现”,大数据时代是最好的时代,也是最坏的时代,有些人觉得大数据天生很迷人,最终会硕果累累,那么您认为,SQL Server的价值在哪里呢?一起来跟随皮皮探望下2015中国数据库技术大会SQL Server专场吧。

DTCC 2015:SQL Server 2014技术内幕

  首先来看看这场的嘉宾阵容,由来自荣之联协同办公交付部经理兼微软MVP的胖胖哥岳雷老师主持的SQL Server专场汇聚了五位帅哥。

  第一位出场的是微软SQL Server最有价值专家宋沄剑,他是《Professional SQL Server 2012 Administration》译者。曾为国内多家大型企业提供咨询、调优和培训服务,所涉及的行业包括金融,电信等。这次给我们带来的演讲主题是《使用扩展事件实现性能调优和Troubleshooting》。

DTCC 2015:SQL Server 2014技术内幕

  宋沄剑坦言,过去超过10年我们一直使用SQL Trace,但时至今日,面对大数据以及高并发的场景下,SQL Trace引入的开销和包含的信息远远不能满足今天的负载。自SQL Server 2008起引入的扩展事件直接集成到底层的SQL OS,不但更加轻量,并且提供了更加丰富的信息,从而为性能调优和Troubleshooting时提供更好的手段。在这次的专场中,宋沄剑重点介绍了扩展事件、使用方法,以及真实生产环境中利用扩展事件所能实现的场景示例。

  到底什么是扩展事件呢?扩展事件引擎寄存于sqlserver.exe,扩展事件信息的消费者可以在该进程内,也可以是其他进程,SQL Server 扩展事件具有高度可伸缩且高度可配置的体系结构,使用户能够按需收集解决性能问题或确定性能问题所需的信息。关于这种可扩展、可高度定制化的事件处理系统,皮皮在这里想引荐宋沄剑老师类比的这张图,相信你懂的!

  SQL Server 2012&2014增加了大量事件,提供了UI支持,修复了很多Bug,提供了对SQL Azure、AlwaysOn、PowerShell的支持。

  对扩展事件感兴趣的同学,可以看看扩展事件的架构图啦!

  看完这张架构图,相信你一定很好奇,忍不住想要抛问题啦!为什么要使用扩展事件呢?

  没错,宋沄剑老师为大家抛出了几点理由。其一,相比服务端跟踪,开销更低;其二,扩展事件框架可扩展;其三,在事件触发时允许采取Action(可以收集额外信息,甚至是采用操作);

  其四,扩展事件允许更加强大的筛选操作,提供了丰富的过滤系统;其四,由于Trace已被标记为过时,所以不再会有任何新功能的开发。所以尽早转移到扩展事件里(AlwaysOn相关事件就无法用Trace跟踪,只能是用扩展事件);其五,可以在Microsoft Azure SQL Database中使用扩展事件;其六,皮皮认为也是最重要的啦,扩展事件是跟踪所有SQL Server 2012和之后版本新功能的唯一方式!

  扩展事件真有那么神奇吗?且看宋沄剑老师的Demo演示,监测消耗较高的SQL语句。

DTCC 2015:SQL Server 2014技术内幕

  DEMO:PairMatching目标的使用

DTCC 2015:SQL Server 2014技术内幕

  再来看看我们的第二位出场的神秘嘉宾,他是来自微软数据平台解决方案顾问王琦,多年来从事SQL Server相关的技术工作,擅长大型数据库架构设计及性能优化,同时在数据仓库、商业智能、大数据等相关领域积累了丰富的经验。在演讲当中,这位帅哥的内容非常饱满,除了介绍SQL Server 2014新一代列存储技术外,还谈及了混合云的使用场景。

DTCC 2015:SQL Server 2014技术内幕

  早出现在SQL Server 2012中微软就引入了列式存储技术,在SQL Server 2014中引入了新一代的列存储技术,那么这个新到底能带来哪些突破呢?王琦强调了两方面,其一、新一代列存储索引具有聚集&可更新的特性,在数据仓库查询效率上可提高几十倍甚至更多;无需行版本存储的基础表;还可以简化管理,数据可以进行插入、更新、或者删除操作;它无需其它索引,从而节省了空间;支持更多的数据类型,消除了SQL Server 2012非聚集列存储索引的诸多限制;

  其二、SQL Server 2014中引入了新一代的列存储技术在列存储技术现有的压缩基础之上再进行一层压缩,大幅压缩数据库容量。

  皮皮在这里为大家展示下王琦的Demo演示:

DTCC 2015:SQL Server 2014技术内幕

  第二个重头戏集中在SQL Server混合云应用场景,微软的公有云解决方案有哪些应用场景呢?一图来看懂六大场景吧!

DTCC 2015:SQL Server 2014技术内幕

  在Microsoft Azure 虚拟机中运行的 SQL Server的应用场景:

  第一个场景:迁移现有 SQL Server 应用可以带来哪些好处呢?没错,选择现有 SQL 系统,迁移到 Azure 虚拟机,立刻即可继续使用。它可以降低现有应用的 TCO、新增迁移向导可以继续使用熟悉的开发工具。

  第二个场景:SQL Server 云端开发与测试;它可以降低项目负担 、加快投放市场速度 、为源代码提供冗余的安全保护;Telenor 测试成本节约了 70%,完工后可彻底关闭开发与测试环境,并可大幅降低初始投资。

  第三个场景:备份到云端;它降低资本支出与运维支出、改善数据安全性、将备份还原至 Azure 虚机、完整的 SQL Server 备份。

  第四个场景:云端灾难恢复;它能带来的主要收益是,降低资本支出与运维支出、降低灾难恢复 RTO、快速创建全局 BI 报表。

DTCC 2015:SQL Server 2014技术内幕

  第五个场景:构建全新云端应用

  微软 Azure 的管理时间与成本非常低,我们可以专注于业务增长,而非管理备份磁带。

DTCC 2015:SQL Server 2014技术内幕

  王琦在现场给我们抛出了一组数据,微软 Azure 中运行了超过 158,000 个 SQL Server 虚拟机,超过 750,000 个 Microsoft Azure SQL 数据库。看到这里,是不是和皮皮一样惊呆了,有跃跃一试SQL Server2014的感觉啦?

  第三位出场的是邦富软件数据库架构师陈畅亮,前带领DBA团队在某大型互联网公司运维TB级数据库,设计完整的存储、高可用和灾备方案。他主导内部云运维平台研发,运维上千台服务器。在此之前,曾负责7天酒店网站的用户行为分析系统的研发。同时也是微软SQL Server方向最有价值专家。在演讲中,他重点深入讲解SQL Server存储结构,讲述SQL Server堆表、聚集表的记录、索引存储结构,当然还有NULL位图、行溢出、LOB大对象的存储结构,从内部原理理解SQL Server性能调优。

DTCC 2015:SQL Server 2014技术内幕

  皮皮在这里无需赘言,请看陈畅亮为大家带来的聚集索引表的存储结构图

DTCC 2015:SQL Server 2014技术内幕

DTCC 2015:SQL Server 2014技术内幕

  那么在什么情况下会发生行溢出的现象呢?记住以下四点,就Over啦!

  1.行溢出数据只会发生在变长字段上,变长列的长度不能超过标准变长列最大值8000个字节的限制

  2.包括行头系统信息和所有定长列和变长系统信息的所有长度不能超过8060字节

  3.变长列的实际长度一定要超过24个字节

  4.变长列不能是聚集索引键的一部分

DTCC 2015:SQL Server 2014技术内幕

  看到这里,相信大家和皮皮一样,有点毛骨悚然啦!没错,行溢出带来的一系列诟病,随机IO增加了、内存中Page增大了、行记录占用的空间也膨胀了,肿么办呢?陈畅亮为我们支了两招,一是使用大对象存储数据,所有列值在其它页集中存储;二是分开存储,垂直切分表。到底实用不?还得大家点评下喽!

  第四位重磅出场的嘉宾是易车集团高级DBA高继伟,他主要负责集团数据平台架构,优化相关工作,对SQL Server有深入认知。这次他为我们带来的演讲主题是《SQL Server内存数据库揭秘》,皮皮对他做过了一期名人堂访谈,《对话易车网高级DBA:为何对SQL Server 内存数据库情有独钟?》,有兴趣的同学可以查看详情。

DTCC 2015:SQL Server 2014技术内幕

  关系型数据库发展至今,细节上基本已做足文章.在寻求自身突破的发展过程中,分布式及内存数据库是当下最流行的主题. SQL Server作为传统的数据库厂商也推出了自己的新利器In-Memory OLTP。SQL Server实现并利用了无闩锁,无锁,底层代码运算等相关技术使得性能有了几十倍甚至上百倍的性能提升,本次分享高继伟为大家解读相关的技术实现。

  要知道,摩尔定律魔力减弱,CPU计算提速减慢,内存价格日趋便宜,已经低于10$/GB,多核架构发展迅速,传统数据库经过多年发展如今性能提升缓慢。现有数据库引擎木有可能让速度提升100倍呢?当然是不可能喽,我们要使出杀手锏,我们需要新引擎。SQL Server 2014新增了线上交易(OLTP)数据处理引擎,至少能提升10倍数据处理性能。它就是高继伟想要演讲的主角Hekaton,据说在希腊文里,Hekaton是一百倍的意思哦。

  这是一款基于当前CPU架构设计,完全集成于现有SQL Server中,基于内存优化但持久化的高性能的OLTP引擎。

  它的神奇之处在哪里呢?皮皮总结了高继伟点出的几点。

  第一:Hekaton这款新引擎可以解决热区问题,内存中的共享数据架构所使用的闩锁(Buffer Pool)可以实现共享缓冲池。

DTCC 2015:SQL Server 2014技术内幕

  第二:Hekaton这块新引擎可以解决阻塞/并发问题,谈到版本行并发控制,用一张图可能一目了然吧!

DTCC 2015:SQL Server 2014技术内幕

DTCC 2015:SQL Server 2014技术内幕

  其三:这款新引擎可以解决语句执行效率,CPU高消耗的问题,一起来看看对比的效果吧。

DTCC 2015:SQL Server 2014技术内幕

DTCC 2015:SQL Server 2014技术内幕

  最后一位出场的嘉宾是京东运维部数据库DBA肖磊,他为我们带来的主题是《利用Replication实现字段数据类型快速变更》。

DTCC 2015:SQL Server 2014技术内幕


  Replication是SQLServer的一个重要功能,从2005到2008,replication技术已相当成熟,尽管从2012引入alwayson后,有被替代的趋势,但其无比优越的灵活性确实是SQLServer各个功能都无法比拟的。从目前使用情况看,大部分场景都是将replication用于读写分离或对数据一致性不敏感的高可用环境,似乎其强大的灵活性并未得到完全的体现;在SQL Server 专场中,肖磊通过一个实际的案例,运用replication这个灵活的工具,实现字段数据类型快速变更,通过降低时间成本来为我们的平台及业务创造价值!

  Replication还可以这样玩,肖磊在开场中给我们抛出了一个需求,如何变更字段类型呢?简单来讲,有三种方案,A是直接在原表上修改,B是创建新表,导数据,交换表名,C是直接新表写入,旧表数据归档方式处理;

DTCC 2015:SQL Server 2014技术内幕

  让皮皮来讲,A、B、C统统纠结,怎么才能一次全搞定!难道非得指望我们的萌萌哒大白吗?有没有更好的方案可以控制停机后的影响数据量?方案C是否真的应该被pass呢?肖磊为我们揭晓答案啦!利用Transaction Replication实现TB_A到TB_A_new的“准实时同步”。

DTCC 2015:SQL Server 2014技术内幕

  最后小编也不忘给大家爆料点现场花絮哦!错过本次大会的朋友也可以一饱眼福喽。

DTCC 2015:SQL Server 2014技术内幕

DTCC 2015:SQL Server 2014技术内幕

DTCC 2015:SQL Server 2014技术内幕

DTCC 2015:SQL Server 2014技术内幕

DTCC 2015:SQL Server 2014技术内幕

DTCC 2015:SQL Server 2014技术内幕


       作为国内数据库与大数据领域最大规模的技术盛宴,来自BAT、360、京东、美团、58同城、Ebay、新浪、网易、搜狐、易车网、去哪儿网、携程网等互联网企业,微软、南大通用等数据库厂商、以及北京大学等学术机构等百余名顶尖专家现身演讲,为大家奉献了极为宝贵的干货演讲。

      在2015中国数据库技术大会上,现场展台人员爆满,来自微软、百度、星环科技、宝存科技、云和恩墨、听云、永洪BI、Greeliant、Action Technology、巨杉数据库、联想、慧科、云智慧等厂商强力加盟,大会现场有互联网家庭机器人展台,现场参会的朋友有机会与机器人互动,同时大会现场还安排了填调查赢取奖品互动环节。更多惊喜,尽在2015中国数据库技术大会现场。更多大会资讯,请查看专题大会报道专题:http://www.it168.com/redian/DTCC2015/#m07

0
相关文章