【发布时间】:2018-05-12 12:51:24
【问题描述】:
我正在创建一个矿池(区块链)。问题是我决定使用用 node.js 编写的插件https://github.com/zone117x/node-open-mining-portal,并使用 redis 数据库来保存共享、付款和类似的东西。我的问题如下?
1)我应该使用redis数据库还是将代码转移到mysql?
我的假设如下:Redis 速度很快,但我担心数据丢失。如您所知,它首先将信息保存在内存中,然后将该信息传输到磁盘。如果此时数据丢失怎么办?我用谷歌搜索,有一些方法可以最大限度地减少丢失数据的机会,例如 RDB 和 AOF。这两个能帮助我将丢失数据的几率降至 0.001% 吗?如果我使用 mysql,由于有酸交易,它会好得多,但它会很慢,因为如果我有 100,000 名矿工,对于他们的每个份额,我必须进行 1 次查询以将数据保存在 mysql 中,而且那里似乎有 100,000 名矿工有机会在 1-2 秒内保存 300,000 条记录。这似乎很糟糕。另一方面,Mysql 的灵活性似乎更好,它会更容易根据任何标准获取数据。
我需要你的建议。只是给我一点建议。提前谢谢你。
【问题讨论】:
-
为什么不同时使用?创建一个从 redis 获取数据并插入到 mysql db...
-
我不是这个领域的专家 - 我认为这个问题在这里是题外话。但是您可能想看看 TokuDB 引擎。
-
为什么我需要两者?从您的角度来看,将数据从 redis 传输到 mysql 是一种保证不丢失数据的方法吗?那么我应该使用哪一个来向我的用户显示他们的信息?
-
成对使用它们无济于事
-
您对答案不满意吗?也许考虑接受它。
标签: mysql redis blockchain mining