需要帮助选择数据库服务器

时间:2011-02-25 07:05:01

标签: c# .net c++ database database-design

大家好日子。

最近,我被赋予了开发应用程序以自动化股票交易某些方面的任务。在开始初始架构时,出现了数据库困境。我需要的是一个快速的数据库引擎,可以非常快速地处理大量数据。我在通用编程方面经验丰富,但我从未面临过开发高负载数据库架构的任务。我在我的一个项目中开发了一个简单的MSSQL数据库模式,其中包含多个多对多关系,但就是这样。

我正在寻找的是关于选择最合适的数据库引擎的一些建议,以及描述高负荷数据库开发的各种手册或书籍的一些建议。

该项目的具体内容如下:

  • 操作系统:Windows NT系列(Server 2008/7)
  • 主要平台:带C#的.NET
  • 数据库结构:一个表用于保存主要项目,两个或三个表用外键保存到第一个表以保存其他信息。
  • 数据库选择要求:需要通过外键以及外键和其中一列的组合进行超快速选择(可能是DATETIME)
  • 数据库INSERT要求:越快越好:)

如果会有显着的性能提升,可以用C ++编写一些部分,并将托管接口写入系统的其余部分。

再一次:考虑到我刚输入的所有内容,请给我一些关于我项目最佳数据库的建议。关于该主题的一些手册和书籍的链接或参考也非常感谢。

编辑:我需要在30-50毫秒内在2个表中插入3-5行大约一次,我需要使用0-2 WHERE子句以相似的速率执行SELECT。

4 个答案:

答案 0 :(得分:3)

这项技术无关紧要。这是关于硬件的。

  

需要外国人超快速选择   密钥和外键组合   和其中一个专栏(大概是   DATETIME)

所以你需要一个像SSD和256GB内存作为缓存的supermicro 72光盘计算机系统。就那么简单。根据需要添加处理器。

问题是它是昂贵的,但最后数据库是关于IO的。点。

或者选择点击流数据库(KD +)和支付30.000美元的硬件,他们要求的硬件为20.000美元用于启动最小的软件许可证。

我知道这听起来很难,但是数据库的速度 - 除非你做了愚蠢的事情,否则会破坏性能 - 是关于硬件的。 PRettym uch IOPS预算(每秒独立IOPS)。而不是软件。

答案 1 :(得分:1)

你的名单只是基本要求。您几乎可以使用任何数据库,但我不建议使用MySQL。当您执行多次插入时,它可能会减慢一点,因为这会清除查询缓存。其他DBMS可以更好地处理这个问题。

但话又说回来。三张桌子......你几乎可以在Access中做到这一点。

指定的内容是您期望的读取和插入量。我们糟糕的小型MySQL数据库每天为我们的网站运行数百万条查询。其中只有一小部分是插入和更新(DML语句),因此MySQL处理得非常好,但查询量,复杂性和涉及的数据量都是比表数更重要的数据。

答案 2 :(得分:0)

如果您已经有过使用Sql Server的经验,我建议您以某种形式坚持使用它。此外,Sql Server和.NET有很好的协同作用(显然),因为它们都是Microsoft产品。

答案 3 :(得分:0)

如果它不必是SQL,那么像Cassandra这样的系统可能是个不错的选择。这类数据库被社交媒体等高频网站使用。但不知道它在Windows服务器下的安装方式。