多租户数据库性能测试手册
在与LitwareHR2.0共同发布的安装包里面还有一个多租户数据库性能测试工具, 该工具发布的目的是为了帮助客户测试在多租户条件下的数据库扩展性能进行比较.
选择了目前已知的5种数据可扩展方式进行比较:
1. 扩展表模式Extension Table:多个租户使用同一数据库并共享全部的表。独立的表格把租户特定的列变为行进行存储。利用SQL视图把表中的行转换为列。LitwareHR 就是利用该方法构建应用。这个工具支持3个不同的方案来创建这个视图:
a. OneJoinPerField ( 对每个扩展域,租户视图都会有一个left join )
b. OneJoinPerTable (一个单独的left join )
c. Pivot(SQL Server 2005的新功能)
2. Tenant-specific Schema:多租户在同一个数据库里,但每一个tenant拥有自身定制化的一套Schema。但是该工具还不支持这种设计。
3. 固定列Fixed Columns:提供固定列用于存储Tenant扩展特定数据的方式。
4. 混合Hybrid:Fixed Columns和扩展表格结合起来,如果需要比固定列数更多扩展的字段,将会为添加的域使用这些扩展表格。
5. XML列:租户的扩展数据储存在一个单独的XML列。
并根据用户选择不通数据扩展方式利用性能测试工具进行测试,获得相应数据图标进行分析. 我已经翻译了文档,大家可以到http://www.cnsaas.com/DownLoadFile.aspx?FileType=2 进行下载.
其中有一个结果可能大家比较关心,就是用Extension table和XML存储哪个效率会高些,试验结果证明Extension Table效率高,所以建议大家以后用XML进行可扩展处理时,特别是多租户情况下的性能问题。