关闭。这个问题是opinion-based .它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.
7年前关闭。
Improve this question
我正在编写一个基本的 Multi-Tenancy SaaS ECM 解决方案。每个客户端都有自己的数据库/数据存储实例,但 .Net 应用程序是单个实例。这些文档几乎是只读的(即 tiff 或 PDF 的图像存档)
到目前为止,我一直在使用 MSSQL,但后来开始认为这在 NoSQL DB(例如 MongoDB、CouchDB)中可能是可行的。基本前提是它存储文档,每个文档都有自己的特定索引。每个租户可以有多种文档类型。
例如一个租户可能有一个发票类型,其中包含客户 ID、发票编号和发票日期。另一个租户可能有一份申请表,其中包含成员编号、申请编号、成员姓名和申请日期。
到目前为止,我已经使用了 Sharepoint(使用?)使用的旧方法,并创建了一个包含 int_field_1、int_field_2、date_field_1、date_field_2 等的文档表。然后,我有了一个存储客户的“映射”表特定的索引名称,以及将映射到的数据库字段。由于文档量的原因,我避免了数据库中的键值对模型。
这样,我们可以在一个表中支持多种文档类型,并从中获得相当高的性能,并允许自定义文档类型搜索(即用户选择一种文档类型,然后他们会看到一个搜索字段列表) .
但是,NoSQL DB 可能会使这变得更简单,因为我不需要担心对文档进行非规范化。但是,我只是担心文档周围的其余数据。我们针对文档存储“ Action 历史”。这会跟踪 View 、是否有人从系统内通过电子邮件发送文档,以及其他“ future ”功能(例如传真)。
我们可以控制文档加载过程,因此我们可以操作数据,但需要将其放入文档存储中(例如分配唯一 ID)。用户不会添加自己的文档,因此我们不必担心 ACID 合规性,因为文档是相对静态的。
所以,我想我的问题是:
单个租户每月最多可处理 200,000 个新文档。我当前的 SQL DB 扩展计划涉及在达到特定阈值时将 SQL DB 移动到集群中,然后查看分区和索引结构。
最佳答案
回答:
关于asp.net - NoSQL DB for .NET 基于文档的数据库 (ECM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2671423/