内存数据网格(In-Memory Data Grid)技术的出现是为了应对日益增长的数据实时处理性的需求8。其中最具代表性的IMDG解决方案当属Pivotal Gemfire(其开源版本为Apache Geode)。在了解Gemfire/Geode的主要适用场景前,大家只需要记住12306在上一次票务查询系统大规模系统迭代时采用的就是Gemfire的企业版,替换了之前的IBM DB2,让查询时间提升了近1000倍!是的,2013-14年之前的12306,随便查张票可能需要20秒或更久。用了内存网格计算架构后直接飙升到平均2-20ms。企业版Gemfire是Dell EMC集团旗下Pivotal公司的商业化产品。笔者在负责EMC中国研究院时参与了该项目。遮盖经历告诉我们,架构的升级可以带来指数级的性能提升,永远对架构保持好奇、保持敬畏,不同的场景不妨考虑用不同的架构来适配。

我们先了解一下Gemfire/Geode的系统拓扑架构设计。Gemfire支持以下三种拓扑结构:

(1)点对点(Peer-to-Peer)

(2)客户端/服务器(Client/Server)

(3)多站点(Multi-Site)

其中,点对点拓扑结构是所有其他拓扑结构的基础组件,它的最大特点是作为缓存实例(Cache Instance)的Gemfire成员与本地应用进程共享同一个堆(Heap),并且在分布式系统中各成员直接维系通信。这也是我们认为的最简洁的拓扑结构,如图1所示。

图1 Gemfire的P2P拓扑结构

C/S拓扑结构主要用来做垂直扩展(Vertical Scaling),如图5-5所示。在这样的拓扑设计中,位于应用进程中的Gemfire客户端只保存一小部分数据,而把剩余的数据留给Gemfire服务器端保存,而多个服务器之间依旧以P2P的方式组网。这样的设计有两大优点:一个是提供了更好的数据隔离性,另一个是当数据分布造成网络负载沉重的时候,C/S架构通常会提供优于P2P架构的性能。

图2 Gemfire的C/S拓扑结构

多站点拓扑方案则是一种水平扩展(Horizontal Scaling)方案,也是三种拓扑结构中最为复杂的。Gemfire的设计理念采用的是跨广域网(WAN)的松散耦合(Loosely Coupled)组网方式。这样组网的主要优点是,相比那种紧耦合组网方式,各站点相对更为独立,任一站点网络连接不畅或者掉线对于其他站点影响微乎其微。在多站点拓扑结构中,每个站点内部依然采用的是P2P的拓扑结构,如下图所示。

图3 Gemfire的Multi-Site拓扑结构

Gemfire/Geode的应用场景很广泛,总结起来有如下几大类:

(1)高可用、分布式缓存(Distributed Caching)

(2)网格计算(Data Grid)

(3)交易处理(Transaction Processing)

(4)流数据处理、事件触发、通知(Streaming/Event Processing & Notification)

在分布式缓存场景中,Gemfire可以被用作缓存层来提供基于内存的常用数据快速返回(即便在后端服务器掉线的情况下,Gemfire依然可以提供数据服务)。Gemfire通常被看作是比Redis更强大、豪华的缓存解决方案(反之,Redis也可以被看作是“穷人”的Gemfire……)。

一类典型的案例就是当保险公司客户在线填写表格的时候,相关信息可以通过Gemfire在服务器端缓存,这样做的结果是极大地提高了端到端系统反应速度,用户不会再因为网页刷新等待服务器完成计算返回表格数据时间过长而导致中途退出或终止填写表格(客户流失)。

上面提到的在交易处理场景中的铁道部官网12306.cn(火车票网上订票服务)的案例,在此多说两句。

12306在2013年春节之前的数个月内做的大规模的系统调整是把整个票务查询部分的功能从原有的关系型数据库调整为使用基于Gemfire的IMDG解决方案,其取得的系统性能提升是惊人的,如下表所示,查询效率提高了100~1000倍,并发可以达到每秒钟26,000次(等同于每小时可以完成超过9亿次查询,一天可以完成超过200亿次查询),而且系统的造价远远低于原有的以小型机为主的高运维成本架构。这也充分体现了NoSQL类系统设计与实践在商业领域的巨大潜力!

表1 12306系统改造前后对比

性能

12306网站改造前

12306网站改造后

查询耗时

单次~15秒

最短1~2毫秒,最长150~200毫秒

查询并发

并发性差,无法支持高并发

万次/秒,高峰2.6万/秒

可扩展性

无法动态增加主机

弹性、按需增减主机,数据同步秒级

系统架构

UNIX小型机

Linux X86服务器集群

系统规模

72台UNIX系统+一个RDBMS

10台主X86服务器 + 10台从X86服务器 + 1个月(2TB)历史票务数据

