我正在开发一个需要在Windows平台中进行扩展的服务。是否有快速和可扩展的解决方案来保存数据?
最初它每秒会接收大约50个连接(每个连接将发送大约5kb的数据),但它需要可扩展以接收超过500个未来。
将接收到的数据保存到Microsoft SQL Server等通用数据库是不切实际的(我想)。
是否有另一种解决方案来保存数据?考虑到它每天会收到超过600万的“记录”。
有5个步骤:
- 接收经由HTTP处理的数据(C#);
- 保存接收到的数据; < - HERE
- 请求保存的数据进行处理;
- 处理请求的数据;
- 保存处理后的数据。 < - 这里
我的前液是:
- 接收经由http处理(C#)中的数据;
- 将收到的数据保存到消息队列;
- 来自的请求MSQ使用windows服务处理保存的数据;
- 处理请求的数据;
- 将处理后的数据保存到Microsoft SQL Server(这里是瓶颈);
你为什么认为这是不切实际的?你有没有试过模拟它,并检查给定的硬件配置中可能遇到的限制? – jvanderh 2009-08-05 17:51:27
你能指定你使用的是哪个版本的Sql Server吗?如果它是Express版本之一,那么您将永远无法处理这种流量......另外,您应该查看您的表格索引以查看是否导致速度变慢。我基本上说:不要太快从数据库服务器解决方案中逃脱。它应该能够处理你描述的那种音量。 (当然,在足够强大的硬件上运行。) – 2009-08-05 17:55:03
600万条记录不一定那么多。记录有多大?我认为我会默认使用SQL DB,那么当且仅当它确实是瓶颈时,才会考虑像Amazon的SimpleDB这样的东西。只需使用一个数据存储库模式,以后可以轻松地将其交换出来...... – ConsultUtah 2009-08-05 17:56:55