【问题标题】:What are "normal" amounts of data to store in a database? [closed]存储在数据库中的“正常”数据量是多少? [关闭]
【发布时间】:2021-10-22 08:04:30
【问题描述】:

对于我的项目,一个 Web 应用程序,我需要将用户数据存储在数据库中。显然,所有用户都与他们的唯一 ID 一起存储,但是用户在应用程序中创建的“项目”呢?

用户登录后,他们可以在应用程序中创建“项目”,无论项目是什么。每个项目都有一组由用户创建的属性。我可以创建一个名为“user_items”的表,其中包含项目 ID 和创建它的用户的用户 ID。但是,如果该应用程序有 1000 个用户,他们都创建了 50 个项目,并且至少有 10 个属性,该怎么办?这将创建 10 列的 50000 条记录。所以我开始怀疑......

这是否会在普通服务器上产生加载问题(减慢进程)?

数据库中存储的正常数据量是多少?

【问题讨论】:

  • 没有正常的数据量。因应用程序而异。我已经看到了数百万条记录。 50,000 非常小——尤其是对于具有合理 RAM、CPU 等的服务器(基于您接收/查询的流量)。使用数据库索引也可以加快速度。如果您没有足够的系统资源(RAM、CPU),您可能会开始看到问题或更长的响应时间。随着您添加越来越多的数据,需要搜索的数据越来越多,因此随着数据量的增加,搜索速度会变慢。如果您只是建立一个网站,我不会担心
  • 现代数据库和计算机(甚至您的个人笔记本电脑或台式机)可以轻松处理数百万条记录...
  • 啊,这真是一种解脱。感谢您的快速回复!
  • 单行单列表在某些情况下是“正常的”。数十亿行的表在某些情况下是“正常的。50K 行在今天是“小”。至于“处理”——让我们看看SELECTsUPDATEs 等。

标签: mysql storage


【解决方案1】:

非常高的水平:

  • 在现代硬件上运行的现代 RDBMS 可以处理具有数亿行的表,并且仍然可以快速返回结果。
  • 但前提是它设计得很好并且可以为您的查询使用索引。
  • 某些查询不能使用索引,例如字符字段的通配符搜索(例如where name like '%bob%'
  • 大量并发用户可能会降低应用程序的性能,您需要确保每个页面请求不会产生数百个数据库请求。如果您有 1000 个用户同时使用该网站,并且每个请求需要 100 个数据库查询来呈现您的页面,那么您的数据库可能没有足够的资源来同时处理这些查询。

【讨论】:

  • 关键字搜索有专门的索引,但它们是专门的。您必须专门为这种查询设置它们
猜你喜欢
  • 2010-09-30
  • 1970-01-01
  • 2021-10-31
  • 2021-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-26
相关资源
最近更新 更多