在 couchbase 中实现缓存层(包括一些 sql 数据库表)
Implementing a cache layer (including some sql db tables) in couchbase
假设我有许多 SQL 个表,每个表(至少)有 10 列。
我们举个例子:
HR Table: ID, FirstName, LastName, PhoneNumber, Gender, City, Street, Height, Weight, IQ
我需要为所有 SQL 表构建一个缓存层。
在 Couchbase 中存储数据的最佳方式是什么?
我应该为每一行存储整个文档吗?
这是一个潜在的键,例如 - 一个给我带来 JSON 文档的键,该文档包含其行 ID = 4 的所有列:
HR_4
或者我应该像键值存储一样实现它吗?
例如-给我一个特定值的键(不是整个列):
HR_4_FirstName
请记住,我确实需要为我的应用程序中的键获取一整行,但有时我只需要获取一个特定的列。
问题是:我应该采用第二种方式吗?如果我需要一些值 - 只需从我的应用程序发送一些请求并将它们汇总即可?
另一方面,采用第二种方式需要处理更多的键(这实际上意味着每个数据库字段都有一个键)。
我会看看您的应用程序如何使用和访问数据。根据访问模式和要优化的内容,为您尝试存储的数据设置多个对象可能是值得的。我可以推荐this article on data modeling for a user profile store in Couchbase。如果这没有帮助,请告诉我。
假设我有许多 SQL 个表,每个表(至少)有 10 列。
我们举个例子:
HR Table: ID, FirstName, LastName, PhoneNumber, Gender, City, Street, Height, Weight, IQ
我需要为所有 SQL 表构建一个缓存层。
在 Couchbase 中存储数据的最佳方式是什么?
我应该为每一行存储整个文档吗? 这是一个潜在的键,例如 - 一个给我带来 JSON 文档的键,该文档包含其行 ID = 4 的所有列:
HR_4
或者我应该像键值存储一样实现它吗?
例如-给我一个特定值的键(不是整个列):
HR_4_FirstName
请记住,我确实需要为我的应用程序中的键获取一整行,但有时我只需要获取一个特定的列。
问题是:我应该采用第二种方式吗?如果我需要一些值 - 只需从我的应用程序发送一些请求并将它们汇总即可?
另一方面,采用第二种方式需要处理更多的键(这实际上意味着每个数据库字段都有一个键)。
我会看看您的应用程序如何使用和访问数据。根据访问模式和要优化的内容,为您尝试存储的数据设置多个对象可能是值得的。我可以推荐this article on data modeling for a user profile store in Couchbase。如果这没有帮助,请告诉我。