【问题标题】:Save websocket price stream to local DB [closed]将 websocket 价格流保存到本地数据库 [关闭]
【发布时间】:2021-11-03 12:11:42
【问题描述】:
我正在开发一个脚本,将通过 websocket 接收到的价格流保存到本地数据库,但我面临一些设计困境。
该流包含通过加密货币交换网络套接字接收的大约 200 种工具的 1 分钟烛台数据。当收到已关闭的新蜡烛时,我想将它们保存到本地数据库。
我开始在 Python 中使用 MySQL 数据库构建它,但我怀疑其可行性。
抱歉没有发布代码,这更像是一个设计/架构困境
问题:
- 我可以将消息直接保存到 DB 还是需要一个
中间步骤? (性能问题)
- Python 是最好的选择吗,还是我应该看看 Javascript 还是第三个?
派对软件?
- 我是不是完全没有考虑构建这个?我有一个策略
需要来自许多仪器的历史数据并调用 Rest
API 是不可能的,因为我会达到速率限制,因此看起来
使用 Websockets
提前谢谢你
【问题讨论】:
标签:
python
mysql
websocket
stream
【解决方案1】:
1 - 我不知道每分钟保存 200 个值是否最好,您可以存储平均值、最高值和最低值吗?
如果你想存储所有值,你可以使用 influxdb :
InfluxDB Cloud is the most powerful time series database as a service — free to start, easy to use, fast, serverless, elastic scalability.
2 - 我认为 python 适合这种用途
3 - 如果你不能使用 API rest,websocket 可能是个好主意。
当我有机会处理海量时态数据(IOT 传感器)时,我使用 influxdb 进行存储,使用 MQTT 进行通信
【解决方案2】:
-
是的,你可以。作为 JSON 字符串或直接放入表中,但这取决于数据的形式。如果它的格式没有改变,我会把它直接保存到表格中。当格式可以改变(经常)时,我会同时做这两个并将原始数据保存为一种失败保存。
-
Python 应该可以工作。对于大多数语言来说,将数据插入数据库应该没有问题。使用您最有经验/感觉最舒服或想学习的那个。
-
这种程序是学习一门新语言或一般编程的好练习。而且我认为每分钟处理 200 个数据集并不多。所以我不认为你疯了,实际上我认识的大多数程序员都曾在某个时候构建过类似的东西。