2013-07-16 196 views
0

我正在使用Python和Git开展一个项目。我的脚本正在从一个文件中获取信息,我在其中输入git log -p命令的结果。所以,我想要保留的东西,如:
- 提交ID(简单的串线)
- 合并ID(简单的串线)
- 作者姓名(简单的串线)
- 日期(我想那种我这个DB)
- 注释(文本框)
- 不同的差异块(文本框)需要关于数据库的建议

我想用一个数据库,但我不知道我应该选择哪一个。我的脚本正在处理350万行长文件。我需要在我的数据库上做很多操作,尤其是排序。所以它必须快一点。我可能会在我的数据库中有很多行!

我试过用MongoDBpymongo,但我不确定这是一个不错的选择。

你有什么建议吗?这个链接对我来说有点儿难以想象http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems
它必须易于使用python 3.x!

感谢您的帮助

回答

1

你真的不告诉我们你的困惑的原因。 sqlite是Python内置的内置SQL数据库。它应该适合您的需求。

您还可以使用ORM来更轻松地处理数据库。

+0

你说得对,我不太清楚。那么,首先,我不知道我是否应该使用SQL或NOSQL。我试过mongoDB,但我想知道这是否是一个好选择,而且我在索引上遇到了一些问题。 我会看看sqlite。感谢您的回答 – F0UF

+0

@ F0UF您的问题令人难以置信的模糊。如果您的问题不仅仅是投诉,而且您感到困惑,您将不会收到有用的答案。无论如何,大多数问题都可以使用任何数据库来解决。只需选择一个你感觉舒服的,​​并重新评估是否遇到问题。 – Marcin

+0

好的。对不起,如果我的问题含糊不清,我没有太多经验。还是要谢谢你的帮助。 – F0UF

1

速度主要关心还是易于使用?如果您希望编写较少但有时牺牲效率,则可以尝试SQLAlchemy框架(http://www.sqlalchemy.org/)。

主要优点是它可以用于许多不同的数据库(MySQL,PostgreSQL,SQLite等),所以如果你不确定使用哪个数据库,你可以很容易地切换而不需要完整的代码(只有几行)。

+2

这不会帮助OP选择数据库。 – Marcin

+0

我已经添加了几行,为什么我建议SQLAlchemy不是特定的数据库。 – Wookie88

1

我会推荐MySQL,因为它是常用的并且易于设置。 Postgres会是第二位,但设置起来要困难得多(至少在Ubuntu上)。 Sqlite也可以工作,但对于大型记录集来说并不那么重要,如果你需要多个进程支持,绝对不行。无论哪种方式,我还会建议SQLAlchemy,它将允许您抽象所有数据库操作,并使它更容易尝试不同的RDBMS。

+0

ty适合所有的这些信息!我会看看sqlite和MySQL。我已经使用了MySQL,所以对我来说可能更容易,只是想知道是否很容易与python 3.x一起使用。 – F0UF

+0

确保获得正确的DBAPI,并非所有的工作都在Py3中。此人建议使用mysql-connector-python:http://watson.nci.nih.gov/~sdavis/blog/sqlalchemy-with-python-3-and-mysql/ –