编者按】飞速增长的数据需要大量存储,对这些数据的管理也不是一件容易的事。但相比于存储和管理,如何处理数据才是开发人员真正的挑战。对于TB级 别数据的存储和处理通常会让开发人员陷入速度、可扩展性和开销的矛盾困境中。近日,Dmitriy Setrakyan在Dzone上撰文,为大家介绍了新一代数据库缓存系统Apache Ignite,由OneAPM工程师编译。
以下为译文
将数据存储在缓存中能够显著地提高应用的速度,因为缓存能够降低数据在应用和数据库中的传输频率。Apache Ignite允许用户将常用的热数据储存在内存中,它支持分片和复制两种方式,让开发者可以均匀地将数据分布式到整个集群的主机上。同时,Ignite还支撑任何底层存储平台,不管是RDBMS、NoSQL,又或是HDFS。
在集群配置好之后,数据集增加只需在Ignite集群中增加节点而不需要重启整个集群。节点数目可以无限增加,所以Ignite的扩展性是无穷的。在Ignite的配置上有下面这几个选项可供选择:
Write-Through和 Read-Through
在Write-Through模式中,缓存中的数据更新会被同步更新到数据库中。 Read-Through则是指请求的数据在缓存中不可用时,会自动从数据库中拉取。
Write-Behind Caching
Ignite 还提供了一种叫做Write-Behind Caching的数据库异步更新模式。默认情况下,Write-Through中每一次更新都会对数据库发起 一次请求。如果使用Write-Behind Caching后写,对缓存的更新会整合成批次然后再发送给数据库。这对改删频繁的应用来说可以达到相当的 性能提升。
自动化持久数据
Ignite提供了易用的schema映射工具,从而系统可以自动地与数据库整合。这一工具可以自动地连接数据库,并生成所有需要的XML OR-mapping配置以及Java域模型POJOs。
SQL查询
查询Ignite缓存很简单,使用的就是标准的SQL。Ignite支持所有的SQL函数、聚合和group操作,甚至支持分布式SQL JOINs。下面Ignite中一个SQL查询示例:
IgniteCache<Long, Person> cache = ignite.cache("mycache"); // ‘Select’ query to concatenate the first and last name of all persons. SqlFieldsQuery sql = new SqlFieldsQuery( "select concat(firstName, ' ', lastName) from Person"); // Execute the query on Ignite cache and print the result. try (QueryCursor<List<?>> cursor = cache.query(sql)) { for (List<?> row : cursor) System.out.println("Full name: " + row.get(0)); }
小结
Apache Ignite是一个聚焦分布式内存计算的开源项目,它在内存中储存数据,并分布在多个节点上以提供快速数据访问。此外,可选地将数据同步到缓存层同样是一大优势。最后,可以支持任何底层数据库存储同样让 Ignite成为数据库缓存的首先。
想要了解更多信息、文档、示例,请移步Apache Ignite官网。
http://www.csdn.net/article/2015-09-28/2825815
相关推荐
该资源为apache ignite实现mybatis二级缓存所需要的jar包,需要的可以下载。
高性能Apache Ignite完整版,良心文件,非常不错High Performance in-memory computing with Apache Ignite
Apache Ignite内存计算介绍.pdf
Apache Ignite(V2.3.0)中文开发手册.pdf 配图不完整,内容完整。 来源:https://www.zybuluo.com/liyuj/note/230739
Processing events & streaming data, integrate Apache Ignite with other frameworks like Storm, Camel, etc. Using distributed computing for building low-latency software. Developing distributed ...
High Performance in-memory computing with Apache Ignite.epub
亿级别转账支付交易记录核对场景的实现方案
We hope that High-performance in-memory computing with Apache Ignite will be the go-to guide for architects and developers: both new and at an intermediate level, to get up and to develop with as ...
Spring Boot与Apache Ignite的集成及其持久的内存和基于缓存的sql查询 展示如何将apache ignite与spring boot集成在一起,以及使用持久性内存功能和sql查询来覆盖内存缓存中的ign的案例 将Spring Boot与Apache ...
Apache Ignite是一个专注于内存的分布式数据库和缓存平台。 该存储库旨在查看和观察Spring Data与Apache Ignite集成的用法。 该项目由Maven组成。 为了实现Ignite与Spring Data之间的交互,将以下依赖项与其他...
apache-ignite-2.15.0-bin.zip
点燃客户适用于Go编程语言的Apache Ignite(GridGain)v2.5 +客户端该库已准备就绪。 版本低于v1.0,因为尚未实现所有功能(有关详细信息,请参见)。 但是已实现的功能已准备就绪。要求Apache Ignite v2.5 +(由于...
阿帕奇点燃书 这是的代码存储库(代码示例,脚本和更深入的示例)。 命名约定 本书中的每一章在存储库... 另一方面,Apache Ignite可用于加速现有的Relational和NoSQL数据库,处理事件和流数据或以容错方式开发微服
Apache Ignite(V1.5.0)中文开发手册,总共17个章节的介绍
点燃原生持久性尽管Apache Ignite被广泛用作外部数据库之上的缓存层,但它具有其本机持久性-分布式,ACID和SQL兼容的基于磁盘的存储。 本机持久性作为磁盘层集成到Ignite多层存储中,可以打开该层,以使Ignite在磁盘...
Apache Ignite 内存数据组织框架是一个高性能、集成化和分布式的内存计算和事务平台,用于大规模的数据集处理,比传统的基于磁盘或闪存的技术具有更高的性能,同时他还为应用和不同的数据源之间提供高性能、分布式...
Apache Ignite内存数据组织 v2.16.0.zip
Apache Ignite内存数据组织 v2.8.1.zip
apr sdk vs2015 winsdk8,1包含x86/x64 apr/apr-util/apr-iconv/expat 第一次传得缺了东西,又不知道怎么取消 重新上传一份