gpt4 book ai didi

python - 使用 python 文件作为数据库

转载 作者:行者123 更新时间:2023-11-29 05:57:19 25 4
gpt4 key购买 nike

我是一名中级 Python 开发人员,在使用 t-sql/mysql 进行数据分析方面有相当多的经验。我正在尝试使用 python 进行一些网络编程,以构建我网站后端的某些组件。

在我的一个应用程序中,我没有查询数据库,而是将一些基于字典的数据结构直接放在 python 文件的列表中,并将其导入到包含应用程序逻辑的脚本中。重要的是要注意,此数据是静态的,此时大约有 5k 个字典。

数据本身包含键值对,其中值通常是元组列表,因此我发现 python 数据结构的灵 active 比传统的 RDBMS 表更易于使用。

我搜索了互联网,似乎找不到任何关于开发人员实际使用 .py 文件存储数据以供其程序使用的引用资料,这让我相信这种方法不应该用于生产现场。

我希望能弄清楚为什么会出现这种情况(以及可能的替代方案)

  1. 与 RDBMS 解决方案相比,我的 .py 解决方案的扩展性是否会很差?随着使用我的应用程序的用户数量的增长,或者我是否选择在我的数据集中支持更多车辆?
  2. 如果 .py 解决方案不起作用,是否有 nosql 解决方案可以为我提供所需的灵活数据结构?还是 mysql 解决方案在这个用例中仍然更胜一筹?谢谢!

最佳答案

我过去做过类似的事情 - shelving .这是一个标准的 lib 模块,允许您将 python 对象写入磁盘,使它们变得漂亮且易于加载。

但是对于您的解决方案,会存在严重的可扩展性问题。例如 - 在搁置示例中,整个对象被加载到内存中。我怀疑您的实现方式相同,假设您导入它以获取数据。

数据库的优点之一是不需要将整个数据库保存在内存中。这也意味着您可以更快地执行某些搜索;与编写良好的数据库查询相比,在 Python 中遍历数千个对象以检查它们是否符合特定条件可能会非常慢。

如果您当前的解决方案仍然有效,那么可能没有真正的理由立即更改所有内容。但是,如果您认为此应用程序将继续增长,那么制定迁移计划并不是一个坏主意。

我最终将我的应用程序移至 RethinkDB 以物有所值。

关于python - 使用 python 文件作为数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48218386/

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