持久性数据库(MySQL/MongoDB/Cassandra/BigTable/BigData)与非持久性数组(PHP/PYTHON)

AMO*_*ADE 16 python optimization query-optimization bigdata mongodb

它将如何有益的是使用Python/PHP非持久阵列存储6GB +数据超过800万分美元排在RAM中,而不是使用MySQL /的MongoDB /卡桑德拉/ BigTable的/ BigData(持久性数据库)数据库,当谈到速度,简单的查询执行/延迟?

例如,在1秒内找到800多万行中的一个名称:是否可能?有没有人有处理超过1-2亿行数据集的经验,并在1秒内获得简单搜索查询的结果?

是否有更好的,经过验证的方法来处理数十亿行?

blu*_*ote 4

它应该有很大的不同,大约快 4-5 个数量级。数据库将记录存储在 4KB 块中(通常),并且必须将每个这样的块放入内存,这需要几毫秒的时间。将表的大小除以 4KB 即可得到图片。相比之下,内存数据的相应时间通常为纳秒。毫无疑问,内存速度更快,真正的问题是您是否有足够的内存以及可以将数据保留多长时间。

然而,以上内容适用于select * from table查询。如果你想要一个select * from table where name=something,你可以在名称上创建一个索引,这样数据库就不必扫描整个文件,结果应该好得多可能对实际使用非常满意。