关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两年前关门了。
改进这个问题
首先我想说的是:我查看了互联网上类似的帖子,在堆栈溢出上看到类似的问题,比如:
https://dba.stackexchange.com/questions/188667/best-database-and-table-design-for-billions-of-rows-of-data
数十亿行的最佳数据存储
如何存储73亿行市场数据(优化为可读取)?
但我想把我的问题再问一遍。
所以…我开始写我的[大项目],现在我写所有的文件等。。。
在检查“东西”的同时,我发现在我的一个应用程序的一般用例中,我需要处理。。。
[!!!注意!!!]每天约有数十亿个请求!
是的。每天数十亿!
我不能说这是什么要求等,但我可以说:
1) 请求中的数据是有相当好的结构2)我将需要与这个数据很多工作。我指的是对这些数据的许多查询。
今天我在ms sql server 2017(14.0.100)中对calculate进行了快速测试:
此记录的50m=10gb
==>1b==>200gb
所以200gb是每日大小!!!
200gb30=6tb-每月
6tb12==>72tb-1年大小
而且查询(存储过程)不是那么快。
因为我只是在文档,技术设计步骤…我想花时间和检查处理这些数据的最佳方式。
如果我展望未来1-3-5年。。。
(不希望在2年后开始更改迁移数据的方式等…)
第二个问题是建筑。。。
这种大数据流与谷歌分析非常相似。但我已经发送了请求的id作为响应。
我一般在.net开发人员,并将在.net核心和微服务体系结构上开发这个项目
现在我看到了linux下.net内核的强大功能,ngnix等等。。。
所以我的问题是:编写这个微服务的最佳实践/架构模板是什么。谷歌分析如何处理每天数以百万计和数十亿计的请求。
我查了一下谷歌分析的数据库-这是bigtable。
我发现最好的选择是:hbase
如果hbase是我的英雄??
还有一个问题是:
最佳选择是什么:
使用云数据库解决方案(如aws emr/dynamo等)
启动ec2示例并在此示例上运行自己的数据库
谢谢你们的帮助,对不起我的英语语法。
1条答案
按热度按时间63lcw9qa1#
大卫这是一个很好的挑战。tbh,我不需要为这种规模的数据使用关系数据库,云是必须的。
如果你是一个.net开发人员,请坚持使用azure并查看cosmos db,但它会很昂贵!!!或者,如果您的系统读得很重,可以看看cassandra,但是您对查询数据的方式有限制,您需要使用类似elasticsearch的方法来处理复杂的查询场景。我对hbase没有任何经验。
在应用程序方面,还有其他问题,如最终的一致性和可用性,您可能希望查看cqr或actor模式之类的模式http://getakka.net/ 用于创建高可用的React式应用程序。别忘了docker和kubernetes会是你的朋友。