【问题标题】:Multi-Tenancy with Clojure & DatomicClojure 和 Datomic 的多租户
【发布时间】:2023-03-22 03:52:01
【问题描述】:

Clojure、Datomic 和多租户的当前选项是什么(如果有)?这是利用现有 Java 库有用的事情吗?或者是否有更直接的方式在 Clojure 中应用您自己的解决方案?

我对 Datomic 和 Clojure 完全陌生,并且愿意接受任何关于它们如何有效解决此问题的新范例。我对所有的租户选项都感兴趣,但如果真的需要更多信息,那么在这个早期阶段,我倾向于:

  • 单数据库
  • 多个租户共享同一个表并通过唯一的租户键对数据进行分区

【问题讨论】:

  • 一个可能的附加要求是,在编写 Clojure 代码时,应确保您要么指定租户,要么显式查询所有内容而不考虑租户。 Rails 的default_scope 浮现在脑海中。

标签: clojure multi-tenant datomic


【解决方案1】:

您可以做的最简单的事情是在您的每个实体上放置一个租户键属性。然后对于您想要执行的任何查询,您可以通过租户键对其进行约束:

[:find ?n
 :where
 [?c :account/name ?n]
 [?c :tenant/key :tenant.key/acme]]

【讨论】:

  • 谢谢 - 这与我的想法一致。我只是想知道是否有一些更有趣的解决方案可以以某种意想不到的方式进一步扩展功能(至少对我而言)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-27
  • 1970-01-01
  • 2018-05-07
  • 1970-01-01
  • 2018-06-14
  • 2015-04-16
  • 1970-01-01
相关资源
最近更新 更多