如果关系数据库无法扩展,则无济于事。不必担心扩展问题。
SQL在进行某种分析时会遇到问题,但是触发该问题并不需要太多数据。例如,考虑一个表,该表的列基于唯一键引用其他行。通常,这可用于创建树结构。您可以编写引用相关行的快速SQL语句。或相关行的相关行。实际上,您可以进行任何特定数量的跳转。但是,如果您想为每一行选择符合条件的链中第一相关行中的一个字段,那么它将变得很复杂。
考虑一张在国家,省/州,县,镇和村庄级别的办公室位置表,每个办公室都参考其上报的办公室。有没有保证每个办公室的报告办公室仅上涨了一个级别。对于选定的一组办公室(不是全部在一个级别上),您要列出每个人的相关国家办公室。这需要循环执行SQL语句,即使今天也要花费很长时间。(我过去在选择30个办公室时花了30秒,但这是很久以前的事,而切换到存储过程会有所帮助。)
因此,另一种选择是将整个结构放入一个大数据块中,对其进行标记并存储。当您要分析数据时,一次性将所有数据读取到内存中,设置指针以跟踪结构,您可以在眨眼间处理数百万个办公室。
这与数据量没有多大关系。关键是数据组织的性质。如果关系布局有帮助,那么您想要的是RDBMS。如果没有的话,某种大容量存储的速度将快一点到四千万倍。
请注意,如果这些数据集之一变得太大而无法容纳到内存中,则您的非SQL数据库将无法正常工作。另一个问题是您一次需要多个块中的数据。你可以做到这一点,如果和仅如果所有块装入内存一次。用户在加载它们时必须等待。
如果您的关系数据库将导致您的问题,它会在您向其中放入大量数据之前这样做。唯一的扩展问题可能是程序,当您为nosql DB组装的数据块(如果必须使用一个)变得太大时,就变成了程序。(请仔细阅读内存不足错误。较新的语言有时会对内存产生奇怪的影响。)