Ignite基础知识原理

文章目录1. 基本概念固化内存Ignite持久化ACID兼容完整的SQL支持键-值并置处理可扩展性和持久性安装启动使用Maven客户端和服务端概述配置客户端和服务端创建分布式缓存2. 键-值数据网格数据网格超越JCache概述IgniteCache基本操作分区和复制概述分区模式复制模式本地模式配置主备副本概述配置备份同步和异步备份References1. 基本概念Ignite是: 一个以内存为中心的分布式数据库、缓存和处理平台,可以在PB级数据中,以内存级的速度进行事务性、分析性以及流式负载的处理。
摘要由CSDN通过智能技术生成

1. 基本概念

Ignite是: 一个以内存为中心的分布式数据库、缓存和处理平台,可以在PB级数据中,以内存级的速度进行事务性、分析性以及流式负载的处理。

在这里插入图片描述

固化内存

Ignite的固化内存组件不仅仅将内存作为一个缓存层,还视为一个全功能的存储层。这意味着可以按需将持久化打开或者关闭。如果持久化关闭,那么Ignite就可以作为一个分布式的内存数据库或者内存数据网格,这完全取决于使用SQL和键-值API的喜好。如果持久化打开,那么Ignite就成为一个分布式的,可水平扩展的数据库,它会保证完整的数据一致性以及集群故障的可恢复能力。

Ignite持久化

Ignite的原生持久化是一个分布式的、支持ACID以及兼容SQL的磁盘存储,它可以作为一个可选的磁盘层与Ignite的固化内存透明地集成,然后将数据和索引存储在SSD、闪存、3D XPoint以及其它类型的非易失性存储中。

打开Ignite的持久化之后,就不需要将所有的数据和索引保存在内存中,或者在节点或者集群重启后对数据进行预热,因为固化内存和持久化紧密耦合之后,会将其视为一个二级存储层,这意味着在内存中数据和索引的一个子集如果丢失了,固化内存会从磁盘上进行获取。

ACID兼容

存储在Ignite中的数据,在内存和磁盘上是同时支持ACID的,使Ignite成为一个强一致的系统,Ignite可以在整个拓扑的多台服务器上保持事务。

完整的SQL支持

Ignite提供了完整的SQL、DDL和DML的支持,可以使用纯SQL而不用写代码与Ignite进行交互,这意味着只使用SQL就可以创建表和索引,以及插入、更新和查询数据。有这个完整的SQL支持,Ignite就可以作为一种分布式SQL数据库

键-值

Ignite的内存数据网格组件是一个完整的事务型分布式键值存储,它可以在有几百台服务器的集群上进行水平扩展。在打开持久化时,Ignite可以存储比内存容量更大的数据,并且在整个集群重启之后仍然可用。

并置处理

大多数传统数据库是以客户机-服务器的模式运行的,这意味着数据必须发给客户端进行处理,这个方式需要在客户端和服务端之间进行大量的数据移动,通常来说不可扩展。而Ignite使用了另外一种方式,可以将轻量级的计算发给数据,即数据的并置计算,从结果上来说,Ignite扩展性更好,并且使数据移动最小化。

可扩展性和持久性

Ignite是一个弹性的、可水平扩展的分布式系统,它支持按需地添加和删除节点,Ignite还可以存储数据的多个副本,这样可以使集群从部分故障中恢复。如果打开了持久化,那么Ignite中存储的数据可以在集群的完全故障中恢复。Ignite集群重启会非常快,因为数据从磁盘上获取,瞬间就具有了可操作性。从结果上来说,数据不需要在处理之前预加载到内存中,而Ignite会缓慢地恢复内存级的性能。

安装启动

可以从下面的步骤开始:

  • 官网下载zip格式压缩包;
  • 解压到系统中的一个安装文件夹;
  • (可选)配置IGNITE_HOME环境变量,指向安装文件夹,确保路径不以/结尾。

其它的安装选项 除了二进制包,Ignite还支持源代码安装、docker、云镜像以及RPM格式,具体可以看下面的说明。 在应用中,建议使用maven,后面会介绍。

下一步,使用默认的命令行接口可以启动第一个Ignite集群,还可以加上自定义的配置文件,可以启动任意多个节点,它们之间会自动发现。

使用默认的配置

使用默认的配置启动集群,打开命令行,转到IGNITE_HOME(Ignite安装文件夹),然后输入:

Linux:

$ bin/ignite.sh

Windows:

$ bin\ignite.bat
 

输出大致如下:

[02:49:12] Ignite node started OK (id=ab5d18a6)
[02:49:12] Topology snapshot [ver=1, nodes=1, CPUs=8, heap=1.0GB]

ignite.sh会使用config/default-config.xml这个默认配置文件启动节点。

传入配置文件

如果要使用一个定制配置文件,可以将其作为参数传给ignite.sh/bat,如下:

Linux:

$ bin/ignite.sh examples/config/example-ignite.xml

Windows:

$ bin\ignite.bat examples\config\example-ignite.xml
 

配置文件的路径,可以是绝对路径,也可以是相对于IGNITE_HOME(Ignite安装文件夹)的相对路径,也可以是类路径中的META-INF文件夹。

交互模式 如果要使用交互模式选择一个配置文件,传入-i参数即可,就是ignite.sh -i

好,这样就成功了!

使用Maven

下一步是将Ignite嵌入自己的应用,Java中的最简单方式是使用Maven依赖系统。

Ignite中只有ignite-core模块是必须的,一般来说,要使用基于Spring的xml配置,还需要ignite-spring模块,要使用SQL查询,还需要ignite-indexing模块。

下面中的${ignite-version}需要替换为实际使用

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值