大索引技术,大数据的未来

原创 2014年12月17日 11:43:13

不管你信也好,不信也好,大数据时代真的来临了,随着Hadoop技术的普及,其生态圈发展的越来越壮大,Hive、Hbase、Spark、storm等的一系列新名词不断的涌现在我们的眼里。似乎nosql一夜间,攻陷了全部的大数据阵地。

那么传统的关系型数据库的一些思路,真的没有用武之地了么?真的就一去不复返了么?当大数据技术大旗在每个山头摇摆的时候,我们躲在角落里还能做些什么?“索引”,没错,数据库时代的必杀,大数据的利器。

当大数据使用上大索引后有什么好处?

1. 索引技术大幅度的加快数据的检索速度。

2. 索引技术可以显著减少查询中分组、统计和排序的时间。

3. 索引技术大幅度的提高系统的性能和响应时间,从而节约资源。

这个大索引系统应该什么样?

1. 数据规模超:万亿甚至十万亿。

2. 数据时效性高:数据从产生到能够查询到结果这个间隔不会超过30秒。

3. 查询响应要快:从万亿规模的数据里,查询到相关数据,响应时间为毫秒或者几秒。

4. 支持容灾:要能够支撑可靠的容灾,并且保证良好的数据的准确性。

5. 能够与现有的大数据系统进行较好的融合,方便之间的交互(数据导入导出)

存在哪些问题?

传统的关系型数据库的索引目前存在如下几个问题,是我们需要改进的。

1. 索引存储在本地硬盘

首先是分散在机器的每个硬盘上,索引不容易管理,容灾与高可用的实现代价较高。

其次是索引的迁移成本以及单机硬盘的大小制约了其索引规模和大小。

最后是如果是通过冗余("master/slave"或者"双写")等方式实现数据容灾,数据一致性的设计难度较大。

2. 表的管理,索引,调度曾混杂在一起,集群规模上不去

索引数据、计算资源掺杂在一起,调度系统管理的事情太多,既要管理索引,又要管理心跳,也要维护容灾,导致调度系统的机器规模上不来。同一个计算资源只分配给固定的索引数据导致计算资源太多的浪费。

3. 对硬件要求太高

数据必须长期持久的滞留在内存中,否则无法快速的加载和查询数据,对硬件要求较高一般都是需要大内存(48G以上)以及SSD硬盘,百亿规模的数据甚至需要数百台机器来支撑快速的查询,对于万亿规模的数据来说成本太高.

应该如何改进?

随着基于Docker on Gaia (腾讯版的Yarn)技术的趋于成熟以及在HDFS中的索引技术的成熟和性能的提升,低延迟的万亿规模的索引技术有了希望。

1.Gaia本身是一套完美的任务调度系统,他解决了Hadoop1.0版本Jobtracker调度的不足,调度延迟时间大大缩小,并且适合实时的即席任务调度,启动的任务是可以长久的持久化的运行的,并且有很好的容灾机制。

2.Docker解决了复杂的环境的依赖的问题,简化了Hermes繁杂的部署步骤。

3.索引可以直接存放在HDFS中,通过HDFS来解决数据的容灾问题,让业务能更专注索引的实现。目前也不要说HDFS性能很差了,那是过去,现在来看,其HDFS结合Hermes的BlockBuffer后性能还是很不错的。

Hermes大数据大索引的一个实现

我们实现Hermes on Docker的版本,该版本的设计有如下几个特点。

    1.易于使用与部署,几个Jar包几个Submit命令,服务直接在Docker上启动,不再需要部署复杂的环境。

    2.将索引数据与计算资源的分开,不再交叉的放在一起,分别管理,划清界限,减少程序设计复杂度。计算资源的管理直接交给Gaia来处理,从而提升集群的规模。

    3.一个计算资源不再固定的负责一个索引,而是根据实际的计算需要,处理不同的索引,这比之前一个资源(CPU+内存)固定的分配给一个索引利用率会高很多,因为并不是每次检索和查询都需要扫描全部的数据,有些数据根本就不需要或者很少去查,就没必要让他们长期的占用一个资源。

    4.索引会直接存储在HDFS上,通过HDFS来实现数据的高可用,这样程序的设计复杂性就会减少很多,不再担心本地硬盘的问题(是否损坏,是否已满,硬盘损坏时迁移时间过长),也不用担心各种网络的问题,理论上HDFS上有多大的空间,我们就可以存储多少索引,不再受限于本地磁盘大小的限制,数据规模可以很容易的水平拓展。

    5.索引的管理将会充分的放权,采用HDFS的目录形式的层次结构,便于管理,外部可以自由的配置索引的存储目录,根据不同业务的需要,索引可以按照时间进行打散,按照时间进行目录分区,也可以按照某些用户ID进行hash,也可以按照某些业务来管理配置不同的生命周期。

