关系数据库模型的 couchdb 等价物
The couchdb equivalent of a relational database model
我是 couchdb 的新手,但我有后端编程和关系数据库的背景。
我想 "migrate my knowledge" 从 mySQL 到 CouchDB。虽然我找到了很多关于安装和入门教程的信息,但我在实际 "translate" 一个关系模型到 CouchDB 文档存储时遇到了麻烦。而且我知道,我需要彻底重新设定我的思维方式...
我想以最好的方式进入这个问题,所以我开始了一个基本的练习。我有一个来自实际使用的软件应用程序的简单关系模型。为了简单起见,我减少了字段的数量。
案例
我们有一叠卡片。每张卡片都有自己的属性(id、名称、imgpath 等)。每个用户可以在自己的卡片 collection.
中随机选择 collection 张卡片
MySQL
在 mySQL 中有 3 个表:
- 用户 [id、名称、密码]
- 卡片 [id、名称、value1、value2、imgpath 等]
- UserCards [userid, cardid]
其他相关信息:
- 我们有超过 10,000 名用户并且还在增长。
- 它适用于移动应用程序,因此速度非常重要。
- 我们(现在)为每个用户使用不同的 db.scheme,每个用户根据方案分配自己的用户权限。 (一旦做出有关安全的决定)。
CouchDB 问题
在 CouchDB 文档模型中存储用户和卡片的最有效方法是什么? (那么我如何 "translate" 表格?)
为每个用户创建一个 database/scheme 或者只将其全部存储在 1 个数据库中 efficient/more 安全吗?
显然,现实生活中的应用程序本身涉及更多的表和字段,但我只需要一个坚实的起点,我希望可以从那里开始。
预先感谢您的帮助!
What is the most efficient way of storing the users and cards in the CouchDB Document model? (So how do I "translate" the tables?)
- 在内置
_users
数据库中存储用户文档
- 将卡片存储在单独的存储桶中 (db)
- 实现映射 cards2user 作为视图
Is it efficient/more secure to create a database/scheme for each of the users or just store it all in 1 database?
这取决于应用需求:
如果您需要控制对卡的读取权限,您将需要每个用户一个数据库的方法。
如果你只需要控制所有卡的一个数据库的写访问是我的建议。
两种情况下,用户帐户都存储在用户数据库中。
我是 couchdb 的新手,但我有后端编程和关系数据库的背景。
我想 "migrate my knowledge" 从 mySQL 到 CouchDB。虽然我找到了很多关于安装和入门教程的信息,但我在实际 "translate" 一个关系模型到 CouchDB 文档存储时遇到了麻烦。而且我知道,我需要彻底重新设定我的思维方式...
我想以最好的方式进入这个问题,所以我开始了一个基本的练习。我有一个来自实际使用的软件应用程序的简单关系模型。为了简单起见,我减少了字段的数量。
案例
我们有一叠卡片。每张卡片都有自己的属性(id、名称、imgpath 等)。每个用户可以在自己的卡片 collection.
中随机选择 collection 张卡片MySQL
在 mySQL 中有 3 个表:
- 用户 [id、名称、密码]
- 卡片 [id、名称、value1、value2、imgpath 等]
- UserCards [userid, cardid]
其他相关信息:
- 我们有超过 10,000 名用户并且还在增长。
- 它适用于移动应用程序,因此速度非常重要。
- 我们(现在)为每个用户使用不同的 db.scheme,每个用户根据方案分配自己的用户权限。 (一旦做出有关安全的决定)。
CouchDB 问题
在 CouchDB 文档模型中存储用户和卡片的最有效方法是什么? (那么我如何 "translate" 表格?)
为每个用户创建一个 database/scheme 或者只将其全部存储在 1 个数据库中 efficient/more 安全吗?
显然,现实生活中的应用程序本身涉及更多的表和字段,但我只需要一个坚实的起点,我希望可以从那里开始。
预先感谢您的帮助!
What is the most efficient way of storing the users and cards in the CouchDB Document model? (So how do I "translate" the tables?)
- 在内置
_users
数据库中存储用户文档 - 将卡片存储在单独的存储桶中 (db)
- 实现映射 cards2user 作为视图
Is it efficient/more secure to create a database/scheme for each of the users or just store it all in 1 database?
这取决于应用需求:
如果您需要控制对卡的读取权限,您将需要每个用户一个数据库的方法。
如果你只需要控制所有卡的一个数据库的写访问是我的建议。
两种情况下,用户帐户都存储在用户数据库中。