一个用户数据库服务多个应用程序数

Ros*_*ush 5 database sql-server oracle database-design

我正在管理一个相当大的数据库,该数据库的复杂性和设计都来自单个应用程序数据库.现在有一个计划添加第五个应用程序,它带有自己的架构和特定数据.我一直在研究SSO解决方案,但这并不是我所追求的.我的目标是拥有一个客户注册,登录和授权点.

理想情况下,每个应用程序都会请求身份验证并获得多个应用程序的授权,然后应用程序将连接到相应的数据库以进行操作.我没有处理这种程度分离的第一手经验,因为一个数据库多年来一直在完美地搅拌.任何最佳实践论文将不胜感激:)

我想象一个维护共享数据的核心数据库 - 客户/公司/产品

  1. 核心表和主键 - 如果我在每个"应用程序"数据库中都有一个较小的复制表,那么为了保持参照完整性.有哪些方法可以在各种数据库之间共享密钥并确保参照完整性?

  2. 复制 - 两个订户当前从生产数据库中提取数据,然后将数据批量分配到DW解决方案以进行报告.我是否会走上一条可能导致沮丧的道路?

  3. 数据完整性 - 我如何确保例如:DATABASE_X.PREFERENCES.USER_ID =始终引用a = CORE_DATABASE.USERS.USER_ID

  4. 报告 - 我将跨越什么类型的障碍来将数据从多个数据库复制/转换为一个报告数据库?

  5. 白皮书 - 任何人都可以在实践中找到对此策略的良好参考吗?

谢谢

小智 1

几个网址给你。横向扩展实施可能会有很大差异以满足需求,但希望这些可以帮助您。

http://blogs.msdn.com/b/sqlcat/archive/2008/06/12/sql-server-scale-out.aspx

这个以 2005 年为中心,但非常好 http://msdn.microsoft.com/en-us/library/aa479364.aspx#scaloutsql_topic4

这是一个很好的报告解决方案... http://msdn.microsoft.com/en-us/library/ms345584.aspx

也给你一个分析服务:) http://sqlcat.com/whitepapers/archive/2010/06/08/scale-out-querying-for-analysis-services-with-read-only-databases.aspx