Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Caching Couchbase作为云中的直通缓存层+;后端数据库_Caching_Cloud_Couchbase_Nosql - Fatal编程技术网

Caching Couchbase作为云中的直通缓存层+;后端数据库

Caching Couchbase作为云中的直通缓存层+;后端数据库,caching,cloud,couchbase,nosql,Caching,Cloud,Couchbase,Nosql,我们的web体系结构基于用于内存缓存和关系后端数据库的商业产品 在研究将web堆栈移动到云中的背景下,我们正在研究Couchbase的缓存层(也将位于云中,靠近应用程序),以及潜在地将内部数据库替换为Couchbase作为面向文档的NoSQL数据库(至少对于读取部分) 这意味着我们必须做出以下改变: 非对称读/写…应用程序总是从缓存中读取,但会写入后端记录系统(读>>写)。后端记录系统随后将更新内部NoSQL数据库,该数据库将填充缓存 实现直读缓存…云中的应用程序将始终与内存缓存层(包括XCDR

我们的web体系结构基于用于内存缓存和关系后端数据库的商业产品

在研究将web堆栈移动到云中的背景下,我们正在研究Couchbase的缓存层(也将位于云中,靠近应用程序),以及潜在地将内部数据库替换为Couchbase作为面向文档的NoSQL数据库(至少对于读取部分)

这意味着我们必须做出以下改变:

  • 非对称读/写…应用程序总是从缓存中读取,但会写入后端记录系统(读>>写)。后端记录系统随后将更新内部NoSQL数据库,该数据库将填充缓存
  • 实现直读缓存…云中的应用程序将始终与内存缓存层(包括XCDR)通信。如果在缓存中找不到对象,则缓存应自动从内部后端couchbase db检索数据,而应用程序代码不知道它(不是侧缓存)
  • 因此,我的问题是:

  • 基于云的缓存层加上NoSQL内部后端数据库是一种有效的模式吗
  • 是否可以使用Couchbase实现一个直通式缓存,即如果在缓存中找不到数据,CB缓存层将透明地从后端数据库检索数据?如果是,支持哪种后端(关系数据库、NoSQL、couchbase本身)
  • 无论是实现侧缓存(即应用程序先与缓存通信,然后与后端通信)还是直通缓存(即应用程序与缓存通信,而缓存与后端通信),如何通过HTTP公开couchbase数据操作API,还是建议使用couchbase SDK甚至跨WAN链接(就延迟而言)?memcached API如何发挥作用

  • thx Nick有几个问题和意见: 对于问题1,我想问一下,既然已经有了couchbase,为什么还需要缓存。考虑到它可以扩展并进行攻击性缓存(如果需要的话),couchbase旁边的缓存层能为您带来什么好处? 对于#2,couchbase没有transperant自动填充/写入功能。您的应用程序需要这样做。
    对于#3,SDK在这里为您提供了最佳选择。Couchbase与memcached API兼容,但使用SDK,您可以充分利用Couchbase的强大功能,并获得本机提供的附加设施。

    sry,不是说缓存位于数据库旁边,而是缓存与云中的应用程序位于同一位置,而实际l后端数据库位于我们自己的dc(私有云)内。鉴于CB不允许侧缓存,这意味着(在缓存未命中的情况下)应用程序需要从内部后端数据库检索数据。由于后端数据库位于防火墙后面,我看不到云web应用程序如何使用couchbase端口11210通过sdk连接到它(我真的不想在防火墙上捅洞)。我想,REST API会派上用场。除此之外,我们的关键数据项的实际“记录系统”是垂直打包的应用程序,“拥有”每个应用程序的数据子集。因此,为了有一个集成的数据层,需要从所有这些“记录系统”复制数据(想想SAP、Siebel等)集成到一个单一的集成数据存储中。出于各种原因(安全、内部应用共享使用),这个集成数据存储需要放在我们的防火墙内。但当然,我们不希望我们的地理分布web应用在每次读取时都回呼叫我们的数据中心(因此云中的couchbase缓存层)