首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python Twisted数据库

Python Twisted数据库
EN

Stack Overflow用户
提问于 2010-04-26 15:06:12
回答 3查看 6.5K关注 0票数 16

Twisted应用程序有一个以可伸缩的方式与数据库对话的API:twisted.enterprise.dbapi

令人困惑的是,选择哪个数据库?

数据库将有一个Twisted应用程序,它主要进行插入和更新,相对较少的选择,然后是其他严格只读的客户端,它们直接访问数据库进行选择。

(只读用户不一定选择Twisted应用程序插入的数据;它不像是将数据库用作消息队列)

我的理解是-我希望更正/建议的-是这样的:

  • Postgres是一个很棒的数据库,但是几乎所有的psycopg2绑定--有一个令人困惑的迷宫--都是是postgres的psycopg2,但是做它自己的连接池和事情会引起很多的噪音;这和扭曲的异步数据库连接池和诸如此类的东西共存的优雅/有用/透明吗?
    • SQLLite是一个很棒的数据库,但如果以多用户的方式使用,它会进行整个数据库锁定,所以性能会像我想象的那样使用模式;它也有不同的输入列分支的机制-在甲骨文被收购之后,谁会想现在采用它或采用values?
    • MySQL?
    • 还有别的东西吗?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-26 20:21:13

可扩展性

twisted.enterprise.adbapi不一定是以可伸缩的方式与数据库对话的接口。可伸缩性是一个你需要单独解决的问题。twisted.enterprise.adbapi真正声称要做的唯一一件事就是让您可以使用DB-API2.0模块,而不会出现通常所暗示的阻塞。

Postgres

是。这是正确的答案。我不认为所有的Python绑定都是被遗弃的--例如,psycopg2似乎是主动维护的。事实上,他们只是为异步访问添加了一些新的绑定,Twisted最终可能会提供一个接口。

SQLite3也很酷。您可能希望在您的应用程序中使用Postgres或SQLite3;例如,即使您想在Postgres上部署,您的单元测试在SQLite3上运行也肯定会更愉快。

Other?

很难知道另一个数据库(也许是非关系数据库)是否比Postgres更适合您的应用程序。这在很大程度上取决于您将要存储的特定数据以及需要对其运行的查询。如果你的数据库中有有趣的关系,Postgres看起来确实是一个很好的答案。但是,如果您的所有查询看起来都像"SELECT foo,bar FROM baz“,那么可能有一个更简单、性能更高的选项。

票数 15
EN

Stack Overflow用户

发布于 2012-01-05 01:10:48

txpostgres库,它是twisted.enterprise.dbapi的替代,线程池的-instead和阻塞的DB IO,它是完全异步的,利用了psycopg2的内置异步功能。

我们正在一家大公司的生产中使用它,到目前为止,它一直很好地服务于我们。此外,它正在积极开发-我们最近报告的一个bug很快就被解决了。

票数 10
EN

Stack Overflow用户

发布于 2012-07-01 05:08:20

你可以看看nosql数据库,比如mongodb或者couchdb with twisted。使用基于nosql的数据库比使用mysql或postgres向外扩展要容易得多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2711621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档