Eri*_*ric 15 python database data-mining nosql
我是一个偶尔的Python程序员,到目前为止只使用MYSQL或SQLITE数据库.我是一家小公司的计算机人员,我已经开始了一个新的项目,我认为这是时候尝试新的数据库.
销售部门每周进行一次CSV转储,我需要制作一个小型脚本应用程序,允许人们组成其他部门混合信息,主要是链接记录.我已经解决了所有这些问题,我的问题是速度,我只是使用纯文本文件而且毫不奇怪它很慢.
我想过使用mysql,但后来我需要在每个桌面安装mysql,sqlite更容易,但速度很慢.我不需要一个完整的关系数据库,只需要在适当的时间内使用大量数据.
更新:我想我的数据库使用情况并不是很详细,因此严重地解释了我的问题.我正在读取所有数据〜900 Megas或更多,从csv到Python字典,然后使用它.我的问题是存储并且主要是快速读取数据.
非常感谢!
Alf*_*red 16
"get all users who work for departement x"
"get all sales from user x"
我是一家小公司的计算机人员,我已经开始了一个新的项目,我认为这是时候尝试新的数据库.
您确定需要一个数据库来解决您的问题.仅使用python词典自己做这件事很困难.特别是当您的问题集无法适应内存时.
我想过使用mysql,但后来我需要在每个桌面安装mysql,sqlite更容易,但速度很慢.我不需要一个完整的关系数据库,只需要在适当的时间内使用大量数据.
集中式(客户端 - 服务器架构)数据库正是您解决问题所需的.让所有用户从您管理的1台PC访问数据库.您可以使用MySQL来解决您的问题.
您也可以使用Tokyo Tyrant存储您的所有数据.东京暴君非常快,不必存储在RAM中.它处理数据的效率更高(而不是使用python字典).但是,如果你的问题完全适合记忆,我认为你应该看看Redis(下图).
例如,您可以使用Redis(在5分钟内快速启动)(Redis非常快)将所有销售存储在内存中.Redis非常强大,可以疯狂地进行这种查询.Redis的唯一问题是它必须完全适合RAM,但我相信他正在努力(夜间构建已经支持它).也像我之前说的那样,以前完全从内存中解决问题集是大型网站如何及时解决问题.
该文章试图与文档商店像CouchDB的/了Riak/MongoDB的评估KV-店.这些商店能够更好地搜索(比KV商店慢一点),但不擅长全文搜索.
如果你想做全文搜索查询,你可以在:
Hig*_*ark 12
您可能确实需要一个完整的关系型DBMS,如果不是现在,很快就会.如果您现在就开始,而您的问题和数据简单明了,那么当它们变得复杂和困难时,您将拥有至少一个DBMS的丰富经验来帮助您.您可能不需要在所有桌面上使用MySQL,例如,您可以将其安装在服务器上并通过网络提供数据,但您可能需要提供有关您的需求,工具集和设备的更多信息以获得更好的建议.
而且,虽然其他DBMS也有自己的优点和缺点,但对于大型和复杂的数据库,MySQL没有任何问题.我对SQLite的知识不足以了解它.
编辑:@Eric从您的评论到我的答案和其他答案我更强烈地形成了这样的观点,即你是时候搬到数据库了.尝试在900MB Python字典上进行数据库操作的速度很慢,我并不感到惊讶.我认为你必须首先说服自己,然后是你的管理层,你已经达到了目前工具集能够应对的极限,并且除非你重新思考问题,否则未来的发展将受到威胁.
如果你的网络真的不能支持基于服务器的数据库而不是(a)你真的需要使你的网络健壮,可靠和高性能足以达到这个目的,但(b)如果这不是一个选择,或者不是一个早期选项,你应该考虑将中心数据库服务器传递给其他用户的摘要/提取/报告,而不是在客户端 - 服务器配置中同时工作的完整RDBMS.
您目前遇到的问题是没有合适的工具.他们只会变得更糟.我希望我可以建议一种不是这种情况的神奇方式,但我不能,而且我不认为其他人会这样做.
归档时间: |
|
查看次数: |
10983 次 |
最近记录: |