为了进一步促进云计算创新发展,建立云计算信任体系,规范云计算行业,促进市场发展,提升产业技术和服务水平。由中国信息通信研究院、中国通信标准化协会主办的“2018可信云大会”将于2018年8月14日-15日在北京国际会议中心召开。

如今,云计算已经发展了10余个年头,并逐渐形成庞大的产业规模,企业“上”云也并非难事。但不断出现的信息数据泄露事件给火爆的云计算界敲响了警钟,企业开始逐渐意识到云计算的风险性,明白部署哪一种云都有可能受到黑客攻击。虽然云计算可带来显著的优势,但潜在风险也不容忽视。"2018可信云大会"邀请了行业内多位大咖与权重人物共同探索可信云与云计算的创新发展新路径。

15

以下是上海热璞网络科技有限公司高级解决方案师黄小慧关于企业级私有云数据库的分享。

大家好,首先,我不是技术出身,阴差阳错就进入了这个行业,我觉得这个行业非常有意义,因为在我印象当中,其实我原来是学广告的,后来我发现数据库这个东西很好玩、很新奇,我平时是做解决方案,所以我一般是跟客户包括底层技术交流的比较多,所以我大概知道用户的痛点在哪里,为什么要用产品。

本来我是不管商务这方面的,我不知道今天是赞助的,我还想说会不会有打广告的嫌疑,既然这样讲的话,我就放开打广告。

谁给我的勇气来到现场?我想还是我们公司,所以我先介绍一下我们公司。大体上说说我们公司是什么样子,为什么我们需要去做这样的产品,这个产品是什么样子的,因为后面会继续讲到。

我们这个公司总部是在上海,在北京、深圳、南京都有分公司,我们这个公司基本上从05年开始一直做MySQL。我们公司成立2013年,但是做分布式MySQL这块已经做了将近有十年的经验,我们只关注在MySQL,解决MySQL的问题。刚才龚老师讲到我们一直在外面讲说要干掉Oracle,不是说完全忌惮Oracle,完全是由于现在的场景下尤其是互联网行业后面引起了我们现在是企业会直接面对消费者,所以我们有很多的传统企业的场景会不断地面临到大并发、高性能这种场景。

MySQL和Oracle比,Oracle就是一只老虎,MySQL可以把它想象成一只狼,一个MySQL肯定是干不过一个Oracle,但是一群狼、一群MySQL就可以干得掉一只老虎,所以我们把一大群的MySQL集群加起来代替Oracle集中式的场景去解决目前的大并发、高压力的场景。我们目前测试下来分布式下的性能是Oracle没有办法比的,跟同行业的分布式数据库比的话,我们更专注把功能做精细,比如备份强一致、应用透明这些。

我们主要是在MySQL这方面做的比较到位,因为以往我们老板出去讲的时候都是讲的分布式,大家也是看腻了,所以我们今天讲讲私有云这块。为什么我们要做私有云这块产品,是因为我们做了很多金融行业的场景,前几个月和各个厂商一起去合作参加信通院做的金融行业分布式金融数据库的标准,白皮书应该也是近期有发出来,大家有兴趣可以看一下。

我们和中信银行做了一个测试的环节,是验证了MySQL作为开源数据库在银行场景下是拥有稳定性和可靠性的,所以在金融场景下我们的MySQL也是可以用的。

为什么做MySQL的私有云数据库?我们觉得总结下来是“生命不值得浪费”,因为其实我在学校里面一直到现在我都觉得长的帅的人不一定是什么聪明的人,但是聪明的人一定是自带BGM、自带光环,课堂上讲的滔滔不绝的,或者突然一个人上去把数学题解开,底下都是一片“哇”,你们都是男生。

我本来是拿了雷奥纳多举例,他从小年轻,变到现在拿到奥斯卡金人奖,他最终目的就是这个,他日复一日提高演技,他每天重复一样的工作,他拿到了他的成就,大家入行以后有自己的目标,日复一日地工作,但是这样的工作真的有效吗?

我们小学的时候刚接触英语不懂,老师就说一个单词就抄,一开始不懂的时候觉得重复性的劳动力是有价值的,但是当APPLE这种单词熟到不能再熟的时候,抄还有用吗?反复的工作真的有价值吗?就像现在讲到自己的工作,DVN,熟练一点的DVN装MySQL十分钟左右,不熟练的装半个小时,业务上来了,突然明天要一百个MySQL你怎么搞?平时就算用脚本搞,一个晚上做一百个MySQL加班也很久了,痛苦吧?遇到数据迁移的场景,没有数据,自己去搞,连续加班一天还可以,连续加班两个礼拜、一个月、一年,你受得了吗?你的时间都重复的浪费在了这些简单的耗时的工作,比如安装MySQL、备份、做性能优化,要找MySQL需要优化的地方,还要在线修改表结构,各种,以往有一定积累的人会用脚本,但是脚本目前支撑不了目前的业务量,有没有产品化的方式帮助用户搞定一切的东西,让你们腾出时间来搞更高级的东西,比如容器云这些都是属于新技术,如果你把时间浪费在所谓的安装部署这些事情上就没有时间研究新技术。如果你一直忙于这种基础的又比较费时的事情上,你会觉得天天都很忙,结果发现没有忙出什么东西来,我身为一个人的话我的时间是浪费的,但是你在企业里面呢?公司会觉得你的加班有价值吗?会觉得你加班就给你涨工资提薪升职吗?不会的。所以要去完成更有意义的事情,完成目标。

