我正在设计一个架构,以便为多个租户利用Azure搜索。由于每个租户的架构略有不同,因此我的解决方案每个租户需要1个索引。这很容易设置,我真的很喜欢微软放在一起的东西。然而,现在我开始考虑加入新租户,每月费用和扩大服务范围,我开始进入一些墙,并想知道我的“最佳”选择是什么。
有没有人遇到过这种情况可以说明最佳做法?以下是我现在看到的选项:
选项1: 为每5个租户制定一个新的BASIC计划,每5个租户花费38美元/ m(每个租户每月7.60美元)。
优点: 开始便宜。 缺点: 租户因性能和存储能力有限而瘫痪,一旦我通过5个索引/租户,我将不得不管理X号服务和ClientQueryKeys。
选项2: 为每50个租户制定一个新的STANDARD S1计划,每50个租户花费250美元/ m(每个租户每月5美元)。
优点: 随着租户数增加,性能更佳,管理服务更少 缺点: 启动成本要高得多,一旦系统拥有超过50个租户,仍然需要管理租户与服务的关系,我将不得不管理X个服务和ClientQueryKeys一旦我超过50个索引/租户。
选项3: 调整可用于所有租户的单个STANDARD S2计划(假设索引计数没有上限)
优点: 更好的性能,无需管理多个服务/客户端密钥,因为租户数增加 缺点: 启动成本要高得多,成本和限制的文档很少。
在所有情况下(除了选项3,我假设?)我将不得不跨多个服务管理客户端密钥。因此,显然只有一个具有无限索引计数的服务是理想的。然而,我是一个创业公司(是的,我已经在使用BizSpark),搜索成本非常艰巨,因为我可能只有1-5个租户可以开始。
我已经读过,没有办法在计划之间轻松迁移数据(不用手动或编写脚本),所以我的第一选择可能是我的最后一次。我还希望只需管理一项服务,并为我的所有租户提供一个计划。因此,我倾向于选择3。
如果选项3是最佳选择:
答案 0 :(得分:1)
S2服务在多租户方案中运行得更好。它们不仅可以容纳更多索引(最多200个),而且它们还具有更大的总容量,因此假设索引大小和负载的指数分布,您将获得更好的客户典型体验。
你是正确的,进入成本更高。
关于S2的缺点,我们很快就会发布适当的文档和其他支持材料。同时,请随时直接与我联系(Pablo DOT Castro AT通常的Microsoft域名)以获取更多详细信息。
如果您认为将来会有很多索引(很多100个),我们也会选择更好的多租户支持。我们尚未准备好公布细节,但我很乐意与您联系,讨论。
回答您的具体问题:
1.我可以从BASIC开始,根据需要扩展到S1然后S2,或者这不可能吗?
我们目前不支持这一点。您必须创建新的搜索服务并迁移索引。
2.如果BASIC无法扩展到S1,那么一旦我超过50个租户,或者我需要手动管理或从S2开始,它至少可以从STANDARD S1扩展到S2吗?
不,不是。我们想要做到这一点,还没有达到目的。
3.标准S2上每个指数/租户的启动成本和/或成本是什么?
请与我们联系,我们可以讨论定价。
4.我的索引在S2上限制无限吗? 5.如果不是,指数上限是多少?
不,S2服务仅限于200个索引/服务。
6.我应该考虑其他任何选择或警告吗?
你做了很好的分析,我认为你走在了正确的轨道上。你可能想要考虑的一件事是公平。同一服务中的所有索引共享您为服务配置的容量。如果存在不公平负载的风险,您可能需要考虑每个租户限制。