100亿小数据实时计算平台

2017年6月,开始数据分析的职业生涯,作为架构师,建立起一套基于.Net/.Net Core的小数据实时处理计算平台,这里记录学习过程中的点点滴滴!

数据分析的核心,可以理解为:Select xxx From table Where yyy Group By zzz

小数据计算平台的定位:

  1. 数据量在1000万行到100亿行之间,传统关系型数据库算起来吃力,且类似项目不是特别多,Hadoop搭起来难以收回成本
  2. 资源投入有限,基于传统项目之上的轻量级数据分析,一般只能有1~2台服务器,Hadoop最好能有8台以上服务器
  3. 门槛低,普通软件工程师容易上手做数据分析,并参与开发配套的业务系统,大数据开发工程师需要会很多(Hadoop、MapReduce、HDFS、Hive、HBase、Spark、Zookeeper、Sqoop)
  4. 实时内存计算,C#/Java/Go+Redis/MongoDB,轻松做到0.5~5分钟实时处理,大多数大数据开发工程师只熟悉 Hadoop+Hive,擅长T+1离线计算,对实时计算Spark+HBASE熟悉的不多

题外:其实大家平时借助消息队列(Kafaka/RocketMQ)异步处理的统计,本身就属于实时计算数据分析的一种!

该平台的目标并非替代Hadoop,而是对中小型数据分析提供一种轻量级选择。

实际上我们大部门就有完整的Hadoop大数据平台,我们的许多模块,都跟Hive、HBase、Kafka等有大量的数据交互

未来的日子里,会根据后面的小数据平台配套,把相关技术慢慢写下来。

文章目录:

借助Redis做秒杀和限流的思考

大数据分析中Redis怎么做到220万ops

每天4亿行SQLite订单大数据测试(源码)

小数据计算平台配套:

  1. 关系型数据库,数据来源以及计算结果存储,推荐MySql,批量插入5000~50000tps
  2. Redis,原始数据源预热,中间计算数据临时存储,结果数据缓冲队列,选Linux/Windows多实例部署,单实例性能8w~10wops
  3. 计算节点,核心数据分析应用,从数据库或Redis或微服务读取原始数据和基础数据,根据业务规则进行计算,统计结果直接落库或借助Redis异步落库
  4. 调度系统,时间片调度算法,对数据进行切片处理,多实例多线程并行计算,错误或超时重试机制。计算节点上跑的分析应用依赖于调度系统
  5. 服务节点,频繁且反复读取的小数据(1000万~100亿)预热进入Redis,大量部署微服务,封装各种数据访问,10万以下数据直接缓存到进程内存
  6. 微服务注册中心,每个服务至少部署2个节点(可用性、负载均衡),大量服务需要管理起来,伸缩扩容
  7. 配置中心,数据分析应用和微服务的大量伸缩部署,需要有配置中心把数据库配置等各种配置管理起来
  8. 监控中心,监控重要计算节点和服务节点,通过微信/短信/钉钉等工具报告紧急情况,或每天提供数据简报

实际使用根据需要进行调整,如果数据分析项目不多,后面的辅助性配套可以不要。

关于博客,10多年来断断续续也写了不少博文,我写的博客有个特点,都是经过深思熟虑并且在网络上很少能找到相关内容的知识点。

关于工作,公司财报提到2018年第二季度包裹量21.16亿件,公司名和具体工作内容不方便讨论,还请大家见谅和监督!

本文答疑:QQ群1600800,2018-08-12 20:00:00

End.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

HBase在滴滴出行的应用场景和最佳实践

本文主要介绍HBase在滴滴内部的一些典型使用场景,如何设计整个业务数据流,让平台开发者与用户建立清晰、明确、良好的合作关系 背景 对接业务类型 HBase是建...

4438
来自专栏ThoughtWorks

微服务概述 | TW洞见

今日洞见 文章作者来自ThoughtWorks:James&Martin,译者来自ThoughtWorks:姚琪琳。 本文所有内容,包括文字、图片和音视频资料,...

2853
来自专栏大数据

零基础小白成为大数据技术专家必知的学习历程

每天都会有很多小白在社交平台上问我:“青牛没有基础可以学习大数据吗?能不能学的懂啊?我不懂java可以学大数据吗?”,针对这些基础性的问题,我写了这篇文章,希望...

19310
来自专栏程序人生 阅读快乐

Spark快速大数据分析(图灵程序设计丛书)

本书由 Spark 开发者及核心成员共同打造,讲解了网络大数据时代应运而生的、能高效迅捷地分析处理数据的工具——Spark,它带领读者快速掌握用 Spark 收...

972
来自专栏阮一峰的网络日志

中文技术文档的写作规范

很多人说,不知道怎么写文档,都是凭着感觉写。 网上也很少有资料,教你写文档。这已经影响了中文软件的发展。 ? 英语世界里,文档非常受重视,许多公司和组织都有自己...

51210
来自专栏CSDN技术头条

Java程序员在用的大数据工具,MongoDB稳居第一!

据日前的一则大数据工具使用情况调查,我们知道了Java程序猿最喜欢用的大数据工具。 问题:他们最近一年最喜欢用什么工具或者是框架? 受访者可以选择列表中的选项或...

27510
来自专栏Android 开发者

现已推出 Android 8.1 和 Android Oreo Go 版本 —— 为所有人打造由 AI 驱动的全覆盖移动平台

2574
来自专栏PPV课数据科学社区

【学习】Facebook的实时Hadoop系统

Facebook 在今年六月 SIGMOD 2011 上发表了一篇名为“Apache Hadoop Goes Realtime at Facebook”的会...

2894
来自专栏WeTest质量开放平台团队的专栏

如何用UPA优化性能?先读懂这份报告!

原文链接:http://wetest.qq.com/lab/view/375.html

43014
来自专栏MongoDB中文社区

为什么MongoDB适合深度学习?

当您正在考虑为新的深度学习项目选择何种数据库时,您可以访问这个链接所对应的帖子(https://www.mongodb.com/blog/post/deep-l...

2031

扫码关注云+社区

领取腾讯云代金券