ES+HBase【案例】仿百度搜索02:项目架构设计

本文探讨了一个项目中如何处理海量数据的存储与检索问题。数据来源于爬虫或企业内部,存储在HBase中,并在ES建立索引来实现快速查询。提出了三种HBase到ES的数据同步方案,包括直接同步、使用HBase协处理器和借助Redis做中间层。推荐使用第三种方案,因具有较好的可控性和容错性。项目流程涉及数据入库、Redis存储Rowkey、ES索引建立、用户查询及数据完整信息获取。

一、项目概览

在这里插入图片描述

二、项目整体架构流程

在这里插入图片描述
1:项目的数据来源可以是通过爬虫到互联网上采集的数据,也可以是企业数据库中的内部数据
2:根据数据的来源不同,使用不同的程序将数据入库到HBase,实现海量数据存储
3:针对HBase中的数据在ES中建立索引。

注意:并不是把HBase中数据的完整内容全部在ES中建立索引,只需要将检索用到的那些字段在ES中建立索引即可。例如:HBase存储的原始数据有20个字段,在ES可能只需要存储5个字段即可,具体的存储细节在后面会详细分析。

4:在数据展现模块中提供仿百度搜索功能。

三、ES和HBase数据同步的三种方案

针对此项目,有一个核心功能点,如何在ES中同步对HBase中的数据建立索引?
大致有下面这几种方案:

1:方案1

在将原始数据入库HBase的时候,同时在ES中对数据建立索引,此时可以把入库HBase和ES的代码放在一个事务中,保证HBase和ES的数据一致性。

这种方案的优

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

做一个有趣的人Zz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值