华为技术私享会-云数据库 SQL Server

举报
jimmy 发表于 2018/01/02 11:18:20 2018/01/02
【摘要】 主持人:最后给我们分享的皓楠,曾就职Oracle等世界500强企业。5年+海外工作经验,10年+的数据库研发、维护等工作经验。目前负责华为云数据库SQL Server的产品管理与规划。云数据库SQL Server实践案例技术分析 姜皓楠(华为云数据库高级产品经理):大家下午好,感谢大家抽空来到我们华为的云数据库技术交流私享会,我们的总架构师黄伟是从技术层面给大家讲了华为云服务的架构,

    主持人:最后给我们分享的皓楠,曾就职Oracle等世界500强企业。5年+海外工作经验,10年+的数据库研发、维护等工作经验。目前负责华为云数据库SQL Server的产品管理与规划。

云数据库SQL Server实践案例技术分析

    姜皓楠(华为云数据库高级产品经理):大家下午好,感谢大家抽空来到我们华为的云数据库技术交流私享会,我们的总架构师黄伟是从技术层面给大家讲了华为云服务的架构,昭德通过我们云服务的组合方案解决客户痛点问题为大家介绍了MySQL的产品,我们的庆聪是给大家讲故事,讲情怀。我这边没什么故事可讲的,我负责的华为云数据库SQL Server,它不像开源数据库可以做一些架构的优化,内核的调整,从而提高性能,改善用户体验。我们知道Microsoft SQL Server是微软提供的一款老牌商业数据库,我们这边其实就是把数据库挪到云上做了一个服务化,单纯讲技术没什么给大家分享的,但是今天我是作为一个产品经理,从一个产品的角度跟大家分析一下,一个产品它是如何设计定位以及它市场的表现情况。

    简单做一下自我介绍,毕业之后我是在日本做了5年数据库监视软件设计开发,这期间接触了很多数据库,当时专攻的是Oracle,但是也接触了SQL Server等等,对于Oracle的底层特别是它的内存结构、存储结构以及优化器这些原理都研究很多,后来回国之后在Oracle原厂干了4年的技术顾问,再之后就是刚才我们亮总说的弃暗投明来到华为,现在是做SQL Server产品的经理,负责产品的管理和规划。

首先简单介绍一下Microsoft SQL Server这个数据库,不知道大家有没有参加过微软的技术交流会,比如今年的workshop还有每年一次的微软大会,他们都会拿这几张图说事,我给大家简单介绍一下,左边第一幅图大家可能看不太清楚,这个是比较著名的Gartner魔力四象限图,表示的是一个企业在一个行业中的地位,分为4个象限,右上角这部分一般是在这个行业中处于领军地位。

Gartner.png

如果大家关注过前几年的这个统计你们可能会发现,处于数据库行业第一集团军的一般是几个熟悉的老面孔,但是近几年无论从排名还是结构上都发生一些比较有意思的变化,这个是基于今年2017年11月份的最新统计。传统的一些老面孔渐渐掉队了,而且在数据库领域来了一个不是做数据库起家的外来户--亚马逊。我们知道亚马逊是最早提出云服务拥抱云市场的一家公司,经过几十年的卧薪尝胆,他的数据库服务在传统数据库领域已经能够挤到前三的位置,这个我觉得是跟亚马逊的发展策略是有关的。另外之前常年占着头把交椅的想必大家也比较清楚了,是Oracle,无论在行业中的影响力也好,它的产品的市场占有率也好,常年是扛靶子的地位,但是现在来看今年十一月份Gartner魔力四象限图来看,微软已经悄悄地排到第一位了,这不是我替他们吹,其实我觉得从另外一个角度可以看出,Oracle和微软他们在产品策略也好,发展模式也好,有一个比较有意思的比较。微软在我印象中是一个比较传统的IT企业,他一开始一直致力于打造Windows的生态环境,眼睛里只有自己的产品线。也可以说比较封闭,不接受一些开源的东西,但是我们知道今年10月份微软推出了SQL Server 2017,正式支持Linux版本,我感觉这事微软迈出的一大步,在我看来微软是从封闭走到了开放。同时期的Oracle是怎么做的呢?我们可以看一下现在的云数据库市场,真正在我们国内能用到Oracle云数据库的目前是没有的,这是为什么?主要在于Oracle的虚拟化授权的策略,其实它很有意思,当时我在Oracle公司的时候,我们老大拉里埃里森最开始怎么说的,说云是什么东西,我们不玩它,他当时把Oracle虚拟化授权卖给了两家公司,现在全世界能拿到它的授权就两家,一个是微软,另外一个是亚马逊,但是真正产品化并能提供服务的目前只有亚马逊,随着云市场的发展,Larry 的态度急转直下,自己否定了自己几年前的说法说什么是云,云就是我们的未来,我们一定要做云,他自己把自己前面说的都给否定了,这个人也挺传奇的,大家感兴趣可以上网搜一搜。但是Oracle做云跟微软是完全不一样的,Oracle就是自己玩,当年泼出去的水收不回来了,OK你现在自己玩,我给你定价定得很高,导致现在我们可以看一下亚马逊的Oracle云数据库的市场表现其实是很糟糕的,也就是说亚马逊虽然拿到了这个授权,但是离真正的商业成功还有很远的道路。从一个产品或者从一个产品定位来说,走到今天这一步也是有迹可寻的。

