gpt4 book ai didi

python - Python 列表、集合或字典是否可以使用数据库无形地实现?

转载 作者:太空狗 更新时间:2023-10-29 18:05:34 26 4
gpt4 key购买 nike

列表、集合和字典的 Python 原生功能非常棒。当数据变得非常大时,有没有办法继续使用原生能力?我正在处理的问题涉及非常大列表的匹配(交集)。我还没有突破极限——实际上我真的不知道极限是什么——并且不想在数据按预期增长后对大型重新实现感到惊讶。

部署在像 Google App Engine 这样标榜没有实际规模限制的东西上,并继续按原样永远使用 native 功能而不去真正考虑这个问题是否合理?

是否有一些 Python 魔法可以隐藏列表、集合或字典是在 Python 管理的内存中还是在数据库中——因此数据的物理部署可以与我在代码中所做的不同?

Python super 专家先生或女士,随着数据量的增长,您如何处理列表、集合和指令?

最佳答案

我不太清楚您所说的列表、集合和字典的 native 功能是什么意思。但是,您可以创建模拟 container types 的类和 sequence types通过定义一些 methods with special names .这意味着您可以创建一个行为类似于列表的类,但将其数据存储在 SQL 数据库或 GAE 数据存储中。简单来说,这就是 ORM 所做的。然而,将对象映射到数据库非常复杂,发明自己的 ORM 可能不是一个好主意,而是使用现有的 ORM。

恐怕没有万能的解决方案。特别是 GAE 不是某种可以撒在代码上以使其可扩展的魔法仙尘。要创建可扩展的应用程序,您必须牢记几个限制。其中一些是通用的,例如 computational complexity ,其他特定于您的代码运行的环境。例如在 GAE 上, 最大响应时间限制为 30 秒, 查询数据存储的方式与在其他数据库上不同。

在不了解您的具体问题的情况下很难给出任何具体的建议,但我怀疑 GAE 是正确的解决方案。

一般来说,如果您想处理大型数据集,您要么从一开始就牢记这一点,要么随着数据集的增长而重新编写代码、算法和数据结构。

关于python - Python 列表、集合或字典是否可以使用数据库无形地实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6650275/

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