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

标签 python mongodb optimization query-optimization bigdata

使用 Python/PHP 非持久性数组在 RAM 中存储 6GB+ 数据和 800+ 百万 行数据有什么好处,而不是在简单查询执行的速度/延迟方面使用 MySQL/MongoDB/Cassandra/BigTable/BigData(Persistence Database) 数据库?

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

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

最佳答案

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

但是,上述情况适用于 select * from table 查询。如果你想要一个select * from table where name=something,你可以在名字上创建一个索引,这样数据库就不用扫描整个文件了,结果应该是好多了,好多了,实际使用可能非常满意。

关于python - 持久性数据库(MySQL/MongoDB/Cassandra/BigTable/BigData)与非持久性数组(PHP/PYTHON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41935280/

相关文章:

javascript - Mongoose:如何在变量中创建特定的字段标准

algorithm - 通过传送找到图中的最短路径

c++ - pqxx 返回刚刚插入的行的 id

python - href 静态文件 Django STATIC_URL 和 STATICFILES_DIRS

python - 是否可以构建一个程序来确定另一个 python 程序正在使用哪些库?

python - 从一个类的 post 方法调用另一个类的 post 方法

python - 在seaborn中可视化直方图

mongoDB,无法从配置文件中读取——不同文件夹中的配置/卸载它?

node.js - 仅当 mongodb 中的 operationType 为 'update' 时才过滤

MySQL - 使用字符串作为主键