我们回头来聊 Microsoft SQL Server 数据库。在我看来SQL Server它不是一款最好的数据库,但是我认为它是一个最平衡的数据库,怎么来讲如果跟开源的数据库来比,它可以比稳定性、性能,但是跟商业数据库比,特别是跟Oracle来比,在我看来两款数据库我都接触过,SQL Server 在功能性方面是真的比不过Oracle,但是它可以跟人家比性价比,这就是 Microsoft SQL Server 在我心里的一个定位。就是它是真正做到一个比较平衡的东西,让你可以有更多更好的选择。这是基于美国的数据库漏洞*** 的一个统计,在过去7年里面SQL Server一直是漏洞最少的数据库。

Gartner.png

相对来说MySQL漏洞数还是比较多的,跟那些开源数据库SQL Server可以比稳定、安全,跟Oracle,DB2比的是价格,Oracle基本能用的东西我也能用,那为什么不买我的,比的是这些东西,所以我觉得它是真正做到了一个非常好的平衡点。

 

介绍完了SQL Server,我们看看华为云数据库SQL Server是一个什么样的东西,这是最简单的一个云数据库SQL Server的架构,我最开场跟大家说过了我们在SQL Server上没法做一些内核的改进优化,我们只是把它进行了服务化,所以云它的本质就是一个服务。

Gartner.png

从这个图可以看到,从客户端往下所有的东西其实都是在云上的,它是一个云上的各种服务的一个组合,提供一个完整的解决方案,因为这个图非常的简单,很多的服务都可以追加进来,我没画出来。一个传统的架构来说从客户端往下全都搭在云上,处于VPC内,大家可以理解为是一个网络隔离,下面这些东西都通过内网进行访问,是一个低延时的高速网络,这些服务通常对外不呈现,但是这个毕竟是要面向客户,面向外面的世界的,应用服务器就是作为对外的一个入口,提供公网访问,承载客户端的请求。当然如果画得复杂一点,这个中间可以加很多服务,比如说防暴力攻击的什么东西,云服务的一个优势可以做任意的组合,提供一个整套的解决方案。

    数据库通常来说是处在应用服务器的后面,而且我们推荐客户尽量不要把数据库暴露在公网上,这样做的好处是防止数据库被直接攻击,保证数据的安全,所有对数据的请求都通过这个应用服务其进行了一层过滤之后转到数据库,然后我们的数据库采用的是SQL Server 2014 SE版本,这个待会给大家介绍一下这个版本策略。服务器采用的是Windows Server 2012,这个大家可以了解一下。

    我们采用的是主备高可用的架构,实现方法采用的是镜像,我们知道微软提供了4种主备高可用的实现方法,这4种方案各有各的好处,但是现在主流的所有我能接触的这些云厂商都是采用镜像,这个地方就很有意思,微软说我们的高可用方案未来是AlwaysOn,但是为什么主流的厂商还用镜像的东西,大家可以思考一下。在我看来主要是出于两点考虑,我们知道AlwaysOn故障转移集群其实在2012的版本就已经由微软推出来了,但是早期的时候它的方案的实现复杂度还是比较高,需要单独设置域名控制服务器,别切用到域名解析DNS服务,由于多出来一台服务器,它的成本还是比较高的,也就是说你搭载一个两结点的集群环境,至少还需要加一个域控服务器,这就是三个结点,多了一个成本,另外它是依赖那些服务,搭建的难度还是比较高,真正做成服务化对云来说越简单的越好,在早期的这些云厂商当中大家都没有采用AlwaysOn这个方案。

但是为什么微软说AlwaysOn是企业级高可用的架构的未来?现在我们先来了解一下这几种高可用方案各有什么特点?

镜像方案它的优点是数据实时同步,技术复杂度低,稳定性高。主库宕掉了备库马上就能拉起来,对客户和应用无感知,但是它的缺点是备库对用户不可见,只有当主库无法提供服务时才能被拉起接管服务,是一种资源浪费。但是AlwaysOn它的特点是备库在主库可用的时候也可以提供读服务,减少了主库的读负载。AlwaysOn最多可以支持8个只读副本,对于读性能水平扩展来说是最好的方案。另外随着SQL Server 2016 以上新版本的发布,AlwaysOn方案也可以摆脱域控服务器,进一步降低成本,未来各厂家实现AlwaysOn只是时间问题。

