Azure DocumentDB 多租户架构

2024-01-27

我一直在预览期间将 DocumentDB 实现到多租户系统中。我的计划是在 DocumentDB 帐户下为每个注册的租户生成一个新数据库。大部分代码已经就位,并且测试进展非常顺利。

由于 DocumentDB 已正式发布并且文档已最终确定,我了解到每个 DocumentDB 帐户 100 个数据库的限制,这让我停止重新思考我的架构。

我想让我的租户保持隔离,这样删除帐户就很容易,而且帐户的组织也非常干净。租户之间的数据不需要交互,因此将其分开不会成为问题。

我的问题:

由于我的目标是使这种规模扩大到数万甚至数十万租户,由于 DocumentDB 的限制和/或成本,我是否需要考虑不同的架构?

这是否意味着我需要在多个 DocumentDB 帐户中每 100 个帐户进行分片?

根据 Microsoft 的说法,100 个数据库的限制只是一个软限制,可以根据请求进行扩展,但如果需要的话可以增加到 100,000 个以上吗?如果我获得的帐户注册数量超过预期,并且我达到了生产极限,可能会失去客户,该怎么办?

这种限制的存在是否是为了阻止开发商以这种方式划分租户,有充分的理由让我考虑?


在分区/分片租户数据方面,不存在一刀切的答案。通常,数据分区方式取决于应用程序的查询模式以及每个租户的资源需求(在存储和吞吐量方面)。请记住,集合是 DocumentDB 的事务和查询边界单元。

查看上面评论中提到的 user272735 的博客文章:使用 Azure DocumentDB 扩展多租户应用程序 http://azure.microsoft.com/blog/2014/12/03/scaling-a-multi-tenant-application-with-azure-documentdb-2/。这是一本很棒的书。

如果您需要针对您的特定场景或放宽数据库/集合限制的更多一对一指导,请随时通过 andrl {at} microsoft.com 联系我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure DocumentDB 多租户架构 的相关文章

