
SQLServer2008构建SOA管理软件技术实践——U9技术架构解析
下载需积分: 10 | 4.97MB |
更新于2024-08-17
| 187 浏览量 | 举报
收藏
"本文档主要介绍了基于SQL Server 2008构建SOA(Service-Oriented Architecture,面向服务架构)大型管理软件的技术实践,重点在用友U9系统的业务和技术架构,以及在高并发场景下的性能表现。文章还探讨了数据库设计中的关键问题,如逻辑主键的选择、数据压缩、行版本快照、分页算法、计算列、表值参数和XML优化等。"
在U9业务架构中,系统被设计为支持高并发和高性能,能够处理大规模的数据量。例如,它包含4000张业务表,数据库大小可达到40GB,并能保存3年以上客户数据。在IntelLab的性能测试中,U9在8000并发用户下表现出色,平均响应时间为0.18秒,平均事务处理时间为2.5秒。
在技术实践部分,文档讨论了如何选择合适的逻辑主键。无意义的整数顺序号(Bigint)虽然设置简单且空间占用小,但不适用于分布式数据库。而GUID虽然支持分布式,但空间占用较大。U9采取了一种折衷策略,将SiteID、日期和顺序号组合成一个Bigint作为主键,既保证了空间效率又支持分布式。
行版本快照是SQL Server 2005引入的一个特性,它允许读操作在写操作进行时不被阻塞,提升了系统的并发性。启用行版本控制后,读操作可以从Tempdb获取已提交数据的快照,避免了等待写操作完成。
为了减少磁盘I/O消耗,U9广泛使用了SQL Server的数据压缩功能,这有助于提高读写速度。此外,U9还采用了包含列索引来实现索引覆盖,进一步优化查询性能。
在处理大量数据时,高效的分页算法至关重要。U9的分页算法实现有效地处理了大数据集的分页显示。计算列在系统中也有应用,可以动态计算数据,无需每次都进行计算操作。表值参数(Table-Valued Parameter)的使用则提高了批量操作的效率,减少了SQL语句的硬编码。
最后,通过CLR实现的自治事务和内存Low-High算法,U9减少了存储过程的调用次数,优化了主键分配过程,从而提高了整体系统性能。
该文档提供了丰富的SQL Server 2008在构建大型SOA系统中的实践经验,对于理解和优化基于SQL Server的管理软件系统具有很高的参考价值。
相关推荐






















欧学东
- 粉丝: 2587
最新资源
- 小程序项目整合:基于M2框架的wx-main应用
- Python深度学习库CleverHans:对抗性示例的攻击与防御基准测试
- GitHub徽章:美化自述文件与网页的工具
- Docker化Python TA-Lib包装器:快速构建与部署指南
- Python实现的通道修剪技术加速深度神经网络
- IA-Rasende-Roboter:学生项目深度解析
- Electron与Svelte融合实践:小型模板项目探索
- HTML技术在pekanchuan.github.io中的应用解析
- 浏览器扩展程序CanonicalUrlDetector实现网址规范化
- NugetDownloader:动态下载Nuget软件包的.Net Core工具
- Matlab图像处理工具箱:实现高效率下采样
- Lalit's XML2Array GitHub仓库:PHP XML与数组互转工具
- 使用React JS克隆黑客新闻教程与实践
- Google Cloud Platform PHP应用开发教程
- MmaCliquer: Mathematica点击界面操作指南
- Pupil Core眼动追踪:Python与C++的开源解决方案
- 利用“Nozomi”快速编写高质量CSS的工具介绍
- 实时消息云服务:Tessel的Node.js客户端SDK
- Python数据分析与模型训练:掌握嵌套交叉验证和git技巧
- Notion投资仪表板:TradingView数据小部件整合指南
- node-firefox:Node.js模块实现对Firefox的远程调试与控制
- 个人开发的Cordova/Phonegap钩子工具集
- 中国电信短信SDK在Node.js中的应用教程
- Busi: 全栈迷你ERP应用,助力初创与小型企业管理销售全流程