1.大规模数据分析的需求
数据归档,多维度的检索,高效率的搜索
完整的日志系统: 1.1 收集数据:从多个终端收集数据 1.2 传输数据:稳定可靠的传输数据 1.3 存储数据:大规模数据的存储 1.4 数据分析:对于数据进行梳理 1.5 错误告警:对于报错内容通告
2.elk
2.1 elasticsearch:搜索分析引擎,具备实时文件存储,分布式收索
2.1.1 存储 存储是一条数据是一个文档,通过json进行序列化。
Elasticsearch ? 索引(Index) ? 类型(type) ? 文档(Docments) ? 字段(Fields)
2.1.2 索引: inverted index(倒排索引)
2.1.2.1 term 和 Posting list : term可以理解为字段 Posting理解为对字段的集合id,不如年龄为18的同学有id=1,3,5 19有id=2,6 term|Posting list的值有 Age:18|[1,3,5] 19|[2,6]
term dictionary:将所有的term排个序,二分法查找term,logN的查找效率
term index:前缀与Term Dictionary的block之间的映射关系
2.1.2.2 Roaring bitmaps(高效压缩位图)
2.2 logstash:采集和多管道传输,可以从多个设备收集日志发送给存储库
2.3 kibana:数据可视化
|