当前位置:  开发笔记 > 编程语言 > 正文

比较python中的持久存储解决方案

如何解决《比较python中的持久存储解决方案》经验,为你挑选了3个好方法。

我正在开始一个新的科学项目,它有大量的数据(数百万条目),我想以一种简单快捷的格式存储.我遇到了许多不同的潜在选择,但我不确定如何从中挑选.我的数据可能只是存储为字典,或者可能是字典字典.一些潜在的考虑:

速度.每次启动新脚本时,我都无法从磁盘上加载所有数据,我希望尽快访问随机条目.

便于使用.这是python.存储应该感觉像python.

稳定性/成熟.我想要一些目前支持的东西,虽然一些运作良好但仍在开发中的东西会很好.

易于安装.我的系统管理员应该能够在我们的集群上运行它.

我并不太关心存储的大小,但如果选项在这方面真的很糟糕,那可能是一个考虑因素.此外,如果它很重要,我很可能会创建一次数据库,然后只读取它.

我开始关注的一些潜在选项(参见这篇文章):

pyTables

ZopeDB

搁置

Redis的

durus

有关哪些可能更适合我的目的的任何建议?有更好的想法吗?其中一些有后端; 关于哪个文件系统后端最好的建议?



1> mdirolf..:

可能想给mongodb一个镜头 - PyMongo库可以使用字典并支持大多数Python类型.易于安装,性能卓越+可扩展.MongoDB(和PyMongo)也用于一些大牌的制作.



2> nosklo..:

一个RDBMS.

没有比在众所周知的RDBMS上使用表格更可行的了.想到了Postgresql.

这会自动为您提供一些未来的选择,例如群集.此外,您自动拥有许多工具来管理数据库,您可以使用其他几乎用任何语言编写的软件来使用它.

它真的很快.

在"感觉像python"一点,我可能会补充说你可以使用ORM.一个强大的名字是sqlalchemy.也许与长生不老药 " 扩展 ".

使用sqlalchemy,您可以让user/sysadmin选择他想要使用的数据库后端.也许他们已经安装了MySql - 没问题.

RDBMS仍然是数据存储的最佳选择.



3> wierob..:

我正在研究这样一个项目,我正在使用SQLite.

SQLite将所有内容存储在一个文件中,并且是Python标准库的一部分.因此,安装和配置几乎是免费的(易于安装).

您可以使用小型Python脚本或各种工具轻松管理数据库文件.还有一个Firefox插件(易于安装/易于使用).

我发现使用SQL过滤/排序/操作/ ...数据非常方便.虽然,我不是SQL专家.(便于使用)

我不确定SQLite是否是这项工作的精简数据库系统,它缺少一些您可能需要的功能,例如存储过程.

无论如何,SQLite适合我.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有