SQL Server 上云最佳实践
内容来源:华为云社区
作者:华为云数据库高级项目经理/沈志鹏
沈志鹏:
在我开讲之前要先强调一下,刚才两个引擎所说的所有优点,SQL Server都有。
开讲前问一句,有没有人使用过SQL Server数据库的?很好使用的人还挺多。SQL Server相信大家都比较理解,它是全球排名前三的关系型数据库殷勤之一,它强大的功可以特性,以及微软带给大家的开发易使用性,相信大家都印象深刻。同时,性可以,稳固,安全也是全球公认Top3。
总结使用户线下的这些优点,我们就会发现,所有在线下的这些优势,在上云之后就会变成它的一个痛点,总结起来有三个最痛的地方。
第一个痛点,使用户在本地养成的用习惯,以及他在自己本地的用户端上,微软提供给你的各种集成服务,在上云之后你都会面临到挑战,由于这时候大多数的SQL Server供应商告诉你,你上云之后权限会被阉割。
第二个痛点,你的功可以也会被阉割。
这下面有一个截图,一个国内著名的友商,他2008企业版上云之后,它上面很多功可以基本阉了一半,所以商使用数据库上云实际上是一个减分项。
第三个痛点,线上和线下数据的交互体验也非常不好,相信誉过友商的贝尔法你上传复原功可以的,谁使用谁知道。
最后我还要补充一点,微软受权的特色,你一次购买它会把SQL Server,ETL,IS和AS服务一律卖给你,但是我们上云之后发现,我们只可以提供数据库引擎部分的给你以外,另外三个服务你只可以自建。
所有面临这些问题,在华为云我们都帮你逐个处理。
第一,我们要保证线上线下 体验的一致性。你在本地是怎样使用SQL Server,我们会让你上线还是怎样使用,怎样做到?在管控面上,华为关系型数据库的管理界面,我们做了很多的服务,包括大家最常使用的实例管理,备份的复原,高可使用和安全日志等等。这些我们精雕细琢出来的各种各样的流程,是为了保证大家上云之后帮助你们节省70%的运维成本。
同时开发人员在实例上的开发操作,怎样可以有效跟我们的运维管理隔离起来,保证各种各样的操作不会对我们的流程进行破坏。
这时候我们提出一个全新的概念叫“主帐号的概念”,从原有的SQL Server权限体系里面,把开发帐号和管理权限有效的隔离起来,这个对使用户是完全透明的,你们唯一改动是登陆SQL Server的时候,使用我们提供给你们的主帐号就行,这个主帐号会覆盖你们99%的开发场景,剩下1%我也提供非常灵活的受权方式,保证你们任何应使用及操作不会受到影响,我后面会有成功案例来举例。
第二,SQL Server上云之后,最关键的,大家也最想理解可靠性怎样实现。在本地有两种可靠性的部署方式,第一个是故障集群,二是镜像。这两种是大家在2012以下版本最常使用的高可使用方式。其中故障转移集群是本地服务使用的最多,由于它好管理也好部署,但是它有两个缺陷,第一它是冷备的,所以停机时间迁移时间较长,而且可可以会导致失败,这就不保证你应使用的高可使用了;第二对于数据的存储故障不支持,由于使用的共享盘,假如磁盘坏了你的数据就丢了。第二种方式是镜像的方式,它能处理刚才两个缺陷,由于它是热备的,并且是双存储,保证你磁盘挂了之后能继续换到另外一个实例上继续用,但是它有两个缺陷,第一它是数据库粒度的管理不支持实例级应使用的切换,所以切换场景要在下面做很多工作。二是见证服务,它里面有一个仲裁服务器,这个服务它只做自动故障切换场景,不会做自动修复,这两个场景我们看到各有优劣。
同时微软2012推出新的Always on 这个特性,特点是它集成了SQL Server的集群,镜像和复制三大特性,满足了大家在实例级的管理上各种各样的高可使用场景。但它有一个最大的缺点,它的技术依赖太多而且太贵,2014以下的版本只提供企业版用,2016以上版本只提供简单的,也就是阉割版。并且不支持2008及以下版本。
通过对上面的总结和分析,华为自己做了一套新的高可使用模式,它是基于镜像技术,融合了集成管理的特点,把两者结合到一起,有效处理了上面的四个缺陷,同时这个技术支撑在2012以下的低版本用,让大家使用更低的成本实现更好的服务。
它是怎样实现的呢?我们重新设计了一套新的见证服务,没有使用它原生的。它原来的见证服务不会自动修复各种各样的数据同步或者者网络断连的故障,但是我们新见证服务,能帮你修复95%以上的故障场景,剩下的场景你不使用担心,我们有非常详细的告警措施,一旦你的实例出现各种各样的故障,我们会先于用户发现问题,同时华为这边各种高手帮你把这些问题快速处理掉。
同时它还有其余很多细节和优化的地方,但是时间受限,大家能下来理解。
最后,我们灵活的实现了快速易使用的数据迁移方式,现在的迁移方式有三种,一是你给钱我们帮你搞定,什么都不使用管,而且是成本价。二是用SQL Server原生导入导出,这种方式使用途广,灵活度高,但是它有一个缺点,预验证不到位,你导入导出的时候,需要先行处理各种数据不同步,结构不同步的问题,这些问题通常会在导入导出的过程中给你报错导致你同步到一半失败。所以我们在云市场方面提供一个工具——ATTUNITY,这个工具现在是世界一流的数据导入导出工具,它的优点是在导入导出之前能做一个预验证工作,避免你迁移工程中失败。
最后一个方式,就是今天的重点——数据同步服务DRS。
在这里SQL Server做了非常强大的离线迁移功可以,只需把你本地的备份文件上传到华为云的网络磁盘OBS上,你即可以在同帐号下面,把你备份文件上面所有数据库复原到任何一个服务中的实例上面,这个操作流程是在所有友商最简便最方便的,并且我们还在不断对它进行更新和优化,后面将帮助大家实现更多的灵活迁移场景。
在线迁移服务不仅仅帮助你完成热迁移场景,还提供很多VIP服务,迁移过程中的进度,迁移完成之后的日志,还有就是迁移成功之后的数据一致性的校验,保证你在迁移了整个流程里面不会缺胳膊少腿,能非常放心的用。
RDS SQL Server能让你的数据库变的更加美好,大家用SQL Server商使用数据库的时候,经过我们的分析和我个人的经验,我们大部分人仅可以使用到商业数据库10%的功可以和特性,例如,DBCC的功可以大家有没有使用全过?数据库优化引擎,动态管理视图,审计,这些个功可以大家理解的都不是很全民按。而这些特性都会在华为公有云SQL Server上面得到表现,我们会不断地进行深度服务化设计开发,更好,更简洁,更方便的让大家用起来。所以你的数据库上华为云,不仅给你省事省心,更为了让你使用的更好。
而且我们还帮你省成本。我们最终会推出三个版本,Web版,标准版和企业版,其中Web版的版本价格已经非常近似于MYSQL商业版的价格。
最后给大家详情两个成功案例,这都是非常具备代表性的。
第一个是使用友,它们去年和华为合作,成功实现了云ERP系统,U8Cloud,使用友是中国老牌企业软件提供商,中国的很多中小企业和大企业都使用他们的管理软件,现在他们的ERP产品要上云。这里面我们遇到三个问题,一是使用友版本历史太长,能追溯到接近二十年,还有基于2000架构的SQL Server数据库;使用友不同版本有不同的权限要求,并且很多权限都是基于管理员权限实现的,这些权限同样存在较高潜在风险,会导致我们的运维流程被破坏。最终我们通过努力,帮助他实现新老版本迁移上云的可以力;并且根据它的需要重新设计的了权限隔离级别,通过灵活受权的方式,在各个版本之间,它需要什么样我们给它什么样,线上线下所有应使用不受任何阻塞。并提供更多的版本供选择,比方提Web版,标准版,让他根据不同用户需要灵活部署选择,有效降低它的管理成本和经营成本。
第二个说的是互联网上Top在线零食品牌,这个品牌是互联网新崛起的,在淘宝上非常火,双十一当天接近30亿的销售量,同时由于在线电商的瓶颈,销售额遇到天花板,他们开始往线下拓展,有一个全国每年千店计划,他们应使用部署在华为云上,对我们提出了一个非常特殊的需求,他们要求全国营业网点数据每天实时在线传回总部,通过他们总部的BI进行在线运维分析,互联网企业他们两大命脉,一是流量一是数据。华为基于SQL Server原生复制订阅特性,实现了在线多对一同步功可以,保证他们销售数据库的实时与可靠,他们现在已经开始拓展线下店铺,但是还没有达到每年千店的目标,所以后面这个场景还会面临更多的挑战有待考验。
现在到了提问环节
主持人:
SQL Server是微软商业数据库软件,华为把它云化过程中引入云计算的优势,增加到这个数据库上,处理了很多以前用SQL Server使用户的痛点,把以前好使用不常使用的功可以集中在华为云上推荐给大家用,大家现在现在有什么问题?
提问:
我们现在使用过U8,刚才看使用友和你们合作,我们原来使用U8的时候,数据库搭建不知道怎样回事,每次使用的时候非常卡,它的录单,录少量数据过程当中卡的非常厉害,这个有没有一个处理办法?
现在我们使用的U8是电脑的,将来我们自己要做一个系统,不使用它这个,自己从你们这搭建一个数据库,可以不可以做手机APP端,你们说的云盘和它APP和数据库怎样做协同同步的东西?
沈志鹏:
第一个问题我不好正面答复,使用友的后端怎样实现,有少量省成本的方案就不好细说,这是他们的产品,他们的产品设计中会有很多规格和模式可选,里面有比较贵的,有比较便宜的,支持单使用户和多使用户挤到一起,你能问下使用友的客服,看它怎样说。
提问:
我们想自己搭建一个。想和手机APP端结合起来,现在光是一个电脑端,使用的不方便,现在APP使用的还是挺多,想实现一个APP端。
主持人:
这个场景很适合云计算来做。
提问:
我们数据库有自恢复功可以也有故障功可以,你们最短时间内恢复故障和解决速度多长时间?
沈志鹏:
这个问题问的好,但是这个问题没有一个标准答案,我们已经做到了,SQL Server在故障的时候对你应使用高可使用迁移的最快速度,但是我们这个速度的瓶颈取决于你们自己业务场景。我们迁移的时候为了保证数据不丢失,会把所有的事务进行回滚再迁移,所以当你数据库发生故障的时候,这时它上面有大型运行的事务正好跑到一半,我们肯定会把它清除干净再迁移,假如数据库恰好比较干净,只是应使用挂了,或者者少量事务像注册,插数据这种比较简单直接的,这个时候就会很快,这个会到什么水平?应该在1分钟以内。
提问:
我问的问题可可以和技术上没有多大的关系,我们SQL Server和微软上的SQL Server有什么区别?
沈志鹏:
这个问题问的太好了,这也是一个比较大的问题,几句话说不清楚,但是我能简单详情下它的渊源,SQL Server和Azure SQL 是两个产品,是以Server SERVER 2008 原生代码演进而来,它的设计初衷就是实现一款云原生的在线数据库产品。
SQL Azure 现在基本已经实现了差不多85%以上SQL Server数据库引擎的原生特性和服务功可以,它性可以实现方式和计算指标跟传统不一样,它的性可以计算摆脱了原来的CPU,内存,IOPS计算方法,完全引擎流量来收费,你选择SQL Azure的时候好好分析一下它跟传统不一样的场景。这两个产品目前来说没有太大的优劣,能说是一个母亲的两个儿子。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » SQL Server 上云最佳实践