我想听听您对以下 Python 项目的最佳设计方法的建议。
我正在构建一个分为两部分的 Web 服务系统:
- 这部分从第 3 方 API 获取实时数据并将数据放入数据库中。
- 这部分公开了一个 json API 来访问 1) 中提到的数据库中的数据。
一些背景信息 - 2) 在 django 上运行,并通过 View 方法公开 API。它使用 SQLAlchemy 而不是 django ORM。
我的问题是:
- 考虑到 1) 和 2) 都访问同一个 MySQL 数据库,它们是否应该在同一台机器上运行?
- 1) 应该运行什么?我在考虑只使用也使用 SQLAlchemy 的 Python 脚本运行 cron 作业。这是因为我认为这里不需要整个 Web 框架,尤其是因为这需要超快的工作速度。这是最好的方法吗?
- 数据大小 - 1) 每 1 分钟获取大约 60,000 个条目并将它们放入数据库中(一个条目包含大约 12 个浮点值和一些日期和整数)。在这里处理不断增长的数据量的最佳方法是什么?你会拆分数据库吗?如果是这样,进入什么?
谢谢!
请您参考如下方法:
我会说,先在同一台机器上运行这两个,然后看看性能如何。如果不需要,为什么还要花钱购买第二台机器?
至于“处理不断增长的数据量”——您需要保留旧数据吗?如果没有,您的第二个任务可以在完成后简单地删除旧数据。如果所有记录都带有适当的时间戳,则您无需担心两个任务之间的竞争条件。