大数据应用实践2: IMDG应用场景相关推荐

  1. 混合云模式下 MaxCompute + Hadoop 混搭大数据架构实践

    摘要:2019杭州云栖大会大数据企业级服务专场,由斗鱼大数据高级专家张龙带来以 "混合云模式下 MaxCompute+Hadoop 混搭大数据架构实践" 为题的演讲.本文讲述了从 ...

  2. 专题导读:大数据创新实践

    专题:大数据创新实践 导读: 近几年,在各类学术期刊中,关于大数据先进理念.关键技术和核心算法的讨论越来越多."阵法"越来越复杂,"刀剑"越来越锋利,但是对于怎 ...

  3. 傅一平:运营商的大数据变现实践

    3月29日,由东湖大数据发起.数据观作为合作媒体参与的大数据百人会·线上沙龙第9期活动圆满结束,浙江移动大数据中心傅一平博士就<运营商大数据变现实践>主题与大家分享了数据利用的心得与经验, ...

  4. 大数据平台架构技术选型与场景运用

    内容来源:2017年5月6日,大眼科技CTO张逸在"魅族技术开放日第八期--数据洞察"进行<大数据平台架构技术选型与场景运用>演讲分享.视频地址:https://mp. ...

  5. 传统银行业务的数字化转型-中原银行大数据建设实践

    在以"场景赋能·驱动有数"为主题的神策 2018 数据驱动大会现场,中原银行刘远东发表了名为<传统银行业务的数字化转型-中原银行大数据建设实践>的主题演讲,以下内容根据 ...

  6. IBM陈剑:金融行业大数据解决方案实践

    本文讲的是IBM陈剑:金融行业大数据解决方案实践,当前,行业对于"大数据"的关注疾速攀升,这并不亚于数据本身的增长程度.您是否想过,我们看到的"谈大数据色变"或 ...

  7. 从入门到进阶!当下火爆的大数据技术及算法怎么还能不知道 一起来学习互联网巨头的大数据架构实践!

    大数据被称为新时代的黄金和石油,相关技术发展迅猛,所应用的行业也非常广泛,从传统行业如医疗.教育.金融.旅游,到新兴产业如电商.计算广告.可穿戴设备.机器人等.大数据技术更是国家科技发展和智慧城市建设 ...

  8. 东网科技荣膺2016中国大数据最佳实践奖

    11月24日,由中国软件网主办的数据趴活动圆满落幕,活动现场隆重揭晓了大数据领域的重磅榜单,旨在对大数据领域中表现突出的企业.人物进行表彰.东网科技有限公司(以下简称"东网科技") ...

  9. 【2016年第3期】中国电信大数据应用实践

    张宇中,李名洋 中国电信股份有限公司云计算分公司 中图分类号:TP 399       文献标识码: A doi: 10.11959/j.issn.2096-0271. 2016036 引用格式:张宇 ...

  10. 基于大数据的精准营销与应用场景

    基于大数据的精准营销与应用场景 2015年08月11日 大数据 大数据营销时代来临 营销学领域过去半个多世纪的发展让我们见证了从"以产品为中心"到"以客户为中心" ...

最新文章

  1. Android学习笔记(11):线性布局LinearLayout
  2. 20个优秀的JavaScript 键盘事件处理库
  3. 宏BOOST_TEST_TRAIT_TRUE的用法实例
  4. 经典C语言程序100例之三零
  5. tortoise清理本地分支_TortoiseGit操作本地仓库的详细使用方法
  6. 云存储技术-JDK的安装
  7. vmware挂载共享目录
  8. 【知识笔记】WebForm
  9. NSIS V3.08 简体中文增强版
  10. Java ssm框架是什么?
  11. javascript开发植物大战僵尸网页版游戏源代码下载
  12. 音乐节拍自动标记插件 BeatEdit
  13. 华为p4支持鸿蒙功能吗_华为鸿蒙系统支持机型介绍
  14. 逍遥模拟器上传服务器文件,逍遥模拟器后台操作
  15. 微信小程序订阅消息记录坑
  16. [×××.launch]is neither a launch file in package [××] nor is [××] a launch file name解决办法
  17. 让生活变得简单的60种方法
  18. unity 谷歌广告介入_Unity为开发人员发布Google广告
  19. B2C电子商务网站的组织架构
  20. [附源码]SSM计算机毕业设计水库水面漂浮物WEB系统JAVA

热门文章

  1. linear regression and logistic regression
  2. npm 全局安装 yarn、tsc、rimraf 不是内部或外部命令
  3. python应用内部审计_基于大数据技术提升内部审计质量的路径
  4. 技嘉显卡性能测试软件,技嘉RTX 3080 GAMING OC魔鹰显卡评测:全方位压倒前辈的新秀...
  5. QComboBox选项置灰、不可选择、文本颜色(汉字颜色)
  6. [机器学习与scikit-learn-33]:算法-回归-通过PolynomialFeatures实现数据的升维
  7. mongoDB存视频和mysql存视频_数据库存储方式:MySQL存储、MONGODB存储、Redis存储、json存储、视频存储、图片存储...
  8. Fiddler获取微信视频太好用了呀
  9. 两线怎么接三线插座图_三线插座怎么接两线
  10. 给计算机新用户授权,AD管理之授权用户将计算机加入域的权限