Apache Ignite——新一代数据库缓存系统(apache是干嘛用的)

网友投稿 1022 2022-09-12

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Apache Ignite——新一代数据库缓存系统(apache是干嘛用的)

将数据存储在缓存中能够显著地提高应用的速度,因为缓存能够降低数据在应用和数据库中的传输频率。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 后写,对缓存的更新会整合成批次然后再发送给数据库。这对改删频繁的应用来说可以达到相当的性能提升。

自动化持久数据

SQL 查询

查询 Ignite 缓存很简单,使用的就是标准的 SQL。Ignite 支持所有的 SQL 函数、聚合和 group 操作,甚至支持分布式 SQL JOINs。下面 Ignite 中一个 SQL 查询示例:

IgniteCache 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> cursor = cache.query(sql)) {for (List row : cursor)System.out.println("Full name: " + row.get(0));}

小结

Apache Ignite 是一个聚焦分布式内存计算的开源项目,它在内存中储存数据,并分布在多个节点上以提供快速数据访问。此外,可选地将数据同步到缓存层同样是一大优势。最后,可以支持任何底层数据库存储同样让 Ignite 成为数据库缓存的首先。

想要了解更多信息、文档、示例,请移步 Apache Ignite 官网。

上一篇:想要上市,SaaS 企业应该重点关注什么?(上)(想要上市,为什么要重视全面预算管理)
下一篇:强者先行 | 同时签约 9 家互联网公司(与强者同行)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~