我们的一个业务问题的解决方案是将大约 5 亿条记录存储到数据库中。 每条记录大约有 40 到 50 列。
我有一个包含所有这些数据的文本文件,大约 150 GB。 (我硬盘的三分之一)
如果我(以某种方式)将所有这些数据加载到数据库(ORACLE?)中,它的性能如何?
我的一位同事坚持认为这绝对没问题。 我什至可以为所有 40 到 50 列编制索引,然后只需编写一些 sql 来获取数据即可。
他说得对吗? 还是 5 亿条记录对于一个数据库来说太多了?
附注 只需在一些非常好的答案之后添加更多信息: 40 到 50 列将包含小字符串和/或数字。 对于小字符串,我打算小于 64 个字符。
最佳答案
如果没有关于您正在使用的 RDBMS、它是如何托管的以及这是什么类型的数据(大文本、小数字等)的任何信息,可靠的答案并不容易。
纯粹的记录量应该不是问题,几乎每个现代 RDBMS 都可以轻松处理 5 亿甚至更多的记录。
数据如何存储在 RDBMS 上会变得更有趣,p.e.它使用什么样的文件系统,表有多少磁盘空间,表在硬盘上的分布方式等等,这些都应该考虑在内。
一般来说,我建议只索引那些真正需要应用程序和查询数据的列,否则它们只会减慢您的插入速度,占用宝贵的磁盘空间并且对您毫无帮助。
这里有一些 SO 链接可能会进一步帮助您:
关于database - 5亿条记录的大数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6029489/