Apache Ignite 是一个内存计算平台,支持事务、键值存储、流和复杂事件处理(CEP)。Ignite 最早由 GridGain 于 2014 年下半年开源,并成为Apache 孵化器项目。
InfoQ 访问了 GridGain 的 CTO Nikita Ivanov,了解更多有关 Ignite 的内容。
InfoQ:Ignite 提供了很多基于内存的特性,从键值存储到流式处理。它主要的使用场景有哪些呢?
Nikita Ivanov: Ignite 主要用于高性能的计算任务,特别是金融领域的服务和 Fintech 公司。对于这些公司来说,收益与应用程序的性能和伸缩性有直接的关系。他们直接从高性能、低延迟和伸缩性中获得价值。Ignite 为这些公司的很多应用程序提供了支持,包括自动化交易、实时合规、价差赌注、欺诈检测、回溯测试、数据分析,等等。
Ignite 也经常被集成到第三方的软件系统或 SaaS 解决方案。增长较快的两个垂直领域分别是 SaaS 和 IoT 供应商,为了提供最优化的用户体验,或者满足 Web 应用程序的 SLA 需求和物联网应用程序的数据需求,他们的业务模型要求很高的性能和伸缩性。
InfoQ:Ignite 如何与其他流行的内存计算框架竞争,比如 Apache Spark?如何将它与 Alluxio 进行比较?
Ivanov: Ignite 可以在以下几个方面与 Spark 展开竞争。Spark 是一个只读的系统,不支持事务,主要用于数据分析和机器学习。Ignite 是一个高性能的支持事务的系统。如果将两者用在一起,Ignite 可以作为 Spark RDD 的内存存储层,在 Spark 的作业之间共享状态。另外,Ignite 对 Spark 存储在内存里的数据进行了索引。运行在 Spark 上的 SQL 查询会进行全局扫描,而 Ignite 的索引可以提升查询性能。
至于 Alluxio,我们没见过有人将它与其他框架进行对比,所以很难说。
InfoQ:2016 年 12 月, Netflix 开源了缓存框架 Hollow ,它支持在客户端嵌入缓存,以便减小请求延迟和对 RPC 的依赖。Ignite 里可以做到类似的事情吗?
Ivanov:虽然我们也没看到有关 Hollow 的评测,不过我对它的特性比较熟悉,Hollow 提供的所有特性 Ignite 也提供了。
InfoQ:Ignite 的一个很重要的特性是它提供了事务和一致性保证。你能解释一下 Ignite 的设计和 CAP 理论之间的关系吗?
Ivanov:我们相信,只支持 CAP 的产品是无法与 Ignite 相提并论的。如果只支持最终一致性(EC)事务,那就无法做到完整一致性。你可以改进 EC,让它变得更快,但仍然无法得到完整一致性。所以,如果你的系统需要事务,比如转账或账号管理,像 Apache Cassandra 、 MongoDB 、 Apache CouchDB 这些 EC 解决方案就不能满足需求,因为它们不提供完整的一致性。
Ignite 提供了成熟的两阶段提交事务来支持完整一致性,与 Oracle 的别无二致。不过用户也可以通过配置禁用两阶段提交,从而获得 EC 的性能。Ignite 同时提供了两种方案,可以配置完整的事务,也可以用部分的一致性换取性能。根据我们客户的反馈,这种灵活性是 GridGain 的一个重要的优势。
InfoQ:Ignite 是否支持适合用于数据分析的基于列的内存格式?
Ivanov: Ignite 不支持基于列的格式。
InfoQ:Ignite 的路线图是什么?
Ivanov: Ignite 的路线图中包含了两个非常重要的方面。首先,为了满足整个数据库无法放进 RAM 的使用场景,需要极大地改进基于磁盘的存储。其次,改进对机器学习和深度学习的支持。这些特性将在未来的几个主版本里发布。
查看英文原文: Nikita Ivanov on Apache Ignite In-Memory Computing Platform
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论