【问题标题】:Scaling database for millions of records为数百万条记录扩展数据库
【发布时间】:2012-02-21 00:19:30
【问题描述】:

我们正在开发一个应用程序,它每次处理一些代码并输出大量行(数百万!)。我们希望将这些行保存在数据库中,因为处理本身需要几个小时才能完成。

1.保存这些记录的最佳方法是什么?

2。在这里可以使用 NoSql 解决方案吗?

假设我们每天保存 500 万条记录,并且可能会偶尔从中检索。

【问题讨论】:

  • 你从哪里检索数据,从文件系统还是什么?
  • 当然,NoSQL 可能是一个解决方案。普通数据库也可以。 5M 不算多。
  • 我正在从关系数据库中检索输入。现在我的问题是,我们将它存储在哪里。
  • 只是把它放在那里,500 万行实际上并没有那么多数据,一个常规的关系数据库可以很好地处理这么多的数据。我在台式机上运行的一些开发数据库有大约 2000 万行,这没问题

标签: database nosql scalability


【解决方案1】:

这取决于您要存储什么样的数据——您能详细说明一下吗?如果数据被整齐地结构化成表格,那么您不一定需要 NoSQL 方法。但是,如果您的数据具有图形或类似网络的结构,那么您应该考虑使用 NoSQL 解决方案。如果后者对您来说是正确的,那么以下内容可能有助于您大致了解一些 NoSQL 数据库:http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

【讨论】:

    【解决方案2】:

    这在很大程度上取决于您打算如何使用生成的数据。如果您只通过主键查找它,那么 NoSQL 可能会很好,但如果您想要搜索或排序数据(或将行连接在一起),那么 SQL 数据库可能会更好。

    基本上,NoSQL 非常擅长将不透明的数据填充到存储中并非常快速地检索任何单个项目。关系数据库非常擅长索引可能被连接在一起或搜索的数据。

    任何现代 SQL 数据库每天都可以轻松处理 500 万行 - 磁盘空间更有可能成为您的瓶颈,具体取决于您的行有多大。我没有用 NoSQL 做很多事情,但如果每天 500 万个项目会导致问题,我会感到惊讶。

    【讨论】:

    • Re: noSQL - 单个 Apache Cassandra 节点每天可以处理大约 10 亿次写入 - 如果这还不够,则向集群添加更多节点 ;-)
    猜你喜欢
    • 2011-11-29
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 2019-09-16
    相关资源
    最近更新 更多