我正在构建的平台的一部分需要一个大型数据表(从数千万条记录开始,在一两年内扩展到数亿条记录,可能在某个时候达到数十亿条记录)。数据表的结构是:int、int、float、datetime、datetime。此数据表将以最多一千万行的批量从单个源(导入脚本)接受数据。我可以完全控制导入脚本。各种应用程序将通过 Web API 和可能自定义的 TCP 服务器提取数据。我预计每秒的单个行请求量将达到 50,000。起初这听起来像是键值设计的一个很好的应用,但许多请求将采用以下形式:
选择浮点数,其中 int=A 且 datetime < B 且 datetime < C 按日期时间排序,日期时间限制 0,1
基本思路是,我获取给定系列的数据点,该系列的最新日期时间对低于用户定义的阈值。我可能能够在应用程序层上执行一些逻辑来一次提取整个系列,但大部分排序仍将落在数据库层上。
我目前正在运行 SQL Server 2005 的原型,它响应速度非常快,每秒最多可处理 1,000 个请求,处理 1000 万条记录。我担心的是,在 50,000 个请求的情况下,扩展到数亿行。
您觉得如何?MySQL 是否适合这项工作,因为它比 SQL Server 更轻量?我是否应该研究 NoSQL 解决方案(任何解决方案都可以处理示例查询吗)?欢迎提出任何其他想法。
谢谢!
塞塞日
答案1
MySQL 是否比 SQL Server 更轻量,因此适合这个作业?
不。
我研究 NoSQL 解决方案(任何解决方案都可以处理示例查询吗)?
一般来说不是,因为那里的原始性使它们不适合。
看看典型的 TickerPlant 解决方案。预计要支付 5 万美元以上。这是一个非常特殊的要求。预计要使用大量服务器。