联合 ID 谓词只是 SQL Azure 的一个东西吗?
我正在设置一个多租户数据库,并发现了以下有关联盟的博客文章:
他们写了关于分配谓词以在租户之间过滤数据的文章
在单租户应用程序中,应用程序中的查询逻辑是在假设数据库中的所有数据都属于一个租户的情况下进行编码的。对于使用相同架构的多租户应用程序,重构代码只需将tenant_id注入到架构(表、索引等)中,并且应用程序发出的每个查询都包含tenant_id=?谓词。在联合中,tenant_id 是联合键,您仍被要求实施架构更改。但是,联合提供了一种称为 FILTERING 连接的连接类型,该连接类型会自动注入此tenant_id 谓词,而无需应用程序重构。我们的数据相关路由默认设置 FILTERING 连接。方法如下;
1:使用 FEDERATIONorders_federation(tenant_id=155) 并重置,FILTERING=ON
我的问题是,这只是 SQL azure 的东西吗?或者这可以通过任何 sql server 实例来完成吗?
提前致谢
Im setting up a multi tenant database and came across the following blog post on federations: SQL Azure Multi Tenant
They write about assigning a predicate to filter data between tenants:
In a single-tenant app, the query logic in application is coded with the assumption that all data in a database belongs to one tenant. With multi-tenant apps that work with identical schemas, refactored code simply injects tenant_id into the schema (tables, indexes etc) and every query the app issues, contains the tenant_id=? predicate. In a federation, where tenant_id is the federation key, you are asked to still implement the schema changes. However federations provide a connection type called a FILTERING connection that automatically injects this tenant_id predicate without requiring app refactoring. Our data-dependent routing sets up a FILTERING connection by default. Here is how;
1: USE FEDERATION orders_federation(tenant_id=155) WITH RESET, FILTERING=ON
My question is, is this just a SQL azure thing? Or can this be accomplished with any sql server instance?
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
联合仅在 SQL Azure 上可用。
Federations are available only on SQL Azure.