【问题标题】:When to use pyodbc and when to use jaydebeapi in Python 2/3?在 Python 2/3 中何时使用 pyodbc 以及何时使用 jaydebeapi?
【发布时间】:2016-10-14 01:28:03
【问题描述】:

正如标题所说,简单的问题...... 在 Python 2/3 中何时使用 pyodbc 以及何时使用 jaydebeapi?

让我用几个示例场景详细说明...

  1. 如果我是一名解决方案架构师,并且正在研究一个 Pyramid Web 服务器,该服务器希望访问多种 RDBMS 类型(HSQLDB、Maria、Oracle 等),并期望实现大量并发并需要延迟性能一个单一的 Web 服务器,将选择哪种范式?为什么?

  2. 如果我要实施一个企业微服务解决方案(又名新的 SOA),每个微服务都访问特定的目标 RDBMS,但每个微服务都具有高负载和性能延迟要求,我会选择哪种范式?为什么?

传统上,JDBC 在需要良好并发性的大型企业解决方案中表现得更好。 Python中是否普遍存在相同的特质?除了上述两种方法,还有其他方法吗?

我是 Python 新手,所以如果我的问题没有意义,请耐心等待,我会尝试进一步详细说明。最好从高级解决方案设计中考虑我的问题,然后从头开始作为开发人员。如果你是 sol 架构师,你会要求什么作为范式?

【问题讨论】:

  • 这个问题可以从更多细节中获益,以获得更具体的答案。参照。如果它已经适合您手头的问题,我的回答,否则请对答案发表评论,或者如果问题需要更多修改,请编辑您的问题。好吗?
  • 好吧,我在 2 天前编辑了问题...

标签: python python-3.x pyodbc jaydebeapi


【解决方案1】:

简单的答案 - 直到给出更多细节:

如果您想使用数据库使用 ODBC:使用 pyodbc 或使用 pypyodbc 的纯 Python 解决方案

如果你想用 JDBC 和数据库对话,可以试试 jaydebeapi

这应该取决于你想在 python 和数据库之间使用的通道,而不是你使用的 python 版本。

【讨论】:

  • 我从来没有使用过。我对他们俩都是新手。两者都具有 ODBC 与 JDBC 的相同特性吗?例如,pyodbc 可以在 Windows 之外工作吗?线程安全呢?如何随负载缩放?从小规模扩展到数十万和大规模并发的查询时,哪一个表现更好?
  • ODBC - 开放数据库连接与特定平台无关。它可能在 Windows 中广泛传播,但我每天都在 OS X 和其他设备上使用它。 Linux发行版从我的python代码到数据库 - 他们回答;-)正如名称所述py * odbc在python中实现ODBC接口 - pyodbc reyling在系统库和pypyodbc作为纯python解决方案。 jaydebeapi 支持一个完全不同的接口,而且做起来也非常不同(我认为它建立在 JPype 上,因为没有 jdbc 系统库)......我通常构建自己的 python db api v2 到 jdbc 桥;-)
  • 在并发方面怎么样?随负载缩放?
猜你喜欢
  • 2019-09-19
  • 2018-03-15
  • 2014-01-16
  • 2015-09-06
  • 2021-05-31
  • 2016-02-11
  • 2017-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多