Apache Ignite

Apache Ignite

简介

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

特点

  • 分布式缓存
  • 支持Hadoop API / 缓存
  • 无Namenode,使用hash 散列
  • 支持SQL,兼容于ANSI-99,支持JDBC或者ODBC
  • 支持KV
  • 支持持久化
  • 支持分区/全复制模式。
  • ACID事务,键-值API,跨分区的事务
  • 并置处理
  • 机器学习
  • 多语言支持
  • 容器(docker, k8s)/资源管理(yarn, k8s, mesos)
  • 堆外内存
  • 高级的集群化
  • 数据网格(JCache)
  • 流计算和CEP
  • 计算网格
  • 服务网格
  • Ignite文件系统
  • 分布式数据结构
  • 分布式消息
  • 分布式事件
  • Hadoop加速器
  • Spark共享RDD

架构

image-20190515122337127

image-20190515121458908

IGFS模式

IGFS可以工作于四种操作模式:PRIMARY,PROXY,DUAL_SYNC和DUAL_ASYNC。这些模式既可以配置整个文件系统,也可以配置特定的路径。他们是在IgfsMode枚举中定义的,默认文件系统操作于DUAL_ASYNC模式。

  • PRIMARY:IGFS作为基本的独立分布式内存文件系统,不会使用第二文件系统。
  • PROXY :IGFS对于工作于PROXY模式的路径的操作是受限的,在这些路径上的任何操作都会抛出异常。
  • DUAL_SYNC:当数据被请求并且还没有缓存在内存中时,IGFS会在第二文件系统中进行同步地通读,当数据在IGFS中被更新/创建时对其进行同步地通写。实际上,该模式下IGFS是在第二文件系统之上作为一个智能缓存层的。
  • DUAL_ASYNC: 与DUAL_SYNC相同,但是对于第二文件系统的读写是异步方式执行的。

应用场景

  • 分布式缓存
  • hadoop集成加速
  • 分布式锁

参考

  1. https://www.zybuluo.com/liyuj/note/481591
  2. https://www.oschina.net/p/apache-ignite
  3. https://apacheignite-fs.readme.io/docs/file-system
  4. https://my.oschina.net/hblt147/blog/1608051
updatedupdated2024-08-252024-08-25