6.这个版本的Hermes除了可以单独对外提供服务,也会更加的开放,对外提供索引服务,提供了很多拓展功能,现有的Hive以及Spark可以很方便的通过类似InputFormat或RDD的方式直接使用大索引。同时可以方便的与HDFS,Hbase,Hive,进行交互,也可以通过自定义实时的消费Kafka,MetaQ等消息队列的数据。

试想下,Spark在利用上这个大索引后,一个万亿规模的数据,几秒钟就返回结果,而且还支持很多的复杂查询,是不是很值得期待呢 。


拓展阅读

Hermes与开源的Solr、ElasticSearch的不同



相关文章推荐

如何优化操作大数据量数据库(建立索引)

转载于:http://www.cnblogs.com/leilei/articles/1152499.html首先,为了建立一个测试环境,我们来往数据库中添加1000万条数据:declare @i i...

大数据时使用索引实例

本文是根据 海量数据库的 查询优化及分页算法方案 做的实验,不知为何,同样的数据量时间却比原文少了将近百倍,由于插入数据耗时时间过长,所以只能勉强得出结论,大致还是准确的,可适当增加数据 CREATE...

大索引技术大数据的未来

一、大索引技术,大数据的未来        YDB并没有采用堆积机器,靠大内存和SSD硬盘的方式来提升计算速度。YDB采用索引技术, 在RDBMS中索引的概念大家一点都不陌生,但是在大数据里大家...

大索引技术大数据的未来

一、大索引技术,大数据的未来        YDB并没有采用堆积机器,靠大内存和SSD硬盘的方式来提升计算速度。YDB采用索引技术, 在RDBMS中索引的概念大家一点都不陌生,但是在大数据里大家...

大索引技术,大数据的未来

不管你信也好,不信也好,大数据时代真的来临了,随着Hadoop技术的普及,其生态圈发展的越来越壮大,Hive、Hbase、Spark、Storm等的一系列新名词不断的涌现在我们的眼里。似乎NoSQL一...

Hadoop大数据分析技术以及未来发展趋势

2014是一个IT风云变幻莫测的一年,传统的行业都积极走向了互联网,从MWC大会闭幕我们可以看出未来互联网比拼的再也不是硬件而是“软”实力了。来自多个渠道的信息显示,阿里巴巴集团近期正与携程旅行网洽谈...

交通大数据会将未来的大城市交通引向何方?

在百度大数据战略会议上,交通运输部科技司司长赵冲久讲解了中国未来的大数据交通战略。众所周知北京的交通一向很糟糕,那么大数据会让这样的大城市交通带向何方?我希望能够从交通大数据的获得,以及对数据的处理上...

大数据时代创业难:盘点未来十大初创企业

耳常闻“大数据”,眼常看“大数据”,可就是不知如何用“大数据”!对于国内互联网创业者,要是能在这“信息大爆炸”的年头,从海量的“垃圾”信息当中嗅出点端倪,找出个切入点,少不说能成为行业的佼佼者,一不小...
  • mark_qi
  • mark_qi
  • 2013年07月04日 18:22
  • 543

腾讯大数据高级产品总监洪桃李:决胜未来的4大关键能力

11月18日,在2017中国产品经理大会上,腾讯大数据高级产品总监洪桃李,从解码产品经理日常工作的角度,从共享单车、共享充电宝等案例着手,给大家分享了产品经理的4大关键能力:新事物的好奇心、纵深的业务...

【大咖周语录】利用大数据将是各行业未来发展的新趋势

数据本身是没有价值,数据只有和行业相结合才能产生价值。现阶段大数据利用已经走过了最初的探索期,各行各业在利用大数据方面发展出了新思路,大数据正在和更多的行业结合,也正在创造一番新的经济景象 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:大索引技术,大数据的未来
举报原因:
原因补充:

(最多只允许输入30个字)