大数据|数据库与架构

时间:2018-10-20 18:41:32

标签: architecture .net-core hbase bigdata bigtable

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

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

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

在检查“事物”时,我发现在我的应用程序的一般使用情况之一中,我将需要处理...

[!!! ATTENTIONS !!!] 关于每天的BILLIONS个请求!

是的。每天数十亿!

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

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

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

5000万条记录= 10GB

===> 1B ==> 200GB

所以 200GB DAILY 大小!

200Gb * 30 = 6TB -每月

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

查询(存储过程)不是那么快。

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

如果我看1-3-5年以后...

(不想在两年后开始更改数据的迁移方式等。)


第二个问题是建筑 ...

这种大数据流与 Google Analytics(分析) 非常相似。 但是我已经发送了请求的ID作为响应。

我通常是 .NET开发人员,并且将在 .NET CORE和微服务体系结构

上开发此项目

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

所以我的问题是: 什么是编写此微服务的最佳实践/架构模板 Google Analytics(分析) 如何在每天处理此百万十亿个请求。

我检查了Google Analytics(分析)数据库-这是 BigTable

我发现的最佳选择是: HBase

如果 HBase 是我的 HERO ??


还有一个问题是:

最佳选择是什么

  • 使用云数据库解决方案(例如在AWS EMR / Dynamo / etc。中)
  • 启动EC2并在该实例上运行自己的数据库

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

1 个答案:

答案 0 :(得分:2)

大卫,这是一个很好的挑战。 TBH,我不会理会如此规模的数据的关系数据库,而云是必须的。

如果您是.NET开发人员,请坚持使用Azure并了解Cosmos DB,但这会很昂贵!!!另外,如果您的系统读起来很繁琐,请查看Cassandra,但您对查询数据的方式有所限制,对于复杂的查询场景,您将需要使用类似Elasticsearch的工具。我对HBase没有任何经验。

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