Elasticsearch
Elasticsearch是一个高可扩展的开源全文搜索和分析引擎,它允许存储、搜索和分析大量的数据,且这个过程是近实时的。它通常被用作底层引擎和技术,为复杂的搜索功能和要求提供动力,组件架构如图1所示。
图1 Elasticsearch组件架构图
- 支持节点线性扩展。
- 分布式的实时文件存储,实时分析多样化搜索。
- 最大可以扩展到上百台服务器,处理PB级结构化或非结构化数据。
- 丰富的地理信息搜索,地理位置聚合。
- 多副本。
- 文档存储在索引中,索引增删改查管理,丰富的文档处理。
HBase
数据存储使用HBase承接,HBase是一个开源的、面向列(Column-Oriented)、适合存储海量非结构化数据或半结构化数据的、具备高可靠性、高性能、可灵活扩展伸缩的、支持实时数据读写的分布式存储系统,组件架构如图2所示。
图2 HBase组件架构图
存储在HBase中的表的典型特征:
- 大表(BigTable):一个表可以有上亿行,上百万列。
- 面向列:面向列(族)的存储、检索与权限控制。
- 稀疏:表中为空(null)的列不占用存储空间。