Database 究竟什么是';大型数据库';?

Database 究竟什么是';大型数据库';?,database,Database,好吧,我知道这个愚蠢的问题,但我看到了模糊的评论“大型数据库”和中小型数据库,我想知道这是什么意思。有人能为我们这些SQL新手定义什么是小型、中型和大型数据库吗?一种方法是观察您的测试查询 小型数据库是索引不重要的数据库 中等数据库是指如果没有适当的索引,查询所需时间超过1秒的数据库 大型数据库是一个查询通常需要数小时才能优化的数据库,它结合使用查询设计、索引修改和许多测试周期。小型数据库变为中型数据库或中型数据库变为大型数据库都没有阈值。通常,当我听到这些术语时,我会想到存储的总记录的特定数量

好吧,我知道这个愚蠢的问题,但我看到了模糊的评论“大型数据库”和中小型数据库,我想知道这是什么意思。有人能为我们这些SQL新手定义什么是小型、中型和大型数据库吗?

一种方法是观察您的测试查询

小型数据库是索引不重要的数据库

中等数据库是指如果没有适当的索引,查询所需时间超过1秒的数据库


大型数据库是一个查询通常需要数小时才能优化的数据库,它结合使用查询设计、索引修改和许多测试周期。

小型数据库变为中型数据库或中型数据库变为大型数据库都没有阈值。通常,当我听到这些术语时,我会想到存储的总记录的特定数量级

  • 小型:105条或更少的记录
  • 中等:105至107条记录
  • 大型:107到109条记录
  • 非常大:109条或更多记录
正如海报dkretz所建议的,您还可以从每种数据库的属性来考虑它。这样分类,我会说:

  • 小:性能不是一个问题。您的查询运行良好,无需进行任何特殊优化。在使用诸如索引之类的一线增强功能时,您只会看到一点性能差异

  • 中等:您的数据库可能有一个或多个员工被分配兼职维护和保养。这些人关注数据库的健康;他们的主要管理职责是防止出现不可接受的性能问题,并最大限度地减少停机时间

  • 大型:可能有专门的工作人员,他们的工作是处理数据库和提高性能,并确保应用程序更改不会在数据库的生命周期内导致架构破坏。密切监视数据库的运行状况和状态指标。理解和执行优化需要大量的专业知识

  • 非常大:数据库存储大量必须易于访问的信息。性能优化是绝对需要的,它可以使每个查询的速度提高到最后一盎司,如果没有性能优化,数据库的可用性将大大降低,甚至无法使用。数据库可能使用复杂或创新的复制或集群技术,突破了当前技术的界限


请注意,这些完全是主观的,有些人很可能对“大”有一个完全合法的替代定义

超大数据库(VLDB)是一种包含大量元组(数据库行)或占用极大物理文件系统存储空间的数据库。VLDB最常见的定义是一个占用1TB以上或包含数十亿行的数据库,尽管这个定义随着时间的推移自然会发生变化


我认为维基百科或美国人口普查数据是一个“大”数据库。我的个人地址列表或TODO是一个小型数据库。中等大小的数据库介于两者之间


您可以尝试根据需要的服务器数量定义大小。小型数据库是您在桌面上运行的应用程序的一个组件,中型数据库是某个地方的一台mysql(无论什么)服务器,大型数据库需要多台服务器,并提供某种复制/故障切换支持。

大型数据库迫使您停止使用关系数据库

换句话说,一个规范化的关系数据库,由于大量的连接,世界上所有的索引都不能帮助您满足响应时间要求


如果您曾经不得不放弃关系数据库而去做其他事情,那么您要么是一个糟糕的数据库开发人员,要么没有专业的DBA,要么是一个非常大的数据库。

大型数据库确实是一个模糊的概念。在这个问题的答案中已经有了非常不同的答案和观点。定义“小”、“中”和“大”数据库的一些方法可能比其他数据库更有意义,但在某些时候,我认为每个定义都是正确的、真实的和有效的。 有些定义比其他定义更有意义,因为它们侧重于数据库的设计、编程、使用、维护和管理的不同方面,而这些不同方面对于可用数据库来说才是真正重要的。碰巧所有这些方面都受到“数据库大小”这一模糊概念的影响

那么,这是否意味着,您是否能够定义某个特定数据库是否很大并不重要

当然不是。这意味着,在评估数据库的不同设计/操作/管理方面时,您将以不同的方式应用该概念。这也意味着每次这个概念都是模糊的

例如:数据库索引策略(数据库设计的一个方面)受每个表的记录计数(“大小”度量)、记录大小乘以记录计数(“大小”的另一个度量)以及查询与创建/更新/删除操作比率(数据库使用的一个方面)的影响

如果索引用于具有大量记录的表,则查询响应时间会更好。根据WHERE、ORDER BY和record聚合子句的性质,某些表可能需要几个索引

随着受影响表上索引数量的增加,创建、更新和删除操作受到负面影响。受影响表的索引越多,意味着RDBMS必须执行更多的更改,需要花费更多的时间和资源来应用这些更改

此外,如果您的RDBMS花费更多的时间来应用这些更改,那么锁将被保持很长时间