mysql—单台物理机上分布式数据库的性能?

mxg2im7a  于 2021-07-13  发布在  Hbase
关注(0)|答案(1)|浏览(238)

目前我正在处理时间序列数据(tickers),并将pandasDataframe存储在 .h5 以及 .parquet 格式。我的工作负载基本上是查询数据列&编写新的数据列。
当文件增加并四处散乱时,它开始失控,所以我正在考虑使用一个数据库。我看到一些nosql数据库,比如cassandra和hbase。
这些数据库经常强调它们是 distributed 或者 elastic 数据库。但我只有一台物理机器(3990x64核threadripper)。
所以我的问题基本上分为两部分:
如果我运行这些,性能如何 distributed 单个节点上的数据库?在我的工作负载方面,它们还会比mysql这样的传统数据库表现更好吗?
我可以使用虚拟化来构建集群吗?比如说,使用esxi虚拟化多个节点?它们的性能会优于单节点设置吗?

j2datikz

j2datikz1#

不。
您将花费大量的时间和精力,试图找出如何使用“分布式”时,它是不必要的。
从数据库开始

CREATE TABLE stocks (
    ticker_id MEDIUMINT UNSIGNED NOT NULL,
    date DATE NOT NULL,
    open, close, volume, etc
    PRIMARY KEY(ticker_id, date),
    INDEX(date)
) ENGINE=InnoDB;

CREATE TABLE tickers (
    ticker_id MEDIUMINT UNSIGNED AUTO_INCREMENT NOT NULL,
    ticker VARCHAR(33) CHARACTER SET ascii NOT NULL,
    PRIMARY KEY(ticker_id),
    INDEX(ticker)
) ENGINE=InnoDB;

即使只有很少的核心,这对于单个服务器上的10亿行来说也足够了。
带着这个回来 SELECTs 在你排了几百万行之后。我们可以讨论下一步如何使它运作良好。

相关问题