- 博客(83)
- 资源 (18)
- 收藏
- 关注
原创 数据科学家知识体系
1 认知篇 1.1 什么是科学家 1.1.1 从太阳东升西落开始 1.1.1.1 农历 1.1.1.2 公历 1.1.2 阿基米德爱洗澡 1.1.3 托勒密的秘密 1.1.4 牛顿为什么那么牛 1.1.4.1 ...
2021-06-14 06:47:53 379
转载 互联网服务端系统架构迭代升级之路
本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。特别说明:本文以淘宝为例仅仅是为了便于说明演进过程可能遇到的问题,并非是淘宝真正的技术演进路径。基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍:分布式,系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或
2021-06-01 12:38:43 1708
转载 互联网系统架构演变之一
1. 程序三高1)高并发高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一。当多个进程或线程同时(或着说在同一段时间内)访问同一资源时会产生并发问题,因此需要通过专门的设计来保证系统能够同时(并发)正确处理多个请求。2)高性能简单地说,高性能(High Performance)就是指程序处理速度快、耗能少。与性能相关的一些指标如下: 响应时间:系统对请求做出响应的时间。例如系统处理一个 HTTP 请求需要 200ms,这个 200ms 就是系统的响
2021-06-01 12:29:53 530
原创 浏览器-服务端交互机制
计算机与网络设备要相互通信,必须要遵循一定的规则,我们把这种规则称为协议。协议会规定好谁先发起请求,怎么寻找服务器地址,怎么获取请求内容,怎么响应请求等等。与互联网相关的协议集合统称为TCP/IP。而HTTP协议只是TCP/IP协议的一部分。1 URL解析 假设我们在浏览器输入URL:http://www.a.com/index.html?b=1 首先浏览器会判断你输入的地址是合法的URL还是待搜索的关键词,如果是合法的URL,则会解析出域名:www.a.com,然后进入下一步。####1
2021-05-19 08:59:04 471
原创 数据库索引机制
索引的本质 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是糟糕的,好在计算机科学的发展提供了很多更优秀的查找算法,例如二分查找(binary search)、二叉树查
2021-05-16 12:51:09 680
原创 时序数据库深度探索
1 InfluxDB时序数据存储模型设计 InfluxDB是一款专业的时序数据库,只存储时序数据,因此在数据模型的存储上可以针对时序数据做非常多的优化工作。 为了保证写入的高效,InfluxDB也采用LSM结构,数据先写入内存,当内存容量达到一定阈值之后flush到文件。InfluxDB在时序数据模型设计方面提出了一个非常重要的概念:seriesKey,seriesKey实际上就是measurement+datasource(tags)。InfluxDB中measurement像是表的概念,Infl
2021-05-09 11:37:39 481
原创 计算机数据存储机制
1 主存存取原理 目前计算机使用的主存基本都是随机读写存储器(RAM),现代RAM的结构和存取原理比较复杂,这里本文抛却具体差别,抽象出一个十分简单的存取模型来说明RAM的工作原理。 从抽象角度看,主存是一系列的存储单元组成的矩阵,每个存储单元存储固定大小的数据。每个存储单元有唯一的地址,现代主存的编址规则比较复杂,这里将其简化成一个二维地址:通过一个行地址和一个列地址可以唯一定位到一个存储单元。上图展示了一个4 x 4的主存模型。1.1 主存的存取过程 当系统需要读取主存时,则将地址信号放
2021-05-04 16:42:14 2759
原创 物联网平台解决方案
设备 设备可以小到传感器、控制器,大到智能摄像机或工控机床。设备可以连接到边缘节点或者物联网平台。物联网平台层设备接入 负责与边缘设备进行交互,可以同时为多个设备进行服务。支持终端设备直接接入,也可以通过工业网关或者家庭网关接入;支持多网络接入、多协议接入、系列化SDK接入,解决设备接入复杂多样化和碎片化难题。原生协议接入 支持设备通过LWM2M、 CoAP、 MQTT(S)、 Modbus(配合IoT边缘实现)、 OPCUA协议(配合IoT边缘实现)等协议接入。系列化Device S
2021-04-08 15:15:35 1505 2
原创 数据中台解决方案
数据中台是构建在大数据平台之上的。它的核心是业务、应用,要结合场景,比如销售、市场,连接的是商业。源数据层 这一层采用范式建模,基本保持与数据源完全一致的结构。数据仓库层 数据仓库层是数据仓库的核心层,是整个数仓中使用率最高的,这一层主要采用的维度建模思路进行设计,类型包括事务事实、周期快照、累积快照。 在数据模型设计中,根据主题视角与业务视角进行数据主题、数据专题的设计。比如按主题视角设计交易主题,在该主题下按照内容视角设计订单、商品表。明细数据 这一层采用关系范式建模,根据整个
2021-04-06 10:36:07 938
原创 大数据平台解决方案
大数据平台是一个强大的大数据处理工具集合,用于构建数据中台、数据仓库等数据应用场景。1.数据源结构化数据如MySQL数据库数据等。半结构化数据如JSON数据等非结构化数据如音视频文件等。2.数据集成全量/非实时Sqoop、ETL、dataX增量/实时Flume、ELK、消息队列(Kafka等)、Netty、TCP/IP、API3.数据存储OLTP数据库MySQL、SQL Server、Oracle、PostGreSQL分布式OLTP数据库ElasticSearch、Mo
2021-04-06 10:05:25 109
原创 单机事务与分布式事务
事务数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败。例如在转账的流程下,张三给李四转账 2000,第一步在账单账户下扣除 2000,第二步在李四账户下增加 2000,这两步可以视为一个事务。如果两步都成功则转账成功,如果其中任意一步失败,则撤回转账操作四个特征(ACID)事务具有四个特征:原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )和持续性( Durability )。这四个特性简称为 ACID 特性。.
2021-04-04 00:19:10 1135
原创 系统安全漏洞
1 跨站请求伪造漏洞1.1 概述跨站请求伪造CSRF(Cross Site Request Forgery)是指攻击者可以在第三方站点制造HTTP请求并以用户在目标站点的登录态发送到目标站点,而目标站点未校验请求来源使第三方成功伪造请求。CSRF(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。1.2 为什么会有CSRF?JS控制浏...
2021-03-21 00:23:59 704
原创 战略规划
1、战略规划所谓战略规划,是组织制定长期目标,并将其付诸实施的规则。企业进行战略规划主要有以下目的:通过剖析企业外部环境,充分把握企业内部优势和劣势,帮助企业迎接未来 的挑战,提供企业未来明确的目标及方向,使企业中的每个成员都清楚企业的发展目标。2、战略规划的任务框架不论是什么企业,在制定战略规划的过程中,一定要完成三个关键任务:定位,选择整体性指导方针,设计连贯性行动方案。2.1、定位在定位任务过程中,需要完成的工作任务是:定义企业自身的商业模式,确定价值创建模式,明确业务增长战略,.
2021-03-15 22:29:48 545
原创 目标管理
1、目标管理目标管理必须从目标清晰化做起,同时要让参与者看到目标的意义和价值,目标管理才能有一个好的开始。有目标是重要的,但更为重要的是目标的清晰化和目标的意义,这也是所有管理者在实际工作中必须完成的首要任务。2、目标首先,目标是有意义和价值的。其它,目标也要符合SMART原则(Specific具体、Measurable可衡量、Aligned一致性、Realistic现实的、Timed时限)3、目标的分类3.1、经营目标所谓经营目标,就是企业在一定时期内,经营活动预期要达到的效果
2021-03-13 23:57:33 200
原创 美食的本质
食物的功效 滋养功效 食物进入人体、通过胃消化、脾运化,然后输布全身,成为水谷精微而滋养人体。这种后天的水谷精微和先天的真气结合形成人体的正气,从而维护正常的生命活动和抗御邪气。 预防功效 食物对人体的滋养功效本身就是一项重要的预防保健措施。如:动物肝脏预防夜盲症、用海带预防甲状腺肿大、用谷皮、麦麸预防脚气病等 延缓衰老 在日常生活中重视饮食养生保健,及时消除疾病,使机体功能协调,能起到延缓衰老、延年益寿的作用。 治疗功效 历代医者都主张药疗不如食疗。食物具有补益脏腑、泻
2020-10-26 08:42:43 859
翻译 2020-09-11
对于任何一个数据库管理系统来说,内存的规划绝对可以算的上是其核心之一了,所以很多希望更为深入了解某数据库管理系统的人,都会希望一窥究竟,我也不例外。 从内存的使用方式MySQL 数据库的内存使用主要分为以下两类:线程独享内存 全局共享内存1、线程独享内存 在 MySQL 中,线程独享内存主要用于各客户端连接线程存储各种操作的独享数据,如线程栈信息,分组排序操作,数据读写缓冲,结果集暂存等等,而且大多数可以通过相关参数来控制内存的使用量。线程栈信息使...
2020-09-11 17:31:14 133
原创 spring框架一览
spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。spring-src.zip 就是所有的源代码压缩包。 除了spring.jar 文件,Spring 还包括有其它21 个独立的jar ...
2015-12-10 12:33:01 139
《架构探险——从零开始写Java Web框架》 试读心得
本人从事JAVA开发也有好几个年头了,学过的技术很多,主流的框架基本上也都用过。前端的HTML、JS、ExtJS、JQuery、dojo等,后台的struts、jsf、spring、hibernate、mybatis,消息队列、分布式缓存等,跟大数据相关的hadoop、hbase、hive、spark都有所接触。可是总体还是感觉很零散,总是觉得自身掌握的知识体系还不成系统。所以,总是时不时的觉...
2015-11-28 00:05:06 161
分布式数据库HBase简介
本文转自http://storage.chinabyte.com/420/12417420.shtml。 HBase 是一个面向列的分布式数据库。HBase 不是一个关系型数据库,其设计目标是用来解决关系型数据库在处理海量数据时的理论和实现上的局限性。传统关系型数据库在上世纪七十年代为交易系统设计,以满足数据一致性(ACID)为目标,并没有考虑数据规模扩...
2015-05-14 16:22:55 149
分布式文件系统HDFS简介
本文转自http://storage.chinabyte.com/107/12416607.shtml。 Hadoop 分布式文件系统 (HDFS) 是运行在通用硬件上的分布式文件系统。HDFS 提供了一个高度容错性和高吞吐量的海量数据存储解决方案。HDFS 已经在各种大型在线服务和大型存储系统中得到广泛应用,已经成为各大网站等在线服务公司的海量存...
2015-05-14 16:19:23 107
MapReduce案例之倒排索引
1 倒排索引1.1 倒排索引"倒排索引"是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎。它主要是用来存储某个单词(或词组)在一个文档或一组文档中的存储位置的映射,即提供了一种根据内容来查找文档的方式。由于不是根据文档来确定文档所包含的内容,而是进行相反的操作,因而称为倒排索引(Inverted Index)。1.2 应用场景通常情况下,倒排...
2015-05-02 08:28:14 218
MapReduce案例之多表关联
1 多表关联1.1 多表关联多表关联和单表关联类似,它也是通过对原始数据进行一定的处理,从其中挖掘出关心的信息。1.2 应用场景输入是两个文件,一个代表工厂表,包含工厂名列和地址编号列;另一个代表地址表,包含地址名列和地址编号列。要求从输入数据中找出工厂名和地址名的对应关系,输出"工厂名——地址名"表。...
2015-05-01 22:15:38 398
MapReduce案例之单表关联
1 单表关联1.1 单表关联"单表关联"这个实例要求从给出的数据中寻找所关心的数据,它是对原始数据所包含信息的挖掘。1.2 应用场景实例中给出child-parent(孩子——父母)表,要求输出grandchild-grandparent(孙子——爷奶)表。 1.3 ...
2015-05-01 21:59:52 416 1
MapReduce案例之数据排序
1 数据排序1.1 数据排序对输入文件中数据进行排序。输入文件中的每行内容均为一个数字,即一个数据。要求在输出中每行有两个间隔的数字,其中,第一个代表原始数据在原始数据集中的位次,第二个代表原始数据。1.2 应用场景"数据排序"是许多实际任务执行时要完成的第一项工作,比如学生成绩评比、数据建立索引等。这...
2015-05-01 18:04:36 391
MapReduce案例之数据去重
1 数据去重1.1 数据去重 对数据文件中的数据进行去重。数据文件中的每行都是一个数据。1.2 应用场景统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。1.3 设计思路数据去重的最终目标是让原始数据中出现次数超过一次的...
2015-05-01 17:49:12 196
原创 大众点评大数据 hadoop 应用案例
本文转自 http://blog.sina.com.cn/s/blog_7eb42b5a0101g0ei.html 大众点评网从2011年中开始使用Hadoop,并专门建立团队。Hadoop主分析集群共有60多个节点、700TB的容量,月运行30多万个Hadoop Job,还有2个HBase线上集群。作者将讲述这各个阶段的技术选择及改进之路。2011年小规模试水 ...
2015-05-01 13:54:05 519
scala入门
scala入门SCALA,英文名:Scalable Language;中文名:可伸缩的语言, 是一门多范式的编程语言,一种类似java的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。1 安装 Scala 这个章节描述了如何安装Scala 的命令行工具, 以便可以尽快让Scala 跑起来。 访问Scala 的官方网站 。要安装Scala...
2015-04-05 09:44:06 189
DIV网页排版入门指南
1 前言 如果你想尝试一下不用表格来排版网页,而是用CSS来排版你的网页,也就是常听的用DIV来编排你的网页结构,又或者说你想学习网页标准设计,再或者说你的上司要你改变传统的表格排版方式,提高企业竞争力,那么你一定要接触到的一个知识点就是CSS的盒子模式,这就是DIV排版的核心所在,传统的表格排版是通过大小不一的表格和表格嵌套来定位排版网页内容,改用CSS排版后,就是通...
2015-02-25 12:15:58 568
程序员需要塑造个人品牌
本文翻译自Nathan Marz的博文《You Are a Product》。如有错误,欢迎指出;如需改进,欢迎指点。 有一天,我突然意识到:用“程序员”或“雇员”都不足以描述“我是什么?”。其实我自己本身就是一个产品,当然你也是。如果你想发展你的事业,你需要像处理产品开发问题一样处理你的事业。 你通过出售“自己”以换取各种各样的东西:比如金钱,地位,...
2015-01-12 00:03:42 215
大数据框架hadoop之版本显示的实现逻辑
版本显示在各个项目或系统中都有使用到,实现方式也各式各样,接下来了解一下hadoop是如何实现版本显示的逻辑的。首先从使用场景开始。使用场景 在bin目录下打印系统版本信息。执行命令结果hadoop version 结果显示,当前的hadoop版本为1.0.0。接下来就一步步地跟踪代码,详细了解一下版本显示...
2014-12-08 14:04:11 138
大数据框架hadoop之JobTracker主要功能分析
JobTracker是整个MapReduce计算框架中的主服务,相当于集群的“管理者”,负责整个集群的作业控制和资源管理。本文对JobTracker的启动过程及心跳接收与应答两个主要功能进行分析。1 JobTracker启动过程1.1 各种线程功能函数offerService()会启动JobTracker内部几个比较重要的后台服务进程,分别是expireTracker...
2014-12-04 13:32:55 2135
大数据框架hadoop的作业初始化过程(接上编)
本文接上一编文章《大数据框架hadoop的作业提交过程》。调度器调用JobTracker.initJob()函数对新作业进行初始化。相关代码如下:// 调度器调用eagerTaskInitializationListener.start()方法。class JobQueueTaskScheduler extends TaskScheduler { @Overrid...
2014-12-03 09:26:34 123
大数据框架hadoop的作业提交过程
作业提交过程比较简单,它主要为后续作业执行准备环境,主要涉及创建目录、上传文件等操作;而一旦用户提交作业后,JobTracker端便会对作业进行初始化。作业初始化的主要工作是根据输入数据量和作业配置参数将作业分解成若干个Map Task以及Reduce Task,并添加到相关数据结构中,以等待后续被高度执行。总之,可将作业提交与初始化过程分为四个步骤,如下所示: 步骤一:用户使...
2014-12-02 09:37:32 291
大数据框架hadoop之FS基本操作
1 读数据1.1 使用Hadoop URL读数据想要使java识别出hdfs开头的URL标示需要一点额外的工作要做:通过URL的setURLStreamHandlerFactory()方法为 java设置一个FSUrlStreamHandlerFactory。这个方法在每个JVM中只能调用一次,所以它通常会被放在一个static block中执行(如下所示),但是如果你的某部分程序(...
2014-12-01 12:25:54 1176
大数据框架hadoop之Observe设计模式应用
Observer观察者设计模式是行为模式的一种,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态 Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。如下用代码的形式来展现被观察者(新闻出版社)和观察者(与之关联的订户观察者对象)是如何保持信息同步的。1 被观察者-新...
2014-11-29 16:06:31 186
大数据框架hadoop的IPC应用场景之getNewJobId
作为典型的分布式系统,Hadoop中各个实体间存在着大量的交互,远程过程调用让用户可以像调用本地方法一样调用另外一个应用程序提供的服务,而不必设计和开发相关的信息发送、处理和接收等具体代码,是一种重要的分布式计算技术,它提高了程序的互操作性,在Hadoop的实现中得到广泛的应用。Hadoop没有使用Java RMI,而是实现了一套自己独有的节点间通信机制,理由是有效的IPC(Inter-Pr...
2014-11-29 16:03:46 137
大数据框架hadoop的文件系统(HDFS)命令大全
HDFS(Hadoop Distributed File System)是Hadoop应用用到的一个最主要的分布式存储系统。一个HDFS集群主要由一个NameNode和多个Datanode组成:Namenode管理文件系统的元数据,而Datanode存储了实际的数据。基本上,客户端是通过联系Namenode以获取文件的元数据或修饰属性,而真正的文件I/O操作是Namenode直接和Da...
2014-11-28 00:03:16 121
大数据框架hadoop的IPC机制实例
Hadoop IPC(Inter-Process Communication,进程间通信),这是一种简洁,低消耗的通信机制,可以精确控制进程间通信中如连接、超时、缓存等细节。Hadoop IPC机制的实现使用了Java动态代理,Java NIO等技术。如下是一个使用Hadoop IPC实现客户端调用服务器端方法的示例,功能是返回服务器端的一个文件信息。1 文件信息类IPCFil...
2014-11-26 13:23:54 210
大数据框架hadoop的解压缩机制
gzip和zip是通用的压缩工具,在时间/空间处理上相对平衡,gzip2压缩比gzip和zip更有效,但速度较慢,而且gzip2的解压缩速度快于它的压缩速度。当使用MapReduce处理压缩文件时,需要考虑压缩文件的可分割性。如果文件是一个bzip2格式的压缩文件,那么,MapReduce作业可以通过bzip2格式压缩文件中的块,将输入划分为若干输入分片,并从块开始处开始解压缩数据。...
2014-11-25 19:40:20 301
大数据框架hadoop的序列化机制
对象的序列化(Serialization)用于将对象编码成一个字节流,以及从字节流中重新构建对象。“将一个对象编码成一个字节流”称为序列化该对象(Serializing);相反的处理过程称为反序列化(Deserializing)。1.1 Java内建序列化机制Java序列化机制将对象转换为连续的byte数据,这些数据可以在日后还原为原先的对象...
2014-11-24 23:50:11 145
mysql5.7参考手册(英文版)
2018-08-07
Hive 0.7.1-cdh3u1 API
2015-04-26
hadoop中英文API
2015-04-26
轻松掌握state设计模式
2009-08-08
toad功能详细介绍
2009-08-07
HTML DOM文档帮助手册
2009-08-07
ajax三种入门实例
2009-01-02
Ajax三种入门实例
2009-01-02
ajax的优点与缺点
2009-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人