另外除了基础的数据库服务之外,我们还提供多种多样的监控视图,能让您对数据库进行一个全方位的监控,并且可以通过管控进行一些基本的数据库操作,包括重启,重置密码等,进一步降低后期运维难度。另外我们数据库还提供了一个完整的备份策略,这个其实我们所有的RDS服务都遵循这个策略,即每天做一次全量备份,这个时间点刚才我们同事也解释过了,你可以选择一个时间段,这个不是说你选了零点它就开始备了,它是在你选择的这个时间段内自动选一个时间点,比如我选择零到一点它可能选零点三十分开始做备份,然后每5分钟做一次增量备份,备份完成会被自动推送到一个低价的对象存储服务器里面。    进一步保证数据的可靠性。给予这种备份策略,我们可以保证即使数据库所在服务器物理损坏掉我们依然可以回滚到事故发生前的备份保存期内的任意时间点。

刚才说了我们现在用是SE的版本,这个跟有些友商的选择是不太一样的,这里简单跟大家解介绍下。我不知道大家了不了解在SQL Server这个领域当中EE和SE有什么本质的区别,其实简单来说就是一个可扩展性的区别。我不知道大家有没有一个误区,就是说EE版本会比SE快,这种想法是绝对的错误。首先作为一个产品的角度来讲,微软不会真正给你开发两套版本,无论是SQL Server也好还是Oracle也好,不会说EE一套代码,SE一套代码。它是整个一套代码在功能模块上给你加开关,也就是说在一些功能上EE确实有,SE没有,所有的产品都是这么做的,所以单就数据库性能来说EE和SE不会有本质区别。但是在关键功能上它俩确实有一定差异,但是这个差别在我看来主要是规模化,就是扩展性的方面的差别,特别是在硬件能力上EE没有做任何限制,OS能支持多少CPU、多大内存、多大存储,EE基本都可以满足。但是SE相对来说小一些,在2014版本基础上SQL Server提供的是4个插槽,或者是16核,这两个数值最低的选一个,它的内存最多是128G,存储是524PB,如果你选择的数据库在规模上没有超过 SE 的上限,那么选SE和EE其实差别不大。但是在价格上微软EE的License是SE的4倍左右这个陈本的差别就非常的搭了。另外,我们知道云服务最开始的定位本身就不是一上去瞄准那种超大型企业的,一开始的定位就是中小初创企业,所以SE这个规模基本满足我们现在绝大多数的客户需求,所以我们最开始选择SE也是基于这些诸多因素最终的一个平衡的结果。细节的功能上的差别在我看来基本数据库能力SE跟EE差得不大,但是在一些高级特性比如说分区表、加密这些特性上如果有需求的话,那么EE将是你唯一的选择。当然考虑到产品梯队化的思路,我们今年会陆续推出EE和Express版本,EE是主打一些主要的大客户,我们现在有一些客户是明确提出了这个需求了,我们已经把它落入到今年的基本规划里,还有面对一些从来没有上过云的客户,为了方便他们了解云上数据库,我们也会提供Express的版本,让这些客户可以免费体验云数据库。这个就是我们做产品的设计思路和未来的一个规划。

接下来跟大家聊一个具体的案例,华为SQL Server数据库是今年10月份刚上线,到现在满打满算也就两个月,但是我们已经积累了一定的客户量,现在达到几十家了。

赛默飞世尔科技有限公司,它是一家全球化的医疗实验器材的供应商、销售商,它提供完整实验室综合解决方案,全球员工规模在5万人以上。中国总部是在上海,大约有三千人以上的员工。先来看一下它的具体需求,这家客户是做产品的解决方案,当然它也卖产品,它有自己销售的系统,它对数据库的要求就是,首先我的数据库要保存在数据库里,因为它是全球化公司,我在中国的数据库有可能在国外也要访问到,所以要求能够随时随地访问,另外它涉及到一些客户的比较重要的信息,要保证数据的可靠安全。这是它提出几个基本的要求。我们可以看出来,云数据库自身的特点完全满足赛默飞的这些需求。其实这家公司很早就用到了云产品,在国外他们用的是AWS的云数据库,但是它的中国客户出于信息安全的角度考虑,希望把他们的数据放在国内。

当然我们知道国内云服务平台有很多家,但是最终它为什么选择了华为?其实华为在最开始做云业务的时候,就承诺我们上不碰应用下不动数据,基于对于华为的信任,赛默飞中国最终选择了跟华为合作。

Gartner.png

这是我们提供的一个解决方案,赛默飞购买了两台ECS,一台部署产品管理系统,另外一台部署订单管理系统,考虑到系统的业务负载,采购了两台Redis作为热数据的缓存,减少后台数据库的IO负载。后台是用我们的SQL Server数据库,采用高可用架构。数据会定期自动备份到OBS上,保证数据可靠性。

这套方案部署好就几十分钟的事,在界面上点几个键,后台就能够把这些服务搭建起来,客户可以快速部署快速测试验证,保证了业务的上线时间。另外它现在的规模不代表它将来的规模,随着它规模的增长数据库也灵活地扩容,满足它业务不断变化的需求。

今天带给大家的分享就到这结束了,再次感谢大家的到来,有什么问题我们还可以线下交流,谢谢。

 

 



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。