随机推荐

  • 设置新创建的 CAShapeLayer 的正确框架

    简而言之 苹果没有设置frame or bounds for a CAShapeLayer自动 并且苹果尚未实现等效的 UIView sizeThatFits 如果您使用路径边界框的大小设置框架 一切都会出错 无论你如何尝试设置它 它都会搞
  • 使用静态 WebDriver 实例的 java.lang.NullPointerException

    我想将我的代码分成更小的函数 但有一个问题 因为驱动程序并非适用于所有功能 所以我将它声明为常量 或者有更好的方法吗 但在第三个函数中 它在线失败 Select dropdown finance product new Select dri
  • 在多个文件中进行测试

    我正在为大型项目使用金字塔框架 我发现将所有测试放在一个中很混乱tests py文件 所以我决定创建包含我的测试文件的目录 问题是 我不知道如何告诉金字塔从这个目录运行我的测试 我正在使用运行测试python setup py test q
  • 无法从 C 应用程序访问 C++ DLL 中的变量

    我一直在修复旧版 Visual C 6 应用程序 在我放入的 C DLL 源中 extern C declspec dllexport char MyNewVariable 0 这会导致 MyNewVariable 显示在导出表中 未修饰
  • 如何在int内添加空格?

    假设我想打印数字 100000000 乍一看很难判断这个数字代表了多少百万 是一千万还是一亿 如何使 Java 中的大数字看起来更具可读性 例如这样的事情会很棒 100 000 000 你一眼就能看出这个数字是一亿 您也可以尝试 Decim
  • 如何从城市名称android代码获取经度,纬度

    我想转换从包含城市名称的文本字段中获取的文本 并且我想将其转换为经度和纬度 这就是我做的 String location city getText toString String inputLine String result locati
  • 在 React 中,可以始终调用 ReactDOM. Hydro 而不是 ReactDOM.render 吗?

    我在调用时有如下代码ReactDOM hydrate 这是共享代码 有时从节点服务器调用 有时在客户端浏览器中调用 我需要做任何不同的事情吗 然后打电话hydrate 仅在客户端调用时 通常情况下 我会打电话render const ren
  • python help('modules') 返回 ImportError

    最近 我有no想法当 我安装了这个名为 pymol 的包 今天 当我尝试复制所有安装模块的列表时 遇到了此错误 Projects python c help modules Please wait a moment while I gath
  • 如何配置sbt在运行应用程序时加载资源?

    我的代码 Java 从 jar 中读取图像 Main class getResourceAsStream res logo png 一切运行良好 如果我将应用程序打包到罐子后启动应用程序 但是当我使用 sbt 运行它时run任务 它返回我n
  • 在C#3.0中是否有更好的方法来编写这行C#代码?

    我有一个财产声明如下 public decimal MyProperty get set 我需要将此值作为字符串传递给另一个方法 因此我认为这样做的唯一方法如下 MyProperty null null MyProperty ToStrin
  • Pandas 数据框转换:从字典 k-v 对中添加列[重复]

    这个问题在这里已经有答案了 我想将 DataFrame 转换为如下所示 dictionary 0 b 2 a 1 1 c 4 b 3 from import pandas df pandas DataFrame df dictionary
  • Eclipse:如何删除添加到 Jar 中的附加源

    我正在使用 Eclipse IDE Helios 版本 作为构建路径的一部分 我有一个该应用程序的 jar 文件 我已使用附加源选项附加了该 jar 文件的源代码 请告诉我如何删除该 jar 文件的附加源 打开 classpath文件并删除
  • JSONStore Worklight - 大小限制

    JSONStore 为我们提供了一种与服务器同步数据并跟踪用户在离线状态下所做的更改的好方法 JSONStore 上可以保存的信息量是否有限制 我发现 Webkit 数据库有 5 MB 的限制 而 SQLLite 数据库则没有限制 还想知道
  • 从短代码函数内部调用 WordPress get_template_part 首先呈现模板

    我有一个页面需要允许用户输入一段文本 然后在该文本后面插入一个短代码来呈现帖子列表 然后添加更多自由格式的文本 我的想法是他们应该能够插入一个短代码来输出帖子 这样他们就可以简单地在他们希望帖子出现的地方添加短代码 我目前的逻辑是检索在自己
  • Rails form_tag url 路径

    这看起来应该很简单 但它一直给我带来问题 我有一个从模型中提取的 select tag 我想要的只是让一个人从下拉列表中选择他们的位置 按提交并将其带到该地点页面 这是我所拥有的 div p p div 问题是它当然想要一个 id但它不会拉
  • 如何从 VBA 调用 python 程序?

    正如标题所说 我有一个 python 程序 它处理我从电子邮件下载的一些数据文件 我正在编写一个vba脚本 它可以下载电子邮件附件并执行python程序来处理电子邮件附件 这样我就可以自动化我的日常工作 任何想法 一种方法是将 Python
  • 纯java sqlite库?

    I saw Java 和 SQLite https stackoverflow com questions 41233 java and sqlite 但是哪些是纯java制作的并且是平台无关的呢 另外 从哪一个开始最好 我从来没有使用过s
  • 字谜算法

    这是为文本生成字谜词的最佳方法 最多 80 个字符长度 例子 输入 狗 输出狗 dgo odg ogd gdo 神 我只是在考虑回溯解决方案 但如果文本较长 这将需要一段时间 另一个想法是我尝试字典中的所有单词 但问题并不要求真正的单词 有
  • 将 pdf 转换为矢量图像

    我正在尝试在我的网页中使用 pdf 内容 数学 我基本上想将 pdf 转换为一些矢量图像 将 pdf 转换为 swf 可以很好地完成这项工作 但由于并非每个平台都支持 flash 因此我正在尝试寻找另一种解决方案 我读过有关 svg 的内容
  • Azure DocumentDB 多租户架构

    我一直在预览期间将 DocumentDB 实现到多租户系统中 我的计划是在 DocumentDB 帐户下为每个注册的租户生成一个新数据库 大部分代码已经就位 并且测试进展非常顺利 由于 DocumentDB 已正式发布并且文档已最终确定 我