我今天讲讲HotDB Cloud就是私有云这块,之前接触的客户对私有云有想法,也想自己研发,但是没有思路。所以今天跟大家分享一下我们是怎么想、怎么做的,也给大家一个借鉴,大家有一些什么需求可以提出来帮我们改善一下。

总体来讲,一个是资源的统一管理,另外就是这个资源怎么分,怎么用,分给谁,这些是我们要关心的事情。我们分给用户、使用者以后,他们怎么用你也会担心,你的掌握权是非常强的,你就会担心他会不会搞破坏,或者不会用、瞎搞,这样就需要一套数据安全性的方案,你就要监控,平时天天要看一些主要的监控数据到底有没有,所以这三块是属于比较重要的,我们通过产品化的方式解决了以后就可以减轻你的很多工作量。

我们直接看产品吧,这是我们一个架构上的组成,我们分为几个不同的组件,也没有借用开源技术去改,而是全部自己研发的,这个大家有兴趣可以私下来交流。

这是我们一整个的技术框架,这一层是资源层,我们要做一些监管,这一整个框架就是我们的私有云,基本上是属于PaaS比较偏底层一点,我们基于IaaS层上面一层作为一个数据库服务提供的服务。至于装载、容器、物理机我们都是在尝试,尝试用新的技术去方便大家更好地去应用。

因为我们在做这个产品的时候也会去考虑这个产品的技术方向到底是什么样子,我们以往目前整个全球来看的话,比较主流的是亚马逊,然后是阿里云,这种都是偏主流的技术,所以我们跟着主流也是做了这么一套,但是阿里云和亚马逊是主推公有云,所以我们想着企业更希望的是自主可控,更加安全稳定的方式,所以我们寻思做一套私有云,但是私有云怎么更加易用,让用户不那么费劲,这是我们考虑的事情。

采用中间件模式或者用以往有一些自动化管理平台这种形式完全不一样,因为你其实没有中间件的话就没有做一些隔离上的东西,加一层中间件跟直联模式相比会更加有安全性。

底层的那些技术是完全透明的,所以稳定性、应用性也会比较高。

这是我们的一些特性,直接通过页面展示给大家。通常基本上都是会分成两个系统,一个是用户系统、一个是管理员系统。我的用户就是大家看到的阿里云的模式,管理员系统就是DBN或者是大家说的那些主机组,这些会去进行一个管理。

如何去方便地管理?首先我的一台服务器过来,因为我要提前准备,不会至于到用户申请过来我临时创建,而是我提前会做一些库存的储备,一台服务器过来布几个合适,或者布成什么样的合适,我这边有一个资源规划的功能,里面有一个比较通用的一种算法告诉大家说你这台机器是一种什么样的配置,做多少个实例,一点就全部创建,这样也不需要一个一个手工创建,所以会比较方便。这个创建时间可以跟大家分享一下,就是我们目前测下来,基本上双组MySQL实例是30秒到3分钟这样的进度,跟人工相比效率上会提高很多。

然后我们的用户申请以及我们的自动分配,这是我们比较熟悉的快速交付的功能,就是比如说一天让一百个用户来申请,直接分一百个完全没有问题。然后就是资源管理,就是我对于我的后台来讲,就是看到具体是哪个用户,是使用的哪种实例,是什么样的情况这些都会有比较强的把控。

然后就是大家比较关心的扩容的问题,以往我们会有测试库,测试库一般都是单库,到时候要把架构扩容直接升成双储,双储可能不够了,加一个只读,把读写压力分散掉,分散掉就发现集群的高可用的时效要求比较高,但是如果一个系统在一个实例里面突破了单库承受的能力的时候就要往分布式迁,这样的扩容也是可以,涉及到架构扩容、资源扩容以及实例迁移的问题,这些都是通过产品化的思路去解决,而不需要熬夜多久多久去迁移的方式。

