Apache Ignite 作为 Postgresql 表的透明缓存
Posted
技术标签:
【中文标题】Apache Ignite 作为 Postgresql 表的透明缓存【英文标题】:Apache Ignite as transparent cache for Postgresql tables 【发布时间】:2018-05-19 06:01:16 【问题描述】:是否可以使用 Apache Ignite 作为 PostgreSQL RDBMS 中多个表的透明缓存并使用 Ignite SQL 查询该缓存?
例如这样:
应用程序(通过 SQL)---> Apache Ignite(如果未加载数据)---> Postgresql
我是 Ignite 的新手,不知道该怎么做,甚至有可能。
【问题讨论】:
【参考方案1】:Ignite 的 SQL 仅适用于内存中的数据,因此您需要事先将数据加载到缓存中。换句话说,通读不适用于 SQL 查询。 从 2.1 版开始,Ignite 提供了其自定义的persistent store,允许对内存和磁盘中的数据运行 SQL 查询。
【讨论】:
【参考方案2】:如果您在查询之前将数据预加载到缓存中,它将起作用。
您可以通过配置 CacheStore 并调用 IgniteCache#loadCache() 来实现。这是文档:https://apacheignite.readme.io/v2.3/docs/3rd-party-store#cachestore
另一个选项是启用readThrough 参数并使用缓存API。不幸的是,此选项对 Ignite SQL 没有影响,并且仅适用于缓存 API。
【讨论】:
以上是关于Apache Ignite 作为 Postgresql 表的透明缓存的主要内容,如果未能解决你的问题,请参考以下文章