【问题标题】:Saving frequently updated arrays to database将频繁更新的数组保存到数据库
【发布时间】:2022-01-03 17:46:26
【问题描述】:

我正在创建一个机器学习应用程序,它应该本地经常将数字保存到数据库中。 这些数字值是相连的,这基本上意味着我想通过追加一个数字到列表中来经常更新时间序列的值。

一个理想的情况是能够保存键值对,其中键表示数组的名称(例如 train_loss),值将根据时间序列。 我的第一个想法是利用 redis 但据我所知,redis 数据只保存在 RAM 中?我想要实现的是在每个日志之后或每两个日志之后保存到磁盘。

我需要本地保存数据,因为这些数据将被其他应用程序使用(在 javascript 中)。因此一些 JSON-like 格式会很好。 使用 JSON 文件(和 Python json 包)是一种选择,但我相信它会因为频繁更新而导致 I/O 瓶颈。

我基本上是在尝试创建一个像 Tensorboard 这样的网络应用程序的克隆。

【问题讨论】:

    标签: python json database tensorboard


    【解决方案1】:

    我们在托管应用程序后端使用的常用读/发布 API 的一种技术是同时写入 Redis 和 DB,在读取操作期间,我们检查密钥是否在 Redis 中可用,是否可用不是我们读更新它到 Redis 然后服务它

    【讨论】:

    • 保存到文件盒是最困扰我的。也许我的问题表述得不好。我更关心应该使用哪种技术将数据保存到文件中。我可以解决数据加载问题,写作是我的瓶颈。因为列表的长度可以扩展到百万。
    • MongoDB 将成为您的首选解决方案,因为它具有原生 JSON 键值存储,并且由于采用哈希表实现方式,读取和更新速度很快。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 2019-01-18
    相关资源
    最近更新 更多