如何将10亿条数据均匀分布在100块磁盘上?

如何将10亿条数据均匀分布在100块磁盘上?,第1张

办不到。

这是因为,任何数据存储,都是通过 *** 作系统来进行的,而 *** 作系统存储方式都是顺序存储,不是你能控制的。

100块磁盘,只能是做成阵列,做成阵列,也是由系统和阵列控制的,它的存储也是按顺序进行的,而不是想存放哪里就存放哪里。

你那10亿条数据,肯定不可能一个文件1条数据,而是个数据库,这个数据库归根到底也是一堆文件,这些文件,也是不能被平均的。

这就好比,你那10一条数据,是一个或多个文件组成。一个人,不能坐在两个船上,也不能坐在两个飞机上。数据库也不能。

出这种问题得老师,应该是养生堂毕业的微信老娘们儿。

10亿级别的什么数据?

如果是 关系型很强,而且数据很值钱的数据, 例如 顾客--交易--商品--金额 一个系列的, 那么这种很重要的数据,建议是 Oracle, 因为 数据丢不起啊。

如果是 关系型强, 但是数据不是很值钱的数据, 例如 A股 从开市以来, 所有股票的 每日,每小时,30分,15分,5分 钟的行情数据。 那么你可以使用 Mysql。 反正丢了就重新导入一次。

如果是 关系型不强, 数据也不是很值钱的数据, 例如 论坛的帖子 这一类的, 那么用 mongodb 就更合适一些。

业务数据,包括用户,订单等数据,要求数据严格准确和一致

规模如果是在千万级,或者不超过10亿级,80%选用MySQL来存储

规模如果再10亿-万亿,目前HBASE为主

以上两种是免费数据库,但对于Oracle,DB2,SQL Server付费数据库(巨贵),主要使用在银行和电信,因为对数据一致性,准确性,容灾备份要求更严格。

因为商业数据库的昂贵,互联网公司一般用不起,感兴趣可以了解下10年前阿里发起的去IOE的故事,即去掉IBM,Oracle,EMC,代替以开源软件再次开放的系统,开创新数据新时代。

日志数据,包括用户所有线上行为数据,浏览,搜索,点击等,存储在HDFS上

这类数据,相比订单和支付数据,规模要成10倍-1000倍增长。比如,我浏览10个店铺宝贝才转化一个订单数据。但该类数据,不会要求太多性能和苛刻的准确性,甚至可以容忍丢小部分日志数据。这部分数据,会放到HDFS上来存储。即一种分部式文件存储系统,存储成本很低,如果查询的话,就可以直接使用hive等工具,写SQL查询。

当然,数据库现在发展很迅猛,比如TiDB,非关系数据库MongoDB,缓存Redis等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6717580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存