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
架构
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集成加速
- 分布式锁