我应该使用哪个DB?

Sha*_*man 6 database

我现在正在构建一个应该存储和处理大量数据的应用程序.所以现在我正在努力解决这个问题 - 我应该使用哪个DB.

我的要求是:

  • 每秒处理多达~100,000个插入命令(有时来自不同线程的几个).100,000是最高峰; 大多数情况下,金额将介于数百到数千之间.
  • 存储数百万条记录.
  • 尽快查询数据.
  • 每个实体的部分数据属性都会发生变化,这比非关系数据库行为更适合非关系数据库行为.但是,可能属性的总和并不大,因此它可以在关系数据库中显示为列(如果它以这种方式更快).
  • 很少会发生更新命令.

你建议我使用哪个DB?

谢谢!

更新:我使用的操作系统不是Windows.我认为如果SQL Server是最推荐的数据库,那么我可能会从您的响应切换,但事实并非如此.

关于预算 - 我将从最便宜的选项开始,我想一旦公司有更多的钱和更多的用户,这将改变.

没有人推荐过no-sql数据库.他们真的对这种要求不好吗?

Rus*_*uss 3

答案取决于询问其他问题,例如您想要花多少钱、您正在使用什么操作系统以及您内部拥有哪些专业知识。

据我所知,可以处理如此大规模的数据库包括:DB2、Oracle、Teradata 和 SQL Server。MySQL 也可能是一个选择,尽管我不确定它的性能。

我确信还有其他一些设计用于处理您建议的大规模数据,您可能也需要研究这些。

因此,如果您的操作系统不是 Windows,则可以排除 SQL Server。

如果你想要便宜,MySQL 可能是一个选择。

DB2和Oracle都是成熟的数据库系统。如果您的系统是大型机(IBM 370),我建议使用 DB2,但对于基于 Unix 的系统,两者都可以是一个选择。

我对 Teradata 不太了解,但我知道它是专门为海量数据设计的,因此可能更接近您正在寻找的内容。

更完整的选择列表可以在这里找到:http://en.wikipedia.org/wiki/List_of_relational_database_management_systems

这里有一个不错的数据库比较:http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

每秒 100000+ 次插入是一个巨大的数字,无论您选择什么,您都需要在硬件上花费大量资金来处理这个问题。