一起使用Tarantool和Postgres

时间:2019-04-01 17:29:20

标签: postgresql tarantool

我正在建立一个预测高负荷的项目。我需要一些缓存系统,Tarantool看起来对我的任务很有前途。我很好奇能否将Tarantool用作缓存系统(家伙说它具有某种智能缓存),但是将Postgres串联作为主要存储,因为将来我们想向客户端显示一些统计信息,等等。怀疑Tarantool没有复杂的 group by 和加入可能性。

好的,我的问题是Tarantool是否有可能在某种事务中缓存并保存到Postgres中,所以我永远不会出现不一致的情况。抱歉,这里没有显示任何代码,我只是没有一个。

2 个答案:

答案 0 :(得分:2)

实际上您的问题是关于:如何将数据从主存储复制到其他子系统。

我可以在这个问题上分享我的经验。我将Postgres与Redis,弹性搜索结合使用。我只是将一些表和数据复制到Redis和Elastic中。您可以在* internet中找到有关它的更多信息。

我的PostgreSQL安装使用以下规则扩展:应用程序使用副本进行读取,而master使用仅进行写入。地理位置搜索请求转到Redis集群;全文搜索请求发送到Elastic cluster。

返回您的主题。您可以使用任何工具,但也必须考虑请求的类型。例如:“将是地理搜索?”,或“将是大型联接?如果是,那么它不能与Tarantool一起很好地工作”,还有其他吗?但是,如果您具有简单的键值,那么Tarantool在这里很好。

PS

我还建议您阅读有关缓存模式的信息:https://www.computerweekly.com/feature/Write-through-write-around-write-back-Cache-explained

“ *例如:https://github.com/bucardo/bucardo

答案 1 :(得分:0)

Tarantool手册https://www.tarantool.io/en/doc/2.2/reference/reference_rock/dbms/ 描述了如何从Tarantool应用程序服务器调用PostgreSQL。没有一致性保证,例如,应用程序必须在Tarantool数据库事务上进行回滚,而在PostgreSQL数据库事务上进行单独的回滚,并确保它们都能正常工作。