我应该如何在 Cassandra 中实现数据 access/rights 管理
how should I implement data access/rights management in Cassandra
我正在制作一个 SaaS 应用程序,用户将在其中创建广告列表。
- 我的注册用户的所有用户以及未注册的访问者都应该看到所有广告
- 只有注册用户才能创建广告
- 一个注册用户可以创建多个广告
- 只有创建广告的用户才能删除或编辑它。
我从来没有做过用户和数据管理w.r.t。一个数据库,所以我需要关于如何实现它的建议(我承认这是一个悬而未决的问题,但我仍然觉得它是相关的,因为我还能在哪里问!!)
我的数据库是 cassandra
。
- 我正在考虑为所有广告使用一个键空间
到地址点 #1
- 我正在考虑为
将存储其广告的每个用户(第 2 点,第 3 点
和第 4 点)。
- 如果使用 edits/deletes 广告则
用户特定的键空间和所有广告的全局键空间
需要更改
问题 1 - 我的方法是创建此类应用程序的常用方法吗?如果没有,我将不胜感激关于替代设计的建议。
问题 2 - 由于我将创建用户特定的密钥空间,作为我的 Web 注册过程的一部分,我能否以编程方式创建密钥空间(使用用户提供的用户名和密码)?
在 Cassandra 中为每个用户设置密钥空间不是个好主意,这只有在您有几个用户时才有效。单独的键空间意味着您要为每个用户创建一个单独的表,因此它与第 1 点相矛盾 - 显示您需要从所有表中读取的所有广告。并且 Cassandra 对其可以支持的表数也有限制 - 建议值是集群中的表数不超过 500 个(有关详细信息,请参阅 )。
我建议只将用户 ID 作为分区键或分区键本身的一部分 - 但这将取决于其他因素,例如用户可以创建多少广告等 - 这需要一个单独的问题。
我建议在 DataStax Academy 学习关于 Cassandra 数据建模的 DS220 课程,以便更好地理解如何为 Cassandra 建模数据。
我正在制作一个 SaaS 应用程序,用户将在其中创建广告列表。
- 我的注册用户的所有用户以及未注册的访问者都应该看到所有广告
- 只有注册用户才能创建广告
- 一个注册用户可以创建多个广告
- 只有创建广告的用户才能删除或编辑它。
我从来没有做过用户和数据管理w.r.t。一个数据库,所以我需要关于如何实现它的建议(我承认这是一个悬而未决的问题,但我仍然觉得它是相关的,因为我还能在哪里问!!)
我的数据库是 cassandra
。
- 我正在考虑为所有广告使用一个键空间 到地址点 #1
- 我正在考虑为 将存储其广告的每个用户(第 2 点,第 3 点 和第 4 点)。
- 如果使用 edits/deletes 广告则 用户特定的键空间和所有广告的全局键空间 需要更改
问题 1 - 我的方法是创建此类应用程序的常用方法吗?如果没有,我将不胜感激关于替代设计的建议。
问题 2 - 由于我将创建用户特定的密钥空间,作为我的 Web 注册过程的一部分,我能否以编程方式创建密钥空间(使用用户提供的用户名和密码)?
在 Cassandra 中为每个用户设置密钥空间不是个好主意,这只有在您有几个用户时才有效。单独的键空间意味着您要为每个用户创建一个单独的表,因此它与第 1 点相矛盾 - 显示您需要从所有表中读取的所有广告。并且 Cassandra 对其可以支持的表数也有限制 - 建议值是集群中的表数不超过 500 个(有关详细信息,请参阅
我建议只将用户 ID 作为分区键或分区键本身的一部分 - 但这将取决于其他因素,例如用户可以创建多少广告等 - 这需要一个单独的问题。
我建议在 DataStax Academy 学习关于 Cassandra 数据建模的 DS220 课程,以便更好地理解如何为 Cassandra 建模数据。