2013-08-06 105 views
6

简单的用我的链接抽取程序(写在python3.3)我想用一个数据库来存储各地100.000网站:快速的关系数据库,与Python

  • 只是URL,
  • 时间邮票
  • 和每个网站的几个属性

我没有对数据库中的知识的列表,却发现下面可能适合我的目的:

  • PostgreSQL的
  • SQLite的
  • 火鸟

我感兴趣的速度(来访问数据库并获取想要的信息)。例如:对于网站x,属性y是否存在,如果是,则读取它。写作的速度当然也很重要。

我的问题:速度有很大差异还是对我的小程序无关紧要?也许有人可以告诉哪个数据库符合我的要求(并且很容易用Python来处理)。

回答

4

的大小和你的数据库的规模不是特别大,这是很好的几乎任何现成的货架数据库解决方案的范围之内。

基本上,你要做的是在你的机器上安装数据库服务器,它会出现在给定的端口上。然后你可以在Python中安装一个库来访问它。

例如,如果你想使用PostgreSQL,你将你的机器上安装它,它会拿出连接到某些端口像5000或端口5432

但如果你只是有你的信息在谈论存储和检索时,您可能想要使用NoSQL解决方案,因为它非常简单。

例如,您可以在您的服务器上登录install mongodb,然后安装pymongo。 pymongo的教程将教你几乎所有你需要的应用程序。

5

如果速度是主要标准,那么我会建议去内存数据库。 看看http://docs.python.org/2/library/sqlite3.html

它也可以作为一个普通的数据库使用,对于内存模式使用下面的内容,db应该在RAM本身创建,因此运行时访问速度更快。

import sqlite3 
conn = sqlite3.connect(':memory:') 
+0

也许我还不够清楚。我的程序将在服务器上全天候运行,应该可以从其他机器连接到数据库。 – zwieback86

+0

在这种情况下,您应该使用更混合的方法,如mongodb。数据库是内存映射的,所以你可以快速访问,它也在磁盘上。 http://docs.mongodb.org/manual/faq/storage/ – v2b