日志服务提供日志消费和查询的功能,都属于对日志的读操作,区别在于消费提供收集和分发通道,查询提供日志查询功能。
日志服务提供了两项功能都和“读”有关:
日志收集与消费(LogHub):提供公共的日志收集、分发通道。全量数据顺序(FIFO)读写,提供类似Kafka的功能
- 每个LogStore有一个或多个Shard,数据写入时,随机落到某一个shard中
- 可以从指定shard中,按照日志写入shard的顺序批量读取日志
- 可以根据server端接收日志的时间,设置批量拉取shard日志的起始位置(cursor)
日志查询(Search/Analytics):在LogHub基础上提供海量日志查询+分析功能,根据条件进行日志查询与统计
- 通过查询条件查找符合要求的数据
- 支持关键词 AND、NOT、OR的布尔组合和结果SQL统计
- 数据查询不区分shard
两者区别:
功能 | 日志查询(LogSearch) | 日志收集与消费(LogHub) |
---|---|---|
关键词查找 | 支持 | 不支持 |
小量数据读取 | 快 | 快 |
全量数据读取 | 慢(100条日志100ms,不建议通过该方式读取数据) | 快 (1MB日志10ms,推荐方式) |
读取是否区分topic | 区分 | 不区分,只以shard作为标识 |
读取是否区分shard | 不区分,查询所有shard | 区分,单次读取需要指定shard |
费用 | 较高 | 低 |
适用场景 | 监控、问题调查与分析等场景 | 流式计算、批量处理等全量处理场景 |