首页 > 解决方案 > 大数据 | 数据库和架构

问题描述

首先我想说:我检查了互联网上的类似帖子,我看到了关于堆栈溢出的类似问题,例如:

但我想打开我的问题进行仔细检查。

所以......我开始写我的[BIG PROJECT],现在我正在写所有的文件等等......

在检查“事物”时,我发现在我的 1 个一般应用程序用例中,我需要处理...

[!!!注意!!!]每天大约有数十亿个请求!

是的。每天几十亿!

我不能说这是什么要求等等,但我可以说:

1)请求中的数据结构很好 2)我需要大量处理这些数据。我的意思是对这些数据的许多查询。

今天我对MS SQL Server 2017 (14.0.100)中的计算进行了快速测试:

50M 的记录 = 10GB

===> 1B ==> 200GB

所以200GB每日大小!!!

200Gb * 30 = 6TB -每月

6TB * 12 ===> 72TB - 1 年大小

并且查询(存储过程)没有那么快。

因为我只在文档,技术设计步骤..我想花时间检查处理这些数据的最佳方法。

如果我展望未来 1-3-5 年...

(不希望在 2 年后开始更改迁移数据的方式等。)


第二个问题是建筑...

这种大数据流与谷歌分析非常相似。但我已发送请求 ID 作为响应。

我一般是.NET 开发人员,将在.NET CORE 和微服务架构上开发这个项目

现在我看到.NET CORE 在 linux、ngnix等下的强大功能......

所以我的问题是:编写这个微服务的最佳实践/架构模板是什么。Google分析如何处理每天数以亿计的请求

我检查了谷歌分析的数据库 - 这是BigTable

我找到的最好的选择是:HBase

如果HBase是我的HERO ??


还有1个问题是:

什么是最好的选择:

谢谢你们的帮助,也对不起我的英语语法。

标签: architecture.net-corehbasebigdatabigtable

解决方案


大卫这是一个很好的挑战。TBH,我不会为这种规模的数据使用关系数据库而烦恼,而云是必须的。

如果您是 .NET 开发人员,请坚持使用 Azure 并查看 Cosmos DB,但它会很贵!!!或者,如果您的系统阅读量很大,请查看 Cassandra,但您查询数据的方式受到限制,您将需要使用 Elasticsearch 之类的东西来处理复杂的查询场景。我对 HBase 没有任何经验。

应用程序方面还有其他问题,例如最终的一致性和可用性,您可能需要查看 CQRS 或 Actor Pattern http://getakka.net/等模式,以创建高度可用的反应式应用程序。也不要忘记 docker 和 kubernetes 将成为你的朋友。


推荐阅读