我们讲高可用,以往如果说没有一个产品去解决,或者没有中间件的话,我们可能会用MHA(音)等等的模式,但是都会有一些不稳定性,用中间件的模式就是我们是用检测机制,我们会有三次检测,确认主库真的挂掉的话,中间件把上层应用圈Hold住,把底下的备库进行追评,然后切入过来,这一层不会影响应用,所以这种高可用的话是目前来讲比较好的一种方式,对于大家还是要求稳一点,目前我们测下来这种切换的时间大概也是在1.8到2.2秒之间,所以是比较快的。

我们还是强调数据强一致,基于MySQL自身的复制,5.6其实也不会丢数据,只是隔离级别有一点问题,你其他的线程可以看到还没有提交的数据,大家认为那时候如果切换会有丢数据的情况。5.7复制的模式下会保证储备数据的强一致,对银行他们要求是毫秒级别,这个切换还是在秒级。毫秒级我们用MGR的架构,切换程度可以到毫秒级,之前有人问了一下MGR是单组还是多组模式,目前测试下来还是单组比较可靠,多组还是有数据分布的问题,所以我们还是MGR目前还不是太成熟,这是MGR的演示,这是我们跟几个不一样的复制原理的总结,最终还是认为5.7半同步复制和单节点切入模式是比较推荐的。

我讲一下安全体系,最基础的就是一些白名单和SQL审计这些,然后我需要做一些审计,我的SQL审计和登陆审计,管理员需要看到某一个用户什么时间登陆了MySQL这个大家应该也会关心,前面那一层白名单或者是SQL拦截都是属于危险未发生的情况下做一个拦截,如果真的最终会有问题的时候,SQL审计和一些登陆审计就可以帮助溯源,但是我们最终还是不希望大家出问题。这些都是功能上的,然后在用户权限这块有比较强的把控,大家用到比较多的就是备份的问题,这里面还是有一个定时备份计划,这种备份建议大家要做。

私有云这块,大家会有定期还原演练的平时的工作,这里会提供出来,不会人工把备份文件导出来,再导入到新的数据库去校验。备份机制还有跨机房容灾的问题,目前在上海证券交易所实施跨机房容灾,双活目前是没有,未来会做。灾备这块大家可以来交流一下。

备份恢复,就是定时备份,还原可以按照时间点去还原,还有还原演练可以定期去检验你的备份文件的可靠性。

这是整体的容灾方案,我的实例之间就是MySQL之间的数据是强一致,加上MySQL的高可用机制,以及跨机房容灾和备份以及双活方案,这一整套是整体的解决方案。这块是监控报警的问题,你可以看到具体哪一个服务器哪一个MySQL实例到底出了什么问题,或者哪个参数飙高,包括一些资源监控,比如说这台服务器资源马上不够了,或者看到某个实例的CPU、I/O在某一个特定时间点特别高,那可能就要注意加强一下。这些都是提供辅助的方式帮助优化数据库和保证数据库的稳定。我们已经实行了邮件报警,微信也会做一个对接,这样大家就可以更加方便地知道了。

这个其实就是资源规划。

这是系统集成,我们的数据库服务其实不能说单独拎出来,因为企业里面都是在做PaaS平台,我们现在已经提供了标准的接口出来,你可以做一个集成,这些也可以,因为有了标准的接口可以减少大家的工作量,对于底层IaaS层有一些标准接口。

我们帮上交所做了从去年年底到现在一直在支持着,然后目前20多个业务系统都稳定上线了,包括跨机房容灾的方案已经上线而且已经验证过可行、OK的。

国报人寿已经做了云平台,我们和腾讯云合作,包括和其他云厂商集群,尽量以便捷的方式提供云服务。

我今天的演讲结束了,谢谢大家。

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排 行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2021-09-07 11:48:07
2021-08-31 09:40:18
云资讯 云数据库选型必读:总有一款适合你!
无论你为自己的应用选择什么数据库,都别忘了在投入资源之前运行概念验证,并在进入到生产环境之前进行负载测试。 <详情>
2021-08-04 09:35:00
市场情报 AppGallery Connect Serverless服务全网上线,简化应用的开发和运维
AGC Serverless为开发者提供了服务的跨平台支撑,提供简单易用的多平台端侧SDK、Restful接口等多项开发便利,减少在多个平台差异适配的工作量,提高代码复用性,进一步提升 <详情>
2021-05-20 14:19:33
云资讯 腾讯云发布首款分布式分析型数据库TDSQL-A
在刚刚结束的第七次全国人口普查项目中,TDSQL-A支持了十亿级用户数据,以及海量超级大表关联高并发统计查询的场景要求。 <详情>
2021-03-31 09:36:35
云资讯 西部数码---助力企业云计算,构建适用云数据库产品
与云服务器自建数据库和传统自建数据库相比,云数据库RDS在性能、功能、拓展性、便捷性和性价比方面都具有明显的优势 <详情>