摘要: 文字、数字、语言 、信息 数字、文字和自然语言一样,都是信息的载体,他们的产生都是为了 记录和传播信息 。 但是貌似数学与语言学的关系不大,在很长一段时间内,数学主要用于天文学、力学。 本章,我们将回顾一下信息时代的发展,看语言学如何慢慢与数学联系起来的。 信息 最开始的时候,人类会用 声音 来传播 阅读全文
posted @ 2018-04-07 18:57 dy2903 阅读(1304) 评论(0) 推荐(0) 编辑
摘要: Sublime Text 是一款跨平台代码编辑器(Code Editor),我非常喜欢里面的一些小功能,本文主要总结了Sublime Text使用中的一些问题。 为什么会选择Sublime 个人非常喜欢使用Vim,但是Vim的话,很多功能需要自己来调,而且一些快捷键诸如Ctrl + C都不能用了,有 阅读全文
posted @ 2018-04-07 15:22 dy2903 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 数据仓库 什么时候需要用到数据仓库? 一个公司里面不同项目可能用到不同的数据源,有的存在MySQL里面,又的存在MongoDB里面,甚至还有些要做第三方数据。 但是现在又想把数据整合起来,进行 数据分析 。此时数据仓库(Data Warehouse,DW)就派上用场了。它可以对多种业务数据进行筛选和 阅读全文
posted @ 2018-03-10 17:58 dy2903 阅读(698) 评论(0) 推荐(0) 编辑
摘要: 为什么计算也要分布式 使用HDFS可以把文件分割为一个一个的片段,然后存储在各个节点上,同时为了保证高可靠性,存的是3副本。 这一切的操作对客户端都是透明的,它仍然是觉得是在对同一个文件进行操作。这样就可以把海量的Web日志文件存储到了HDFS当中。 但是存储架构已经分布式了,如果只有一个节点把所有 阅读全文
posted @ 2018-03-06 12:58 dy2903 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 本章主要对Ceph的工作原理进行介绍。 寻址过程 如果Client来了一个请求,不管个请求是读还是写都需要先寻址,才能找到数据应该放哪里或者说需要从哪里去。 之前我们说过Ceph的寻址方式是基于 计算 的,这样就避免的查表,也避免了使用一个单独的元数据服务器。 概述 对于Client传来的一个Fil 阅读全文
posted @ 2018-03-06 12:26 dy2903 阅读(3167) 评论(0) 推荐(0) 编辑
摘要: Ceph的结构 在 "【Ceph浅析笔记】Ceph是什么.md" 里面我们介绍了Ceph的基本思想。下面我们先来介绍一下Ceph的基本结构。 基础存储系统RADOS 最底层是数据真正存放的地方,物理上由大量的节点所构成,然后在上面加了一个 中间层 ,可以实现Ceph的可靠性、自动化、可扩展等特性,所 阅读全文
posted @ 2018-03-05 12:06 dy2903 阅读(767) 评论(0) 推荐(0) 编辑
摘要: 在谈对象存储是什么之前,我们先回顾一下块存储和文件存储是什么 块存储与文件存储 块存储: 常见的块存储设备是 磁盘阵列 ,它会向主机提供 裸磁盘 空间。也就是说操作系统看到的只是一块磁盘而已,虽然它底层可能是多块硬盘组合起来的逻辑盘。 这种方式下,操作系统还可以对挂载的裸硬盘进行分区、格式化,与主机 阅读全文
posted @ 2018-03-05 11:07 dy2903 阅读(710) 评论(0) 推荐(0) 编辑
摘要: Ceph是什么 什么是Ceph?首先我们应该明确,Ceph是一种 分布式存储系统 ,所谓 分布式 ,指的是Ceph可以部署在多台服务器上,通过多台服务器并行处理来对外提供高性能的读写块。 同时Ceph除了能提供块存储,还可以提供文件存储、对象存储。 Ceph的优势 实际上Ceph不是一个才出现的开源 阅读全文
posted @ 2018-03-04 14:13 dy2903 阅读(4501) 评论(0) 推荐(0) 编辑
摘要: 初始机器学习 什么是机器学习 什么是机器学习? 机器学习指的是 计算机 对历史数据进行统计分析,找出规律,建立模型,最关键的是可以对未来 不确定性 场景进行判断和决策 具体可见: "什么是机器学习" 那什么是不确定性的场景呢?比如说太阳明天从什么地方升起,这就是确定的场景,因为永远都是从东方升起,从 阅读全文
posted @ 2018-03-03 18:16 dy2903 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 日志分析 比如说现在给你一个活: 日志分析 ,一个日志大概有几十兆,而且每一行都很类似,比如 可以看出这些日志是从Web服务器里面产生的,包含了 客户端IP 访问时间 请求的URL 返回的状态 referer User Agent 现在我们需要统计, 一天之内 每个页面的访问量(PV) 独立的IP数 阅读全文
posted @ 2018-03-02 16:44 dy2903 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Hadoop的前世今生 什么是大数据 各行各业都会产生大量的数据,比如社交网站的意见观点,电商平台人们浏览网页停留的时间,交通运输每天产生的数据等等。这些数据大多不是结构化的,一般来说都是半结构化或者非结构化的 在以前,我们的处理能力达不到,所以很多数据要么没有存起来,要么没有利用起来。而现在数据越 阅读全文
posted @ 2018-03-02 11:28 dy2903 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 项目链接:https://gitee.com/xyjtysk/quotationTools 本篇主要介绍汇总页如何实现。 如下图所示,本Sheet主要是把价格明细页进行同类项合并以后的结果 好处是: 可以看到每项散件的占比,找出哪一项对价格影响最大 合并以后核对更为简单 所以这一页里面就没有什么设备 阅读全文
posted @ 2018-02-24 17:14 dy2903 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 本篇主要介绍Summary页如何得到 下图为Summary页的样子 主要有三个功能要实现: 链接到明细清单页 与明细清单页进行价格联动 占比 代码位于summaryModelClass.py 总体思想 其实Summary页就是对价格清单页的一个精简而已,只是把site行的数据保留下来。 所以总体思想 阅读全文
posted @ 2018-02-24 17:11 dy2903 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 项目链接:https://gitee.com/xyjtysk/quotationTools 在 "【QuotationTool】Model的实现(一),获得Excel路径以及Excel输出格式" 里面我们已经获得了Excel的路径,已经规定好了输出和输出有哪些列,下面就可以开始正式转换了。 预处理 阅读全文
posted @ 2018-02-24 16:58 dy2903 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 项目链接:https://gitee.com/xyjtysk/quotationTools 在 "【QuotationTool的代码实现】主要数据结构.md" 中,我们介绍了如何针对的本项目的主要数据结构是什么,也就是把Excel表格里面的数据读出来,放到什么样的结构里面方便后续的处理。 下面我们接 阅读全文
posted @ 2018-02-24 16:47 dy2903 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 项目链接:https://gitee.com/xyjtysk/quotationTools 采用什么样的数据结构 那么我们希望读出来的数据是这个什么样子呢?也就是 数据结构 是怎么样的? 既然Excel是个二维表格,那么读出来的数也放在一个 二维表格 里面得了。 我们一个简化版的例子来看,下面的表格 阅读全文
posted @ 2018-02-24 16:39 dy2903 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 项目链接:https://gitee.com/xyjtysk/quotationTools 本章主要介绍framework的功能实现 之前我们讲到,framework其实存放的是所有可以复用的代码,包括 调用第三方库读写Excel 对log工具的改进包 对MySQL的操纵包 代码结构 我们先来看一下 阅读全文
posted @ 2018-02-24 15:12 dy2903 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 项目链接:https://gitee.com/xyjtysk/quotationTools 在 "QuotationTools自动化脚本的部署和使用" 和 "QuotationTool能做什么." 我们介绍了quotationTool能做什么以及如何安装部署,以下章节主要介绍具体的技术实现。 在开始 阅读全文
posted @ 2018-02-24 15:03 dy2903 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 项目链接:https://gitee.com/xyjtysk/quotationTools 在上一篇中我们讲了程序的主要作用是将NHCT导出来的excel转换为更为灵活的文档,比如增加了单套数量、统计信息、导航页等等。 本文主要介绍如何安装和部署环境,以及简单的使用。希望大家在使用之前可以先 完整的 阅读全文
posted @ 2018-02-22 21:01 dy2903 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 本篇主要说这个QuotationTool这个自动化脚本能解决我们什么问题。 代码地址:https://gitee.com/xyjtysk/quotationTools 为什么要有自动化脚本 售前工作中的痛点 我们售前工程师天天都离不开与报价表格打交道,比如说给客户报价,做竞争分析,投标等等,这些都需 阅读全文
posted @ 2018-02-22 20:25 dy2903 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 本文由 "CPU阿甘" 改编而得,主要讲的是系统启动和程序执行时CPU做的工作。 CPU的构成 中央处理器(CPU,Central Processing Unit)由运算器、控制器、Cache等。 控制器:主要是对指令进行译码。 运算器:主要是执行定点或者浮点运算等。 寄存器:主要功能是保存计算的中 阅读全文
posted @ 2018-02-19 12:36 dy2903 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 本章主要介绍程序执行过程中操作系统、CPU都干了什么 运行前 程序在运行前,只是在硬盘上待着,此时就是一堆 二进制代码 而已,没有任何作用。 程序只有进入了内存才能运行,但是要进入内存,则需要服从 操作系统 的调度。 一个程序在运行的时候可能需要很大的空间,比如3G,但是操作系统不可能为每个程序都分 阅读全文
posted @ 2018-02-19 12:20 dy2903 阅读(5075) 评论(0) 推荐(1) 编辑
摘要: 存储其实就是一台主机,上面也运行着各种各样的应用程序,可以在原本的裸数据之上实现更高级的功能,实现更多的附加值。现在的高端存储越来越开发,比如EMC 的 V MAX,高端存储也用普通的x86了。 存储系统有两大功能:数据存储和数据管理。 数据存储:控制器、磁盘、HBA卡等,主要是提供 裸数据 存储服 阅读全文
posted @ 2018-02-18 18:45 dy2903 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 数据容灾 数据备份系统只能保证实际上被安全复制了一份,如果生产系统故障,必须将备份数据尽快的恢复到生产系统中继续生产,就叫 。 容灾可以分为四个级别: 数据级容灾:只是将生产站点的数据同步到远端。 与应用结合的数据级容灾:保证对应应用数据一致性。 应用级容灾:需要保证灾难发生以后,需要保证原生成系统 阅读全文
posted @ 2018-02-18 18:45 dy2903 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 目前云计算、云存储、云备份等技术可谓是铺天盖地,其中不乏有很多是浑水摸鱼的,本来没有多少云的性质,只是打着云的旗号来炒作而已。 目前市场对一款产品是否是 云 ,没有明显的界定。因为云本来就没有一个标准。 云的是怎么来的 国外在指代一堆设备的时候,一般使用Cluster这个词,而中文翻译一般是“簇”或 阅读全文
posted @ 2018-02-18 18:43 dy2903 阅读(1066) 评论(0) 推荐(0) 编辑
摘要: 数据保护 所谓数据保护是指对 当前时间点 上的数据进行备份, 如果说一份数据被误删除了,可以通过 备份数据 找回来。 从底层来分,数据保护可以分为文件级保护和块级保护。 文件级备份 文件级备份:将磁盘上所有文件通过 调用文件系统接口 备份到另一个介质上。也就是把数据以文件形式读出,然后存储在另一个介 阅读全文
posted @ 2018-02-15 18:07 dy2903 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 互联网运营商(NSP)的数据中心是数据最集中的地方,也正是因为海量的数据存储与访问,传统的存储架构已经无法满足了现有的需求。 比如每秒几十万次的随机IOPS、每秒10GB的流量,一般都需要使用高端存储,当然价格将不便宜。而且扩展性不好,扩容成本高。 业务的不断增加,导致互联网运营商逐步使用分布式系统 阅读全文
posted @ 2018-02-15 14:02 dy2903 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 读写分离 当一个公司业务不断扩展,用户量大量增加,原来使用的数据库很可能就撑不住了。那么可以 Scale in,扩充硬件的性能,但是很可能用户量继续增长,增加的性能很快就吃光了。 读写分离:数据库撑不住了,无非就是读写量过大,特别是有一些复杂的查询比如最近24小时最热门的产品等。需要很复杂的SQL语 阅读全文
posted @ 2018-02-15 11:15 dy2903 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 在 "数据库(五),事务" 里面我们讲了事务ACID属性,事务最重要的能在异常情况的修复以及并发连接的处理上。 异常情况的修复主要通过 日志 来完成,那么并发连接的处理主要通过 锁 。本章主要整理的是 锁 的相关知识。 为什么需要锁? 现在Bob的账户里面有1000块钱,此时程序突然同时来了两个要求 阅读全文
posted @ 2018-02-15 10:58 dy2903 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 随着应用程序对服务器、存储系统的系统要求越来越高,单台设备有时已经无法满足需求了,此时我们有两种方法可以解决: 使用性能更高的机器,但是成本以及维护成本非常高,而且不见得适合所有的应用。 多台设备联合起来对外提供服务,这就是集群。 主机可以形成集群,存储设备也可以形成集群。目前中高端存储设备自身就有 阅读全文
posted @ 2018-02-14 21:09 dy2903 阅读(474) 评论(0) 推荐(0) 编辑
摘要: "【大话存储II】学习笔记(15章),块级集群存储系统" 里面分析的主要是块集群系统,同样文件级存储也可以集群化。 因为NAS系统的前端网络是以太网,速度比较低,导致NAS主要用于一些非关键业务中,比如文件共享。但是一些特殊应用也需要多主机同时访问某个大文件,比如3D渲染集群等。如果我们使用块集群存 阅读全文
posted @ 2018-02-14 21:07 dy2903 阅读(878) 评论(0) 推荐(0) 编辑
摘要: 存储系统演变 存储系统一直以来都是一个总的控制器加上几串磁盘扩展柜存在的,但是随着数据量的快速增加,性能受限于 控制器 ,所以要提升整体的处理能力,主要有两种方法: 最简单的是在单个控制器中加入更多的CPU、内存等,就如同PC机性能不够了,就加内存、换SSD等。这种扩展方式称为 这种方式的问题是,随 阅读全文
posted @ 2018-02-13 14:09 dy2903 阅读(854) 评论(0) 推荐(0) 编辑
摘要: 操作系统对硬件的虚拟化 :就是为其他 程序 提供编写和运行环境的 程序 。 由程序来运行程序,而不是程序自己来运行, 这是操作系统提供的虚拟化的表现 。 加电之后,首先运行OS,随时可以载入其他程序执行。执行完以后切换回OS本身。 但是每次还是要等待这个程序执行完毕,才能接着载入下个程序执行。任何中 阅读全文
posted @ 2018-02-12 10:33 dy2903 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 我们知道机械硬盘最大的缺点在于,寻道时间比较长,也就是不适合随机小块IO。所以这几年固态存储大行其道,因为它对任何地址访问的开销都相等,节省了机械寻道时间,所以随机IO性能很好。 当前的SSD硬盘,单块SSD的大块连续读吞吐量超过了350MB/s,写超过了210MB/s,甚至4K块随机读吞吐量超过了 阅读全文
posted @ 2018-02-11 20:37 dy2903 阅读(1224) 评论(0) 推荐(0) 编辑
摘要: DAS , SAN , NAS NAS LUN只是一个卷设备,对主机而言就是一块硬盘,我们的操作系统集成了文件系统的功能,可以用来管理卷。而 NAS就是把文件系统从主机迁移到磁盘阵列上,自己来管理。使用者只需要通过网络告诉这个文件系统需要存取什么文件而不需要向NAS传递LBA地址。 那么 NAS与S 阅读全文
posted @ 2018-02-10 11:25 dy2903 阅读(966) 评论(0) 推荐(0) 编辑
摘要: 在 "数据库(二),数据库的起源" 里面我们说到了,数据库实际上就是在底层文件上加的一个中间层,其目的在于抽象了很多数据常用的操作,同时加上了 锁、事务、权限管理 等功能。 下面我们来看看数据是由哪些组件组成的, 最 核心 的是客户端管理器、进程管理器、文件系统管理器、内存管理器等。 然后就是 查询 阅读全文
posted @ 2018-02-10 10:26 dy2903 阅读(4634) 评论(0) 推荐(0) 编辑
摘要: 为什么需要事务呢? 在 "数据库(二),数据库起源" 里面我们提到了事务。 数据库除了对查询等操作进行了抽象,另外一个重要的功能就是 事务 了。为什么需要事务呢?因为我们在操作数据的时候,可能遇到多个线程同时操作数据的问题,也可能遇到突然数据库故障了的问题,这些都可能造成数据的 不一致 。所以事务要 阅读全文
posted @ 2018-02-10 10:26 dy2903 阅读(889) 评论(0) 推荐(1) 编辑
摘要: Fibre Channnel 我们之前引入了SAN的概念,SAN首先是个网络,而不是存储设备。这个网络是专门来给 主机 连接存储设备用的。 我们知道按照SCSI总线16个节点的限制,不可能接入很多的磁盘,要扩大SAN的规模,只使用SCSI总线是不行的,所以必须找到一种可寻址容量大、稳定性强、速度块、 阅读全文
posted @ 2018-02-09 11:05 dy2903 阅读(6770) 评论(0) 推荐(0) 编辑
摘要: 本文主要整理了数据库常用的算法。 我们虽然没有必要从头开始了解数据库的底层算法是什么,但是了解大概原理是必要的。 其实现在很多技术都可以从经典算法中找到原型,比如Hadoop其实就是合并算法演变过来了。 这样说来算法相当于 内功 ,如果能理解了这些算法,再学其他的技术,就是 一鞭一条痕 一掴一掌血 阅读全文
posted @ 2018-02-07 15:23 dy2903 阅读(8761) 评论(0) 推荐(1) 编辑
摘要: 协议融合 TCP/IP满足了Internet范围的网络通信,FC满足了后端存储的专用高速公路,而SCSI不适合Internet的通信。这就如同火车或者汽车,同样是运输货物,但是它们都适应了不同的需要。 对于SCSI而言,如果要跨越大范围的通信,就要将其承载到TCP/IP上,形成了ISCSI协议。TC 阅读全文
posted @ 2018-02-07 14:51 dy2903 阅读(674) 评论(0) 推荐(0) 编辑