Apache Storm

超值!分布式系统架构精讲篇:知识图谱+主流技术体系(专题集合资料附赠)

点点圈 提交于 2020-10-12 11:23:29
如果你期待对分布式系统有一个更全面的认识,想要了解各个技术在分布式系统中如何应用、分别解决哪些问题、有怎样优秀的实现,推荐阅读、收藏本篇。 前言 分布式系统涉及到的理论知识及技术点比较多,以致于很多童鞋都说,分布式系统的学习是入门容易、深入难,通过网络搜索到的知识点较为零散,难以系统化学习、融会贯通。本篇Mike将从以下几个方面分享,带着大家先窥探分布式的全貌,希望为大家厘清分布式学习之路的方向与具体路径。 以上专题资料及学习图谱,获取方式:添加下方小助手VX即可 本篇主题 分布式系统的概念 分布式系统的作用 分布式系统的特性 分布式系统主流技术 分布式系统专题合集及知识图谱 分布式系统的概念 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。有一种说法:分布式系统是若干独立计算机的组合共同对用户提供服务,但对于用户来说,这些计算机就像是单个相关系统。 布式系统的作用 分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。 分布式系统的特性 布式系统特性主要有透明性、可扩展性、可用性、可靠性、高性能、一致性等。这几个特性是分布式系统的主要衡量指标,开始分布式系统的学习,从了解分布式系统的特性开始。 1、透明性 分布式的特征之一是向用户隐藏系统的内部组织结构,各种计算机之间的差别

TIOBE 9 月榜单:C++ 重振旗鼓

夙愿已清 提交于 2020-10-11 09:28:49
C++ 近期发展状态不错,依旧在榜单中排第四,但排名比率保持增长,本月为 7.11%。 2003 年是 C++ 的巅峰时期,当年 8 月,它的 TIOBE 排名峰值为 17.53%,接近第二名,并拿下了当年的年度编程语言奖。但 2005 年之后,C++ 的榜单排名再也没有超过 10%,甚至在 2017 年达到历史最低值 4.55%。但是,与去年相比,C++ 现在是榜单中增长最快(+1.48%)的语言。 TIOBE CEO Paul Jansen 认为,新的 C++ 20 标准带来了极大的正面影响。C++ 的积极趋势赶超了其他语言,例如 R(+1.33%)和 C#(+1.18%),以及与去年相比损失了 3.18% 排名率的 Java。 TIOBE 9 月 TOP 20 编程语言 单就名次来看,榜单前十变化不大,SQL 守住了第 10 名的位置。PHP 与 R 调换位置,上升到第 8 位,但从总体趋势来看,还是 R 语言增长率更高一些。 Groovy 上个月重回榜单后,名次又上升一位。上期卡住第 20 名,在榜单边缘徘徊的 Rust 也成功留了下来,本月排名 18。 另一个亮点是,常年排在第 24 或 25 名的 Dart(+0.77%)终于进入 top 20,本月排名 20。但第 21 名 Logo(+0.76%)和第 22 名 Classic Visual Basic(+0.75%

Calcite研究

