Couchbase读取云+后端数据库中的缓存层

时间:2014-06-18 01:34:17

标签: caching cloud couchbase nosql

我们的Web架构基于商业产品,包括内存缓存和关系后端数据库。

在调查将Web堆栈移动到云中的过程中,我们正在考虑Couchbase的缓存层(也可以位于云端,应用程序旁边)以及可能用Couchbase替换内部数据库作为面向文档的NoSQL数据库(至少对于读取部分而言)。

这意味着我们必须进行以下更改:

  1. 非对称读/写...应用程序将始终从缓存中读取,但写入后端记录系统(读取>>写入)。然后,记录的后端系统将更新内部NoSQL数据库,而后者将填充缓存
  2. 实现读取缓存....云中的应用程序将始终与内存缓存层(包括XCDR)进行通信。如果在缓存中找不到对象,缓存应该自动从内部后端couchbase数据库中检索数据,而不需要应用程序代码知道它(不是侧缓存)
  3. 所以,我的问题是:

    1. 是否有基于云的缓存层加上NoSQL内部后端数据库的有效模式?
    2. 是否可以使用Couchbase实现读取缓存,即如果在缓存中找不到,CB缓存层将透明地从后端数据库中检索数据?如果是,那将支持哪种后端(关系db,NoSQL,couchbase本身)
    3. 无论是实现侧缓存(即应用程序首先与缓存进行通信,然后再与后端进行通信)还是通过缓存进行读取(即应用程序与缓存进行通信,缓存与后端进行通信),如何实现通过HTTP公开couchbase数据操作API,或者建议甚至跨WAN链接使用couchbase SDK(在延迟方面)? memcached API如何发挥作用?
    4. 尼克斯

1 个答案:

答案 0 :(得分:1)

有几个问题和意见: 对于q#1,我会问你为什么在拥有couchbase时需要缓存。如果你想要它可以扩展和缓存,那么couchbase旁边的缓存层会为你带来什么? 对于#2,couchbase没有transperant自动填充/直写设施。你的应用程序需要这样做。 对于#3,SDK会为您提供最佳选择。 Couchbase与memcached API具有兼容性,但使用SDK,您可以利用本机可用的其他功能充分利用couchbase的功能。