标签:服务启动 写日志 碎片 ber 客户 而不是 网络负载 内存数据库 函数
1、集群和部署
Ignite集群基于无共享架构,所有的集群节点都是平等的,独立的,整个集群不存在单点故障。
通过灵活的Discovery SPI组件,Ignite节点可以自动地发现对方,因此只要需要,可以轻易地对集群进行缩放。(与哪套集群类似呢? ES)
Ignite可以独立运行,可以组成集群,可以运行于Kubernetes和Docker容器中,也可以运行在Apache Mesos以及Hadoop Yarn上,可以运行于虚拟机和云环境,也可以运行于物理机,从技术上来说,集群部署在哪里,是没有限制的。
容器:
Ignite完全支持容器环境,Ignite与Docker的集成可以在服务启动之前,自动地将业务代码构建并且部署进Ignite。
Ignite也可以部署在Kubernetes中,可以自动地部署和管理容器化的应用。
资源管理器:
2、基于内存的存储
Ignite基于分布式的内存架构,它将内存计算的性能和扩展性,与磁盘持久化和强一致性整合到一个系统中。
并置和C/S处理
分区和复制
冗余
一致性
Ignite作为内存存储
Ignite持久化
Ignite与第三方数据库
Ignite基于固化内存架构,如果开启了原生持久化,可以同时处理存储于内存和磁盘上的数据和索引。
Ignite原生持久化
Ignite原生持久化是数据持久化的一个非常灵活、可扩展以及方便的方式,它广泛应用于应用需要一个分布式内存数据库的场景中。
Ignite的原生持久化是一个分布式的、ACID、兼容SQL的磁盘存储,它可以与Ignite的固化内存无缝地集成,Ignite原生持久化是可选的,可以打开和关闭,如果关闭,Ignite就是一个纯内存存储。
Ignite作为一个平台,如果固化内存和原生持久化同时使用的优势和特点:
固化内存
磁盘
第三方持久化
交换空间
4、数据可视化
Ignite可以与很多数据可视化工具集成,通过图表或者丰富的图形,协助对存储在分布式缓存中的数据进行分析和解释,甚至提供可操作的建议。
IgniteWeb控制台:Ignite的Web控制台是一个基于Web的交互式管理工具, 功能包括:
从RDBMS中自动加载SQL元数据;
接入Ignite集群然后执行SQL;
管理和监控Ignite节点和缓存;
查看堆、CPU以及其它有用的节点和缓存的指标;
Tableau:Tableau是一个聚焦于商业智能的交互式数据可视化工具,通过Ignite的ODBC驱动,Tableau就可以接入Ignite集群,功能包括:
查询集群中存储的分布式数据;
缓存数据的表格或者图形展示;
使用Tableau支持的各种方式对数据进行分析;
Zeppelin:Apache Zeppelin是一个基于Web的记事本,可以交互式地对数据进行分析,通过Ignite的JDBC驱动,Zeppelin就可以接入集群,功能包括:
5、Hadoop & Spark
5.1 Spark共享内存层
Apache Ignite提供了一个Spark RDD抽象的实现,他允许跨越多个Spark作业时方便地在内存内共享状态,在不同的Spark作业、worker或者应用之间,IgniteRDD为内存中的相同数据提供了一个共享、可变的视图,原生的SparkRDD无法在多个Spark作业或者应用之间进行共享。
IgniteRDD作为Ignite分布式缓存的视图,既可以在Spark作业执行进程中部署,也可以在Spark worker中部署,也可以在它自己的集群中部署。
根据预配置的部署模型,状态共享既可以只存在于一个Spark应用的生命周期的内部(嵌入式模式),或者也可以存在于Spark应用的外部(独立模式)。
虽然SparkSQL支持丰富的SQL语法,但是它没有实现索引。这样即使在一个不太大的数据集上执行查询,也可能花费比较长的时间,因为需要对数据进行全部扫描。如果使用Ignite,开发者可以配置一级和二级索引,带来上千倍的性能提升。
Ignite DataFrames:
Spark的DataFrame API引入了模式的概念来描述数据,这样Spark就可以以表格的形式管理模式和组织数据。简而言之,DataFrame就是组织成命名列的分布式数据集合。它从概念上来说,等价于关系数据库的表,会促使Spark执行查询优化器,产生比RDD更高效的执行计划,而RDD仅仅是集群中的一个分区化的元素集合。Ignite扩展了DataFrame,如果将Ignite作为Spark的内存层,会简化开发以及提高性能,好处包括:
通过高级的索引以及避免数据在网络中的移动,优化Spark的查询执行计划,使Spark查询速度更快;
5.2 内存文件系统
Ignite一个独有的技术就是叫做Ignite文件系统(IGFS)的分布式内存文件系统,IGFS提供了和Hadoop HDFS类似的功能,但是仅仅在内存内部。事实上,除了他自己的API,IGFS实现了Hadoop的文件系统API,并且可以透明地加入Hadoop或者Spark应用。
IGFS将每个文件中的数据拆分为独立的数据块然后将他们存储在分布式内存缓存中。然而和Hadoop HDFS不同,IGFS不需要一个name节点,并且用一个哈希函数自动地确定文件数据位置。
IGFS可以独立部署,也可以部署在HDFS之上,不管是哪种情况,他对于HDFS中存储的文件都是一个透明的缓存层。
IGFS可以与原生的Apache Hadoop发行版集成,也可以与Cloudera CDH、Hortonworks HDP集成。
Tachyon替代
在Spark环境中IGFS可以透明地替代Spark环境中的Tachyon文件系统,鉴于IGFS是基于久经考验的Ignite数据网格技术,他会比Tachyon有更好的读和写性能,并且更稳定。
Hadoop文件系统
如果打算使用IGFS作为Hadoop文件系统,可以参考Hadoop集成文档,这时IGFS和HDFS并没有什么不同。
5.3 内存MapReduce
Apache Ignite带来了一个Hadoop MapReduce API的内存实现,他比原生的Hadoop MapReduce实现有了显著的性能提升。Ignite MapReduce比Hadoop性能更好,是因为基于推的资源分配以及进程内的计算和数据的并置。
6、Ignite的应用场景
在线场景:包括在线的RDBMS数据缓存和在线分布式计算
离线场景:可用于一些在线的实时/准实时数据分析业务,另外可用于数据库存储过程替代
大数据平台:Ignite可用于搭建独立的大数据平台,用于大规模数据的注入、清洗、存储、查询、统计分析、出报表等全流程业务处理
传统大规模业务系统的分布式架构迁移:Ignite可以传统应用紧密整合,在不颠覆已有架构的前提下,帮助用户进行 传统应用的分布式架构转型。为运行多年的复杂、运行缓慢、技术架构落后的业务系统,提供加速能力的同时,引入众多的先进功能,大幅提升原有系统的能力
标签:服务启动 写日志 碎片 ber 客户 而不是 网络负载 内存数据库 函数
原文地址:https://www.cnblogs.com/tgzhu/p/9984170.html