gpt4 book ai didi

python - Python Twisted 的数据库

转载 作者:太空狗 更新时间:2023-10-29 16:53:48 24 4
gpt4 key购买 nike

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

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

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

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

我的理解 - 我希望得到更正/建议 - 是:

  • Postgres 是一个很棒的数据库,但几乎所有的 Python 绑定(bind)——它们令人困惑——都是废弃软件
  • psycopg2对于 postgres,但这会在做自己的连接池和事情时产生很多噪音;这是否与 Twisted 异步数据库连接池等优雅地/有用地/透明地共存?
  • SQLLite 是一个处理小事情的好数据库,但如果以多用户方式使用,它会进行整个数据库锁定,因此性能会降低我设想的使用模式;它还具有不同的输入列值的机制?
  • MySQL - 在 Oracle 接管之后,谁愿意现在采用它或采用分支?
  • 还有其他的吗?

最佳答案

可扩展性

twisted.enterprise.adbapi 不一定是用于以可扩展方式与数据库对话的接口(interface)。可伸缩性是您需要单独解决的问题。 twisted.enterprise.adbapi 真正声称要做的唯一一件事是让您使用 DB-API 2.0 模块,而无需通常暗示的阻塞。

Postgres

是的。这是正确答案。我不认为 所有 的 Python 绑定(bind)都是废弃软件 - 例如,psycopg2 似乎得到了积极维护。事实上,他们只是为异步访问添加了一些新的绑定(bind),Twisted 最终可能会提供一个接口(interface)。

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

其他?

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

关于python - Python Twisted 的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2711621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com