如果希望把 ES 作为大型数据库使用,建议注意两个方面的问题:
我们把 ES 定位为分布式的搜索分析型数据库,并通过实际业务验证,可以非常好的支持下列场景:
全文搜索:ES 最初的目标场景,非常多的大型互联网公司都在基于 ES 搭建自己的核心搜索,包含 Git 的代码搜索、美团的电商搜索、头条的视频搜索等。ES 在 DB-Engines 的 Search Engine 领域也是常年排名第一。
日志实时分析:这是推动 ES 快速发展的场景,从官方统计数字、云上运营经验看,占据了 ES 使用场景的 70%+。Elastic Stack 提供的完整日志解决方案,已经助力 ES 成为日志实时分析的开源首先方案。
时序数据处理:我们从 2017 年中开始探索使用 ES 作为时序数据解决方案,逐步完善 ES 的时序处理能力,相比开源的时序数据库,在写入吞吐、查询性能等方面已经追齐、甚至超越竞品,并且很好的支持了腾讯云监控单集群每秒千万级的业务吞吐。受腾讯在时序场景的启发,Elastic 官方也在探索支持 Metrics、APM 等时序场景。
其他:社区和公司内也有其他团队把 ES 应用于 OLAP 分析、文档数据库等场景,有需要的团队可结合场景需求评估测试。
由于不支持事务,以及在建立索引方面的计算 / 存储成本,ES 并不适合于 OLTP 及 离线日志数据处理等场景。
开源 ES 的易用性和完整的日志解决方案,推动 ES 非常快速的发展。但不少用户在大规模应用 ES 时遇到了不少问题,例如稳定性方面有集群易雪崩、压力不均等,成本方面硬盘、内存开销高等。TencentES 在兼容开源 API 的同时,在内核方面做了非常多的优化,用于支撑腾讯云 ES 服务、公司内部大量核心业务,包含日志实时分析、全文搜索、时序数据处理等众多场景。具体内核优化内容简单介绍如下:
自保护机制:提供权限认证、漏斗限流、内存限流、多租户隔离等多层级、全链路的自我保护
均衡策略优化:支持节点间、多盘间的分片均衡,避免容量、读写压力不均
集群扩展性:单集群达到千级节点,支持 50w 分片,索引创建速度控制在秒级,相比开源提升 30+ 倍
Bug Fix:修复 Master 阻塞、分布式死锁等已知 Bug,提升集群稳定性
堆内存优化:通过 LRU+Off Heap 技术降低堆内存使用 80%,单节点支撑容量由 3T 提升至 20T
冷热分离:集群内支持多层级存储设备混部,降低用户成本
Rollup:支持高性能 Rollup 计算,降低存储成本,数量级级别提升分析性能
Merge重构:支持时间序 Merge、冷索引自动 merge 等,搜索等场景查询性能提升 50%+
查询执行计划优化:基于 CBO 模型优化 Range 查询,长时间范围 Range 查询性能提升 10+ 倍
写入性能优化:降低主键唯一性检查开销,支持存储裁剪,性能提升 50%+
如果希望把 ES 作为大型数据库使用,建议注意两个方面的问题:
我们把 ES 定位为分布式的搜索分析型数据库,并通过实际业务验证,可以非常好的支持下列场景:
全文搜索:ES 最初的目标场景,非常多的大型互联网公司都在基于 ES 搭建自己的核心搜索,包含 Git 的代码搜索、美团的电商搜索、头条的视频搜索等。ES 在 DB-Engines 的 Search Engine 领域也是常年排名第一。
日志实时分析:这是推动 ES 快速发展的场景,从官方统计数字、云上运营经验看,占据了 ES 使用场景的 70%+。Elastic Stack 提供的完整日志解决方案,已经助力 ES 成为日志实时分析的开源首先方案。
时序数据处理:我们从 2017 年中开始探索使用 ES 作为时序数据解决方案,逐步完善 ES 的时序处理能力,相比开源的时序数据库,在写入吞吐、查询性能等方面已经追齐、甚至超越竞品,并且很好的支持了腾讯云监控单集群每秒千万级的业务吞吐。受腾讯在时序场景的启发,Elastic 官方也在探索支持 Metrics、APM 等时序场景。
其他:社区和公司内也有其他团队把 ES 应用于 OLAP 分析、文档数据库等场景,有需要的团队可结合场景需求评估测试。
由于不支持事务,以及在建立索引方面的计算 / 存储成本,ES 并不适合于 OLTP 及 离线日志数据处理等场景。
开源 ES 的易用性和完整的日志解决方案,推动 ES 非常快速的发展。但不少用户在大规模应用 ES 时遇到了不少问题,例如稳定性方面有集群易雪崩、压力不均等,成本方面硬盘、内存开销高等。TencentES 在兼容开源 API 的同时,在内核方面做了非常多的优化,用于支撑腾讯云 ES 服务、公司内部大量核心业务,包含日志实时分析、全文搜索、时序数据处理等众多场景。具体内核优化内容简单介绍如下:
自保护机制:提供权限认证、漏斗限流、内存限流、多租户隔离等多层级、全链路的自我保护
均衡策略优化:支持节点间、多盘间的分片均衡,避免容量、读写压力不均
集群扩展性:单集群达到千级节点,支持 50w 分片,索引创建速度控制在秒级,相比开源提升 30+ 倍
Bug Fix:修复 Master 阻塞、分布式死锁等已知 Bug,提升集群稳定性
堆内存优化:通过 LRU+Off Heap 技术降低堆内存使用 80%,单节点支撑容量由 3T 提升至 20T
冷热分离:集群内支持多层级存储设备混部,降低用户成本
Rollup:支持高性能 Rollup 计算,降低存储成本,数量级级别提升分析性能
Merge重构:支持时间序 Merge、冷索引自动 merge 等,搜索等场景查询性能提升 50%+
查询执行计划优化:基于 CBO 模型优化 Range 查询,长时间范围 Range 查询性能提升 10+ 倍
写入性能优化:降低主键唯一性检查开销,支持存储裁剪,性能提升 50%+