Oracle与Elasticsearch性能对比 —某行系统性能数据一次迁移实践

admin 2024年4月24日21:45:39评论0 views字数 2029阅读6分45秒阅读模式

在数据处理和分析的世界里,Oracle和Elasticsearch(常被简称为ES)是两个不可忽视的强大工具。尽管它们各自有独特的特性和优势,但在许多场景下,它们都被用作数据存储和查询的解决方案。本文将对Oracle和Elasticsearch进行比较,以帮助读者理解它们之间的差异和优势。

首先,Oracle是一款关系型数据库管理系统(RDBMS),具有强大的事务处理能力和数据一致性保证。自1970年代诞生以来,Oracle已经证明了自己在处理复杂业务逻辑、保证数据完整性和提供高级安全功能方面的能力。由于其稳定性和可靠性,Oracle已经成为了企业级应用的首选数据库。

Elasticsearch是一个基于Lucene的开源搜索和分析引擎。它提供了一个分布式的、实时的、近实时的搜索和数据分析平台。Elasticsearch的主要优势在于其强大的全文搜索能力、灵活的扩展性以及对大数据处理的良好支持。它常被用于日志分析、全文搜索、安全智能、推荐系统等场景。

从数据结构和查询方式来看,Oracle和Elasticsearch也有显著的差异。Oracle使用传统的关系型数据结构,通过SQL语言进行数据查询和操作。这种方式在结构化数据的处理上表现出色,但在处理非结构化数据或需要高度灵活查询的场景下可能会显得力不从心。

而Elasticsearch则采用了倒排索引的数据结构,使得它在全文搜索和复杂查询上表现出色。同时,Elasticsearch也支持近实时的数据分析,使得它非常适合处理大量的实时数据流。

在性能上,Oracle和Elasticsearch也各有千秋。Oracle在处理复杂事务和保证数据一致性方面具有强大的性能,但由于其庞大的特性和复杂性,对于某些特定的工作负载,可能不如Elasticsearch那么高效。Elasticsearch则以其高度优化的搜索和数据分析能力,以及灵活的扩展性,在处理大量数据和高并发查询时表现出色。

某行系统配置性能数据,是全行3万台生产服务器分钟级的使用率,其中包含CPU、内存、IO、文件系统、网卡等。文件系统每日有1亿多,CPU、内存、IO、文件系统、网卡等有600多万,合计也有5千多万。每日性能数据1.5亿条,凌晨集中收集一次,供大家查询以及后台各种统计分析和预测。其特点是数据量大,查询需求比较明显,无事务一致性要求,也无业务实时性需求。

鉴于Oracle与Elasticsearch的差异,基于此系统配置性能数据使用场景,以及信创的需求,Elasticsearch显得更适合系统配置性能数据。

某行把系统性能数据从oracle迁移到Elasticsearch。

基于ES平台部署架构图

Oracle与Elasticsearch性能对比 —某行系统性能数据一次迁移实践

基于oracle平台数据处理组件

Oracle与Elasticsearch性能对比 —某行系统性能数据一次迁移实践

基于ES平台数据处理组件

Oracle与Elasticsearch性能对比 —某行系统性能数据一次迁移实践

oracle平台

优化措施主要,建日分区和月分区,分区内建合理索引。每日抽取数据,定期生成日报、周报、月报、年报数据。

1. 性能数据每天采集数据有1.5亿,oracle的入库压力比较大。

2. 数据存储,根据不同数据类型cpu/mem/io等存储在月分区表中,未用日分区是因为有基于日、周、月的统计需求。文件系统每天数据量过亿,放在了日分区表中。

3. 每个分区表内,基于机器ID和日期建索引,单台机器查询效率高。

ES平台

1. 数据拆分,放到了3台分布式节点上,入库快,易于横向扩展。

2. 利用ES内置聚合功能,日时查询(每小时性能数据的统计数据),不再单独计算存储,直接从采集数据通过聚合提供日时查询结果。

3.  ES松散的数据结构,对比ORACLE方便查询数据。

4. 在数据结构上,日期属性按照年、月、日进行平铺。统计查询时作为过滤条件使用,提升查询效率。

5、根据时间属性创建索引,performance-cpu-YYYY.MM,将性能数据按日期拆分到不同的索引中,查询时可以查询指定索引。

6、采用倒排索引,由于业务特性,具有更高效的检索速度,同时节约存储空间和I/O成本。

7、实时索引变更和滚动更新,ES允许对已索引的文档进行实时更新和变更,并且支持滚动更新策略,确保索引维护期间不影响正常的查询出服务。

8、热加载和冷数据处理、ES支持冷热数据分离,通过ILM策略将不再频繁访问的历史数据迁移到低成本存储,同时保留近期热点数据在高速存储介质上。

ORACLE与ES平台压测对比如下:

Oracle与Elasticsearch性能对比 —某行系统性能数据一次迁移实践

总的来说,Oracle和Elasticsearch各有其独特的优势和适用场景。Oracle以其强大的事务处理能力和数据一致性保证,成为了企业级应用的首选数据库。而Elasticsearch则以其强大的全文搜索能力、灵活的扩展性和对大数据处理的良好支持,成为了实时数据分析和搜索领域的佼佼者。在选择使用哪种工具时,需要根据具体的应用场景和需求来决定。

Oracle与Elasticsearch性能对比 —某行系统性能数据一次迁移实践

文章作者:刘国梁

封面设计:Lina   

Oracle与Elasticsearch性能对比 —某行系统性能数据一次迁移实践

原文始发于微信公众号(EBCloud):Oracle与Elasticsearch性能对比 —某行系统性能数据一次迁移实践

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月24日21:45:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Oracle与Elasticsearch性能对比 —某行系统性能数据一次迁移实践https://cn-sec.com/archives/2687491.html

发表评论

匿名网友 填写信息