Apache Ignite

Ignite - 强大的整体解决方案和开发平台

Posted by Claire on April 2, 2021

什么是Apache Ignite

Apache Ignite 内存数组组织框架是一个高性能、集成和分布式的内存计算和事务平台,用于大规模的数据集处理,比传统的基于磁盘或闪存的技术具有更高的性能,同时他还为应用和不同的数据源之间提供高性能、分布式内存中数据组织管理的功能。

Ignite有哪些特点和功能

1.数据网格

Ignite 内存数据网格是一个内存内的键值存储,他可以在分布式集群的内存内缓存数据

  • 键值存储
  • JCache规范
  • 分区和复制
  • 自恢复集群
  • 客户端近缓存
  • ACID事务支持
  • 查询和分布式关联
  • 持续查询
  • 堆外堆内内存
  • 分层内存
  • JDBC驱动
  • Web Session集群化
  • Hibernate 二级缓存
  • Spring 缓存

2.计算网格

  • 分布式闭包执行
  • ForkJoin 执行
  • 集群化 ExecutorService
  • 计算和数据的搭配
  • 容错
  • 负载均衡
  • 任务检查点
  • 作业调度

3.流式计算和 CEP

  • 数据流处理器
  • 并行处理
  • 滑动窗口
  • 滑动窗口查询
  • 持续查询

4.分布式数据结构

  • 并行和非并行
  • 有界队列
  • 基于预留的 ID 生成器

5.分布式消息

  • 有序和无序
  • 主题和点对点

6.服务网格

  • 用户定义服务
  • 集群单例
  • 单例
  • 负载均衡

Ignite有哪些使用场景

  • 在线场景:包括在线的RDBMS数据缓存和在线分布式计算
  • 离线场景:可用于一些在线的实时/准实时数据分析业务,另外可用于数据库存储过程替代
  • 大数据平台:Ignite可用于搭建独立的大数据平台,用于大规模数据的注入、清洗、存储、查询、统计分析、出报表等全流程业务处理
  • 传统大规模业务系统的分布式架构迁移:Ignite可以传统应用紧密整合,在不颠覆已有架构的前提下,帮助用户进行传统应用的分布式架构转型。为运行多年的复杂、运行缓慢、技术架构落后的业务系统,提供加速能力的同时,引入众多的先进功能,大幅提升原有系统的能力

Ignite VS Hive

Hive是建立在Hadoop之上的开源数据仓库框架或工具,写类似SQL的DML和DDL语句取代MapReduce Ignite是一个以内存为中心的分布式数据库,缓存和处理平台,用于事务,分析和流工作负载,可提供PB级的内存速度 Ignite的功能远比Hive丰富而强大

Ignite VS Spark

Spark是一个和Ignite类似的项目。但是Spark聚焦于OLAP,而Ignite凭借强大的事务处理能力在混合型的OLTP/ OLAP场景中表现更好。 特别是针对Hadoop,Ignite将为现有的Map/Reduce,Pig或Hive作业提供即插即用式的加速,避免了推倒重来的做法,而Spark需要先做数据ETL,更适合新写的分析应用。

Ignite VS Redis

Redis主要是一个数据结构存储,但是Ignite提供了很多内存内的分布式组件,包括数据网格、计算网格、流计算,当然也包括数据结构。

此外还有 Ignite VS Hazelcast,Oracle Coherence,GemFire