喜欢而已 提交于 2020-10-06 04:12:35
1. 背景 calcite作为一款开源的动态数据管理框架( https://calcite.apache.org/ ),它具备很多典型数据库管理系统的功能,比如SQL解析、SQL校验、SQL查询优化、SQL生成以及数据连接查询等,但是又省略了一些关键的功能,比如Calcite并不存储相关的元数据和基本数据,不完全包含相关处理数据的算法等。 也正是因为Calcite本身与数据存储和处理的逻辑无关,所以这让它成为与多个数据存储位置(数据源)和多种数据处理引擎之间进行调解的绝佳选择。 Calcite所做的工作就是将各种SQL语句解析成抽象语法树(AST Abstract Syntax Tree),并根据一定的规则或成本对AST的算法与关系进行优化,最后推给各个数据处理引擎进行执行。 Calcite整体架构如下图所示: Hive,Flink,Storm都使用Calcite作为其SQL解析优化引擎。 2. Calcite适配器 这里需要提到一个重要的概念:Schema adapters( https://calcite.apache.org/docs/adapter.html ) A schema adapter allows Calcite to read particular kind of data, presenting the data as tables within a

火影级别的架构师,教你如何解密分布式到微服务的忍术

主宰稳场 提交于 2020-10-04 14:37:18
微服务、云原生、Kubernetes. Service Mesh 是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术,还要深入理解其发展脉络、原理等,才能游刃有余地将其用于现有的项目开发或老系统改造中。 不论你是有十几年研发经验及架构经验的IT老手,还是刚入门系统架构的IT新手,本书都能对你理解分布式架构和微服务架构大有助益。 卷轴目录 第1章 深入理解网络 从国际互联网开始 NIO,一本难念的经 AIO,大道至简的设计与苦涩的现实 网络传输中的对象序列化问题 HTTP的前世今生 分布式系统的基石: TCP/IP 第2章 分布式系统的经典理论 从分布式系统的设计理念说起 分布式系统的一致性原理 分布式系统的基石之ZooKeeper 经典的CAP理论 BASE准则,一个影响深远的指导思想 重新认识分布式事务 第3章 聊聊RPC 从IPG通信说起 古老又有生命力的RPC 从RPC到服务治理框架 基于ZeroC Ice的微服务架构指南 第4章 深入浅析内存 你所不知道的内存知识 内存计算技术的前世今生 内存缓存技术分析 内存计算产品分析 第5章 深入解析分布式文件存储 数据存储进化史 经典的网络文件系统NFS 高性能计算领域的分布式文件系统 企业级分布式文件系统GlusterFS 创新的Linux分布式存储系统一Ceph

Apache Spark 2.2.0 官方文档中文版

本小妞迷上赌 提交于 2020-10-04 07:21:27
原文链接: http://www.apachecn.org/bigdata/spark/268.html Apache Spark™ 是一个快速的, 用于海量数据处理的通用引擎. 官方网址: http://spark.apache.org 中文文档: http://spark.apachecn.org 花了大概两周左右的时间,在原来 Spark 2.0.2 中文文档 版本的基础上,终于迭代出该 Spark 2.2.0 中文文档 的版本了。 衷心感谢每一位贡献者,感谢 ApacheCN 让我们聚在一起奋斗,我们一直在努力 。。。 网址: http://spark.apachecn.org/docs/cn/2.2.0 github: https://github.com/apachecn/spark-doc-zh (如果觉得不错,请各位大佬们给个 star ) 贡献者: https://github.com/apachecn/spark-doc-zh#贡献者 建议反馈: https://github.com/apachecn/spark-doc-zh#联系方式 以下是 Spark 2.2.0 中文文档 的目录索引: Apache Spark 2.2.0 官方文档中文版 概述 编程指南 快速入门 Spark 编程指南 Spark Streaming 编程指南 DataFrames,

大数据平台搭建包含哪些层级

為{幸葍}努か 提交于 2020-09-30 21:48:39
  大数据分析平台的搭建有利于帮助企业构建统一的数据存储和数据处理资源,围绕企业业务开展大数据应用建设,最终形成面向服务化的数据资产。而今天我们就来了解一下,常见的大数据平台都包含哪些层次?   1、数据采集层:分3个层面的采集技术进行支持,一是传统业务系统数据库和半结构化、结构化数据的采集和集成,如采用Sqoop技术进行关系数据库和Hadoop系统之间的数据抽取和交换;二是交通实时流数据的采集,包括实时传感器数据、定位轨迹数据和其他实时流数据;三是交通公共数据的采集,包括公网的数据爬取、开放平台的数据接口、行业公共数据库的数据交换等。对采集到的数据需进行提取、转换和加载(extract-transform-load,ETL)处理,包括数据抽取、转换、清洗和隐私脱敏等预处理工作,预处理集成后的数据进入交通大数据云存储中心。   2、数据存储层:交通领域数据规模巨大,数据存储层需设计基于云计算的分布式云存储系统,以支持海量数据的存储扩展。提供基于云的列式存储、NoSQL存储或数据仓库存储能力;根据业务需求和快速配置,可切换相应的分布式存储模式,还可根据需要对传统BI系统的数据仓库和数据集市进行集成。利用Hadoop集群提供PB级存储能力扩展,同时Hadoop YARN和Spark Mesos等集群资源管理框架可支持多种存储模式和计算模式在此基础上,对各类存储数据进行多粒度信息融合

MySQL的各种JOIN

喜夏-厌秋 提交于 2020-09-30 15:31:59
主题 : MySQL 的各种JOIN 大纲 : 1、徐老师从事多年官方MySQL工作,为众多企业提供MySQL帮助时,企业比较关心的问题是什么呢? 2、随着MySQL 8.0的成熟和推广,相信越来越多的公司希望升级MySQL 8.0,但又会担心低版本到高版本的升级会不会有兼容问题,徐老师能否分享下相关经验? 3、徐老师本次主题带来的是JOIN精彩内容,相比MySQL5.7,MySQL8.0在JOIN增强了哪些方面呢? 4、过多的“left join”经常会导致SQL性能很慢,徐老师可否分享下您对“left join”的建议或者注意事项呢? 扫一扫左边二维码, 立刻报名本次活动。 嘉宾自我介绍 徐轶韬 MySQL解决方案高级工程师 Oracle公司 MySQL解决方案工程师,为中国及东北亚地区的MySQL用户提供MySQL相关产品的售前咨询,企业级产品介绍服务以及推广和普及MySQL数据库在社区的使用 01 徐老师从事多年官方MySQL工作,为众多企业提供MySQL帮助时,企业比较关心的问题是什么呢? 企业比较关心的问题主要有三点: 一、在使用软件的过程中能不能得到保障?通过哪些方式提供保障?可以提供哪种程度的保障? 二、数据安全性。 三、合规的使用软件。 02 随着MySQL 8.0的成熟和推广,相信越来越多的公司希望升级MySQL 8.0

常见的数据分析工具有哪些?

泄露秘密 提交于 2020-09-28 12:02:07
众所周知,大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。它的含义十分广泛,并庞大复杂,需要有专门设计的硬件和软件工具来进行数据处理和分析。下面给大家推荐几款常见好用的数据分析工具,以供参考选择。 Hadoop Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。 HPCC HPCC,High Performance Computing and Communications(高性能计算与通信)的缩写。1993年,由美国科学、工程、技术联邦协调理事会向国会提交了“重大挑战项目:高性能计算与 通信”的报告,也就是被称为HPCC计划的报告,即美国总统科学战略项目,其目的是通过加强研究与开发解决一批重要的科学与技术挑战问题。HPCC是美国实施信息高速公路而上实施的计划,该计划的实施将耗资百亿美元,其主要目标要达到:开发可扩展的计算系统及相关软件,以支持太位级网络传输性能

逼自己玩命学了6个多月,吃透这14个大数据知识点!分享给你,让你斩获大厂offer!!

巧了我就是萌 提交于 2020-08-18 13:02:24
大数据生态体系蓬勃发展,分布式技术组件越来越丰富,Hadoop,Spark,Flink等快速涌现,让海量数据的解决方案越来越完善,这些分布式技术组件都是架构在大批量廉价商用服务器之上提供高性能,高可用,可扩展的服务的分布式集群。 那么他们如何设计,底层是如何实现的呢? 我们在遇见类似的需求时, 是否也能研制一套海量数据处理技术 呢? 当然能!这套 hadoop 课程视频, 对Hadoop底层源码剖析,三天带你手写一个hadoop框架,原价 1998 元,现在 限时免费送 ! 资料目录 1. 手写RPC实现 (1)海量数据的存储及计算方案探索分析 (2)单线程的通用存储和计算方案设计和实现 (3)多线程的通用存储和计算方案设计和实现 (4)多进程的通用存储和计算方案设计 (5)手写RPC实现 2. 手写HDFS框架 (1)手写分布式文件系统功能实现: 整体架构实现 (2)手写分布式文件系统功能实现: 上传文件实现 (3)手写分布式文件系统功能实现: 下载文件实现 (4)手写分布式文件系统功能实现: 元数据管理实现 3. 手写MapReduce (1)手写分布式计算框架功能实现: 整体架构实现Job设计 (2)手写分布式计算框架功能实现: 通用数据读取组件InputFormat和Mapper组件实现 (3)手写分布式计算框架功能实现:

AI 时代,还不了解大数据?

寵の児 提交于 2020-08-17 12:25:23
如果要问最近几年,IT行业哪个技术方向最火?一定属于ABC,即AI + Big Data + Cloud,也就是人工智能、大数据和云计算。 这几年,随着互联网大潮走向低谷,同时传统企业纷纷进行数字化转型,基本各个公司都在考虑如何进一步挖掘数据价值,提高企业的运营效率。在这种趋势下,大数据技术越来越重要。所以,AI时代,还不了解大数据就真的OUT了! 相比较AI和云计算,大数据的技术门槛更低一些,而且跟业务的相关性更大。我个人感觉再过几年,大数据技术将会像当前的分布式技术一样,变成一项基本的技能要求。 前几天,我在团队内进行了一次大数据的技术分享,重点是对大数据知识做一次扫盲,同时提供一份学习指南。这篇文章,我基于分享的内容再做一次系统性整理,希望对大数据方向感兴趣的同学有所帮助,内容分成以下5个部分: 1、大数据的发展历史 2、大数据的核心概念 3、大数据平台的通用架构和技术体系 4、大数据的通用处理流程 5、大数据下的数仓体系架构 01 大数据的发展历史 在解释「大数据」这个概念之前,先带大家了解下大数据将近30年的发展历史,共经历了5个阶段。那在每个阶段中,大数据的历史定位是怎样的?又遇到了哪些痛点呢? 1.1 启蒙阶段:数据仓库的出现 20世纪90年代,商业智能(也就是我们熟悉的BI系统)诞生,它将企业已有的业务数据转化成为知识,帮助老板们进行经营决策。比如零售场景中