【发布时间】:2018-12-15 03:28:16
【问题描述】:
我想在数据库中存储大量加密货币数据。然后我想在网页上显示带有历史价格的漂亮 javascript 价格图表。 问题是我不确定哪种数据库设计最适合这个问题,我在考虑 Mysql DB,但也许 NOSQL db 在这种情况下更好,我不知道。
我需要什么:
- 我需要跟踪至少 100 种加密货币的历史和 当前价格和其他股票信息,如数量等……
- 我将每 10 分钟为每个加密 ((6 记录 / 小时 * 24 小时 * 365 天)* 每个加密 100 = 5 256 000 每年的新记录)
- 我需要查询每个硬币的不同时间范围以在网页上绘制图形。
我的想法:
我提出了这个解决方案,但我需要知道这是否可行,或者我完全错误和幼稚。 在这种情况下,我将有 2 个表,第一个父表存储有关硬币的所有必要信息,子表存储所有价格,但是这个子表必须包含大量数据,这让我很担心。
我的表结构示例:
tbl_coin_detail:
id. |Tick_name | Name |Algorithm |Icon
1 | BTC |Bitcoin |SHA256 |path/to/img
2 | ETH |Ethereum |Ethash |path/to/img
.
.
.
tbl_prices:
id | price_USD | price_EUR | datetime | Volume_Day_BTC | FK_coin
1 | 6537.2 | 5 632,28 | 2018-07-01 15:00:00 | 62121.7348556964 | 1
2 | 466.89 | 401.51 | 2018-07-01 15:01:00 | 156373.79481106618 | 2
.
.
.
另一个想法是为每个硬币价格制作单独的表格,这意味着 100 个表格包含所有历史和当前价格以及股票信息,而不是一个巨大的表格。 我真的不确定这里,有什么更好,一张表中的所有价格都适合简单查询,但我想这可能是巨大的性能瓶颈,使来自分离表的查询对于查询来说会更糟,因为我需要编写查询对于每个表,但它可以帮助提高性能。
你能指出正确的方向如何解决这个问题吗? SQL DB 或 NOSQL 哪个更好? 提前谢谢你。
【问题讨论】:
-
一般规则:你不能在不知道需要优化的查询的情况下选择优化策略。
-
您可能想查看 PostgreSQL 时间刻度扩展。
标签: mysql sql database-design nosql bigdata