大数据 |数据库与架构

BIG DATA | Database and Architecture

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

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

所以...我开始编写我的[大项目],现在我正在编写所有文档等...

在检查 "things" 时,我发现在我的应用程序的一般用例 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 年后开始更改迁移数据的方式等。)


第二题是架构...

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

我通常在 .NET 开发人员 并将在 .NET CORE 和微服务架构

上开发这个项目

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

所以我的问题是: 什么是最佳实践/架构模板来编写这个微服务。 Google analytics 如何处理这个 百万 十亿 天请求数.

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

我找到的最佳选择是:HBase

如果HBase是我的HERO??


还有 1 个问题是:

什么是最好的选择:

谢谢大家的帮助,对不起我的英语语法。

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

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

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