![个人头像照片](https://ucc.alicdn.com/avatar/img_9b1c50df0f36774fd3dd03f9ef11b803.jpg)
高广超:多年一线互联网研发与架构设计经验,擅长设计与落地高可用、高性能、可扩展的互联网架构。目前从事大数据相关研发与架构工作。
Hive Hive简介 Facebook为了解决海量日志数据的分析而开发了Hive,后来开源给了Apache软件基金会。 官网定义: The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Hive是一种用类SQL语句来协助读写、管理那些存储在分布式存储系统上大数据集的数据仓库软件。
Presto Hive使用MapReduce作为底层计算框架,是专为批处理设计的。但随着数据越来越多,使用Hive进行一个简单的数据查询可能要花费几分到几小时,显然不能满足交互式查询的需求。
1.数仓概述 数据仓库的建设是一个过程,而不是一个项目。在这个过程中我们需要形成自己的规范,以方便管理和维护。在数据仓库的建设过程中,不仅会面临着公司业务迅速发展,业务系统迭代变更,需要对业务系统数据进行相应 的整合,形成公司完整的统一数据视图;而且基于数据仓库的应用也是多样化的,比如支撑自己企业的数据可视化平台、即席查询、对策略提供数据支持等。
image.png 1基本概念 维度模型的概念出自于数据仓库领域,是数据仓库建设中的一种数据建模方法。维度模型主要由事实表和维度表这两个基本要素构成。
本文默认读者已经对Docker有一定了解,且清楚使用Docker进行部署的优势。 1.安装Docker(Mac) 官网:https://docs.docker.
转载自:https://support.google.com/analytics/answer/1033861?hl=zh-Hans 概览 Google Analytics(分析)中的每个报告都由维度和指标组成。
大数据分析和Druid 大数据一直是近年的热点话题,随着数据量的急速增长,数据处理的规模也从GB 级别增长到TB 级别,很多图像应用领域已经开始处理PB 级别的数据分析。
官网地址:https://github.com/apache/incubator-dubbo/wiki 1 2 3 4 5 6 7 8 欢迎关注 高广超的简书博客 与 收藏文章 !欢迎关注 头条号:互联网技术栈 ! 个人介绍: 高广超:多年一线互联网研发与架构设计经验,擅长设计与落地高可用、高性能、可扩展的互联网架构。
总纲 本书假定你已经有了成为架构师必备的技术技能,因此本书不会关注此类技能。 换句话说,本书着重于阐述对作为架构师日常行为非常关键的十二项必备软技能。这些技能对于有技术背景的人们来说往往是最有挑战性的技能,也是成为优秀的软件架构师必须修炼的技能。
image.png GC之前 说明:该文中的GC算法讲解不仅仅局限于某种具体开发语言。 mutator mutator 是 Edsger Dijkstra 、 琢磨出来的词,有“改变某物”的意思。
本文作者:景小财 作者简介:美团外卖活动业务负责人 1、为什么要用锁? 锁-是为了解决并发操作引起的脏读、数据不一致的问题。 2、锁实现的基本原理 2.1、volatile Java编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。
本文作者是组内同事 杜宁,目前负责美团外卖活动管理模块业务。 什么是领域驱动模型? 2004年Eric Evans 发表《领域驱动设计——软件核心复杂性应对之道》(Domain-Driven Design –Tackling Complexity in the Heart of Software),简称Evans DDD,领域驱动设计思想进入软件开发者的视野。
2x.png 不要短时间大量重复读写相同的key server端的原理是网络收包后,放入到工作队列(读写队列分离,但都只有一个),再由工作线程从队列中取出进行处理。
分治法 基本思想 将一个问题,分解为多个子问题,递归的去解决子问题,最终合并为问题的解 适用情况 问题分解为小问题后容易解决 问题可以分解为小问题,即最优子结构 分解后的小问题解可以合并为原问题的解 小问题之间互相独立 实例 二分查找 快速排序 合并...
image.png “开一闭” 原则(OCP) 经典力学的基石是牛顿三大定律。 而面向对象的可复用设计 (Object Oriented Design, 或 OOD) 的第一块基石,便是所谓的”开-闭“原则 (Open-Closed Principle, 常缩写为OCP)。
Dubbo 3.0重大革新 据了解,新的 Dubbo 内核与 Dubbo 2.0 完全不同,但它兼容 2.0。Dubbo 3.0 将以 Streaming 为内核,而不再是 2.0 时代的 RPC,但是 RPC 会在 3.0 中变成远程 Streaming 对接的一种可选形态。
以下内容均来自 梁飞 的个人博客 http://javatar.iteye.com/blog/1056664 魔鬼在细节 一些设计上的基本常识 谈谈扩充式扩展与增量式扩展 配置设计 设计实现的健壮性 防痴呆设计 扩展点重构 魔鬼在细节中 转于自己在公司的Blog:http://pt.
架构师技术栈,是自己从业这些年来涉猎的主要部分,也是自己不断提升的方向,其中的内容也在不断的完善中,随时会更新版本,姑且算作beta版本。 互联网技术日新月异,作为从业者,也需要不断学习,扩展技术视野。
image.png 七个模型来介绍并发与并行。 线程与锁:线程与锁模型有很多众所周知的不足,但仍是其他模型的技术基础,也是很多并 发软件开发的首选。
负载均衡又分为四层负载均衡和七层负载均衡。四层负载均衡工作在OSI模型的传输层,主要工作是转发,它在接收到客户端的流量以后通过修改数据包的地址信息将流量转发到应用服务器。
image.png 1. 什么是meta-fields 在Elasticsearch下,一个文档除了有数据之外,它还包含了元数据(Metadata)。
安全工程师篇 程序开发语言 大数据技能图谱 机器学习技能图谱 架构师技能图谱 前端工程师篇 嵌入式开发必备技能 移动性能优化 云计算工程师篇 运维工程师篇 DBA 技能图谱 H5技能图谱 Hadoop 家族技能图谱 iOS 开发工程师 OpenResty 安全工程师篇(完稿)-01.
image.png 1、引入新的Consumer API 0.9.0相比0.8.2,引入了一个新的Consumer API,这个API不再使用high level和low level的基于zookeeper的client;不过仍然支持0.8.0的client。
image.png Redis使用过程中经常会有各种大key的情况, 比如: 1: 单个简单的key存储的value很大 2: hash, set,zset,list 中存储过多的元素(以万为单位) 由于redis是单线程运行的,如果一次操作的value很大会对整个redis的响应时间造成负面影响,所以,业务上能拆则拆,下面举几个典型的分拆方案。
队列的实现 举例: 队列主要用在系统解耦、流量削峰、异步处理、数据顺序处理等场景。新手在使用时可能会犯一些常见的错误。下面讲一个新手容易犯的错误,在这个示例中把队列的入队、出队和Redis存储节点的主从关系给混淆了,示例如下 存储: Redis主节点M, 使用数据List类型做为队列,列表名称M (标记为M.
image.png 目录 第二章 创建和销毁对象 1 考虑用静态工厂方法替代构造器 2 遇到多个构造器参数时要考虑用构件器 3 用私有构造器或者枚举类型强化Singleton属性 4 通过私有构造器强化不可实例化的能力 5 避免创建不必要的...
OSI七个层次的功能 物理层 为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该层中还具有确定连接设备的电气特性和物理特性等功能。
这篇文章是我之前翻阅了不少的书籍以及从网络上收集的一些资料的整理,因此不免有一些不准确的地方,同时不同JDK版本的差异也比较大。 5.垃圾回收 5.1 按代实现垃圾回收 image.png 新生代(Young generation): 绝大多数最新被创建的对象会被分配到这里,由于大部分对象在创建后会很快变得不可到达,所以很多对象被创建在新生代,然后消失。
基本类型的包装类和常量池 java中基本类型的包装类的大部分都实现了常量池技术,即Byte,Short,Integer,Long,Character,Boolean。
开源平台即服务(PaaS)让广大开发人员和用户可以贡献及共享源代码和扩展件。有的PaaS由厂商驱动,有的则基于标准。 厂商驱动的开源PaaS让广大开发人员和用户被某家厂商牢牢锁定。
脑图 图片2M多,加载比较慢 软件架构师的12项修炼 软件架构师的12项修炼——关系技能修炼(1)软件架构师的12项修炼——关系技能修炼(2) 个人介绍: 高广超:多年一线互联网研发与架构设计经验,擅长设计与落地高可用、高性能、可扩展的互联网架构。
无规矩不成方圆。 项目角色 产品经理(PM) 后台开发(RD) 前端开发(FE) 系统测试(QA) 项目周期 主要的环节包括 :需求评审、项目开发、提测、系统测试、发布上线等 序号 环节 主R(responsible) S(support) ...
声明:主要内容来自公司内部 对业界的调研,不一定恰当、准确、实时。 表格文字较多,APP阅读体验较差 团队 服务相关组件\方案 通信框架 监控 负载均衡\路由 是否开源 腾讯 完全自研;BG内部自治,每个BG有自己相应的解决方案,单独演进...
image.png 主要使用场景汇总 应用 场景描述 使用示例 备注 命名服务 服务注册、服务发现功能 dubbo 配置服务 利用ZK的树形数据存储保持配置信息 分布式锁 利用ZK临时顺序节点, 实现资源占用功能 分...
微服务学习笔记系列-Spring Cloud优质项目推荐 image.png 个人介绍: 高广超:多年一线互联网研发与架构设计经验,擅长设计与落地高可用、高性能互联网架构。
原文地址 Zuul的原始性能非常接近于Nginx。(重申免责声明-这并非一个严肃的基准性能测试) Zuul Request Lifecycle image.
Archaius 配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。 概述 archaius是Netflix公司开源项目之一,基于java的配置管理类库,主要用于多配置存储的动态获取。
Spring Cloud 微服务架构集大成者,云计算最佳业务实践。 image.png Spring Cloud Spring Cloud Config Spring 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。
image.png 截止 2018-5 编程语言与计算机基础 Java书单——由入门到上天UML-类间关系Java解读-ThreadLocal详解与应用并发编程-Concurrent用户指南Java并发编程-原子性变量Java 并发工具...
图片发自简书App
原文网站已经打不开了,其他都是转载地址,在此就不列了 简介 [HBase]——Hadoop Database的简称,Google BigTable的另一种开源实现方式,从问世之初,就为了解决用大量廉价的机器高速存取海量数据、实现数据分布式存储提供可靠的方案。
image.png 迁移的三个阶段 在多机房数据迁移中,整个过程分为三个阶段:历史数据迁移阶段、redolog迁移阶段、实时复制阶段。 1 历史数据迁移 历史数据的迁移使用一个队列完成,这个队列由多个线程消费。
image.png 1. 原子性布尔 AtomicBoolean AtomicBoolean 类为我们提供了一个可以用原子方式进行读和写的布尔值,它还拥有一些先进的原子性操作,比如 compareAndSet()。
image.png 1. 执行器服务 ExecutorService java.util.concurrent.ExecutorService 接口表示一个异步执行机制,使我们能够在后台执行任务。
相关文章: MySQL高性能表设计规范:http://www.jianshu.com/p/f797bbe11d76 MySQL EXPLAIN详解:http://www.jianshu.com/p/ea3fc71fdc45 MySQL 锁机制 常用知识点:http://www.jianshu.com/p/0d5b7cd592f9 image.png 良好的逻辑设计和物理设计是高性能的基石, 应该根据系统将要执行的查询语句来设计schema, 这往往需要权衡各种因素。
image.png 概述 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
image.png 入门 · 练级 书名 介绍 《Head First Java》 非传统的教学方式,运用大量图片和对话,尽量有趣地讲解严肃的技术主题。
在优化group by查询的时候,一般的会想到两个名词:松散索引扫描(Loose Index Scan)和紧凑索引扫描(Tight Index Scan),因为通过这两种索引扫描就可以高效快速弟完成group by操作。
最近,在日内瓦湖上的山脉中,建成了一条很长的汽车隧道。在投入使用之前,总工程师想起来,她忘了警告汽车司机在进入隧道之前把车灯打开。尽管隧道的照明设施很好,仍然需要预防停电的情况下发生灾难(在深山中这种意外是很可能发生的)。
image.png 走出问题的乌托邦 ――代序 一 也许你是一名普通的程序员或者一个底层的职员,你的工作就是保质保量地完成上级交给你的任务,你有时会困惑为什么你努力的工作始终得不到上级的赏识和提拔。