Spark+ignite实现海量数据高性能OLAP

        海量数据多维分析我这里指的是通过数据库,然后通过某种专业olap工具(例如cognos等)进行灵活查询的行为,这种查询具有以下特定:

1、行为不可控,在模型范围内随意查询,大表与大表关联,多表关联等等,各种查询行为都有。

2、数据量巨大,大表都有1个T以上的数据。

按我们这么多年的工作实践,海量数据的olap要想达到快速查询其实是非常难的事情,主要难在:

1、查询行为不固定,即使你再努力调优,发现你只能解决一个场景,不能解决所有场景。例如机构,你按照某个字段“机构”进行分区了,命中后提升了查询效率,但是我们有好几个机构,开户机构、管理机构、交易机构,导致了你根本无法对这个模型全面优化

2、专业olap工具我们使用并不是很理想,我们曾经尝试过cube或者麒麟等产品,但是因为需求不会一成不变,一旦需求变更整个模型就要从新加载数据;维度多,多到产品都无法支持,即使能够支持cube也会膨胀非常厉害,所以我们最终还是放弃了。

    现在,我们主要基于数据库+BI工具的方式,因为这样数据加载、修数、模型变更等非常灵活,但是这样一来就会把所有压力传导给数据库,也就是你的bi效率快慢完全取决于数据库的快慢。下面我说一下几个产品的比较:

1、oracle数据库,它的性能调优主要通过主键、分区、索引等解决,所以对于千万级别数据量简单查询还可以,但是对于动辄大几千万、亿以上的多表关联,一旦没有命中索引,cpu马上就会告警。前面已经说过,灵活查询根本无法预知查询行为。所以不命中是大概率事件。

2、mpp数据库(例如GP),由于实现了分布式,会自动重分布,不用建索引也能实现高效查询,所以对于海量数据查询我们目前使用的方案基本都是采用gp。但是同时也带来一些问题,查询性能不高,分钟级以上是经常发生,并发不大。

3、hadoop+spark的方式,底层可以提供HIVE、hbase等数据库,大宽表查询我们可以直接指向hbase,我感觉灵活性比gp数据库好。虽然有索引,但是经测试基本没有任何效率的提升。使用这种方式,最好能够强制命中分区键(例如日期),命中的情况下效率非常好。

4、Spark+ignite,这是我目前认为最好解决海量数据高性能计算、查询的最好方案:

Ignite是一个分布式的内存数据库、缓存和处理平台,为事务型、分析型和流式负载而设计,在保证扩展性的前提下提供了内存级的性能。

Spark是一个流式数据和计算引擎,通常从HDFS或者其他存储中获取数据,一直以来,他都倾向于OLAP型业务,并且聚焦于MapReduce类型负载。

整合这两种技术会为Spark用户带来若干明显的好处:

通过避免大量的数据移动,获得真正可扩展的内存级性能;

提高RDD、DataFrame和SQL的性能;

在Spark作业之间更方便地共享状态和数据。

下图中显示了如何整合这两种技术,并且标注了显著的优势:

经测试,我们对某个场景进行查询1天数据只用3秒、明显高于hadoop好几倍。查询一个月数据,只要4秒,说明在大数据量情况下依然能够保持良好的查询效率。

Ignite有索引,经测试,加索引以后效率快很多

Ignite既可以用内存,也可以用ssd盘,所以在一定数据量情况下是能够保证效率。他本身就是一个数据库,也可以把一些内容持久化到硬盘。并且是多备份的,保证数据不丢失。但是我并不建议把它完全当硬盘数据库使用,取其优势就可以了。

但是他的弊端也是非常明显的,就是完全依赖内存或SSD盘的大小,我们发现其实只有20%的应用承载了80%的访问量,所以我们大不不必把所有应用采用这种方案,只把访问量大放到ignite就可以了。其他低频的依然在hadoop或者mpp数据库,采用传统数据库和这个方案相结合。

新技术层出不穷,特别是现在基于hadoop也有很多实现方案,如果我发现好东西再告诉大家

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容