- 博客(413)
- 资源 (1)
- 收藏
- 关注
转载 LruCache在美团DSP系统中的应用演进
https://tech.meituan.com/lrucache_practice_dsp.html背景DSP系统是互联网广告需求方平台,用于承接媒体流量,投放广告。业务特点是并发度高,平均响应低(百毫秒)。为了能够有效提高DSP系统的性能,美团平台引入了一种带有清退机制的缓存结构LruCache(Least Recently Used Cache),在目前的DSP系统中,使用Lru...
2018-12-28 11:22:59
353
转载 B+Tree原理及mysql的索引分析
https://www.cnblogs.com/xiaoxi/p/6894610.html一、索引的本质 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度...
2018-11-30 17:53:35
322
转载 一致性哈希算法原理
https://www.cnblogs.com/lpfuture/p/5796398.html一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。...
2018-11-26 14:29:04
327
转载 大数据hadoop 面试经典题
1.从前到后从你教育背景(学过哪些课)到各个项目你负责的模块,问的很细(本以为他是物理学博士,但是所有的技术都懂)2.hadoop 的 namenode 宕机,怎么解决先分析宕机后的损失,宕机后直接导致client无法访问,内存中的元数据丢失,但是硬盘中的元数据应该还存在,如果只是节点挂了,重启即可,如果是机器挂了,重启机器后看节点是否能重启,不能重启就要找到原因修复了。但是最终的解决方案应...
2018-11-19 15:22:00
9518
1
转载 HBase容错性和Hbase使用场景、Hbase读写过程详解
https://blog.csdn.net/qq_37095882/article/details/78129295
2018-11-17 16:38:01
231
转载 HBase - 数据写入流程解析
众所周知,HBase默认适用于写多读少的应用,正是依赖于它相当出色的写入性能:一个100台RS的集群可以轻松地支撑每天10T的写入量。当然,为了支持更高吞吐量的写入,HBase还在不断地进行优化和修正,这篇文章结合0.98版本的源码全面地分析HBase的写入流程,全文分为三个部分,第一部分介绍客户端的写入流程,第二部分介绍服务器端的写入流程,最后再重点分析WAL的工作原理。客户端流程解析(...
2018-11-02 17:06:36
503
转载 浅谈HBase的数据分布
转载:摘要: HBase的rowkey设计一直都是难点和痛点,不合适的rowkey设计会导致读写性能、吞吐不佳等诸多问题。本文从数据分布问题展开,介绍HBase基于Range的分布策略与region的调度问题,详细讨论了rowkey的比较规则及其应用,希望能够加深用户对HBase数据分布机制和rowkey的理解,从而做出更合适的设计,精准、高效的使用HBase。福利:国际顶级盛会HBase...
2018-10-18 19:47:42
886
原创 shell实用工具脚本
在多台机器上执行命令#!/bin/bashcat ip.txt|while read linedoIP=`echo $line|awk '{print $1}'`ssh -t -t work@${IP}<<EOFcd /home/work/tempmkdir ttcd ttecho "aa" >> aaexitEOFdoneexit 0...
2018-10-18 11:50:35
478
转载 Golang开发新手常犯的50个错误
《50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs》原文地址:http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/index.html详细blog:https://blog.csdn.net/tuobicu...
2018-10-07 10:02:53
2200
转载 shell中使用sort和uniq实现两文件的并集,交集和差集
网上转的,不错,比使用awk容易点 给定两个文件 a.txt 和 b.txt ,每行是一个记录(假设没有重复),要求输出两集合的交集、并集、差集,输出的结果只包括唯一项。交集定义为同时出现在两个文件中的记录项,并集定义为出现在任何一个文件中的记录项,差集(A-B)定义为出现在A中而且不出现在B中的记录,对称差集定义为只出现在一个文件中的记录。假设 a.txt 包括 a, c, b 三行。假设 ...
2018-09-25 15:09:37
295
转载 《HP大中华区总裁孙振耀退休感言》-写给迷茫时看的信
转载:https://m.baidu.com/paw/c/s/m.douban.com/mip/group/topic/2718459/《HP大中华区总裁孙振耀退休感言》照朗 2008-03-02 11:41:43zz 02月 25th, 2008 — Dreamer 从小侯兄弟的Blog上看到的这篇文章,虽然我不知道HP大中华区总裁孙振耀到底是怎样的人,不过这篇文章写的很诚恳,没有什...
2018-08-31 10:30:29
904
转载 golang-defer浅析
转载自:https://tiancaiamao.gitbooks.io/go-internals/content/zh/03.4.html defer和go一样都是Go语言提供的关键字。defer用于资源的释放,会在函数返回之前进行调用。一般采用如下模式:f,err := os.Open(filename)if err != nil { panic(err)}defer...
2018-08-10 21:50:24
208
翻译 influxdb官网文档翻译
存储引擎 存储引擎将多个组件结合在一起,并提供用于存储和查询series数据的外部接口。 它由许多组件组成, 每个组件都起着特定的作用:In-Memory Index —— 内存中的索引是分片上的共享索引,可以快速访问measurement,tag和 series。 引擎使用该索引,但不是特指存储引擎本身。 WAL —— WAL是一种写优化的存储格式,允许写入持久化,但不容易查询。 对W...
2018-07-30 21:15:41
4463
原创 influxdb-tsdb-engine-tsm1设计文档中英文翻译对照文档
# File StructureA TSM file is composed for four sections: header, blocks, index and the footer.TSM文件由四个部分组成:Header,块,索引和Footer。```┌────────┬────────────────────────────────────┬─────────────┬────...
2018-07-24 19:43:29
495
原创 influxdb-tsdb-engine-tsm1设计文档中文翻译
# File StructureTSM文件由四个部分组成:Header,块,索引和Footer。```┌────────┬────────────────────────────────────┬─────────────┬──────────────┐│ Header │ Blocks │ Index │ Foo...
2018-07-24 19:41:58
648
转载 Bloom Filter布隆过滤器
Bloom Filter简介 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。布隆过滤器(英语:Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的...
2018-07-20 19:34:08
214
转载 BitMap算法
BitMapBitMap从字面的意思,很多人认为是位图,其实准确的来说,翻译成基于位的映射。在所有具有性能优化的数据结构中,大家使用最多的就是hash表,是的,在具有定位查找上具有O(1)的常量时间,多么的简洁优美。但是数据量大了,内存就不够了。当然也可以使用类似外排序来解决问题的,由于要走IO所以时间上又不行。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value,...
2018-07-20 19:21:37
8951
1
原创 influxdb源码阅读之tsdb核心数据结构梳理
go语言版本:1.9.2linux/amd64InfluxDB版本:1.7influxdb存储引擎tsdb代码目录:github.com\influxdata\influxdb\tsdb可以先阅读以下对于tsdb的官方文档。 其采用的存储模型是LSM-Tree模型,对其进行了一定的改造。将其称之为Time-Structured Merge Tree (TSM)当一个point写入...
2018-07-20 15:25:42
2330
1
原创 influxdb源码阅读之服务启动流程
go语言版本:1.9.2 linux/amd64InfluxDB版本:1.7源码路径: github.com/influxdata/influxdb/cmd/influxd程序入口(main.go):influxdb-master\cmd\influxd\main.gofunc (m *Main) Run(args ...string) error { name, args...
2018-07-19 20:53:07
1177
转载 influxdb基本SQL操作
数据库操作显示已存在的所有数据库格式: show databases示例如下:> show databases;name: databasesname----_internal创建新数据库格式: create database <dbname> 说明:dbname : 数据库名称示例如下:> create data...
2018-07-18 19:04:23
30256
转载 influxdb配置文件
配置文件路径 :/etc/influxdb/influxdb.conf可以通过以下命令生成默认配置文件:influxd config > default.confreporting-disabled该选项用于上报influxdb的使用信息给InfluxData公司,默认值为false对应源码文件:influxdb-1.1.0/cmd/influxd/run/co...
2018-07-18 18:54:00
4580
转载 influxdb命令行工具
操作系统 : CentOS7.3.1611_x64go语言版本:1.8.3 linux/amd64InfluxDB版本:1.1.0安装InfluxDB之后,在/usr/bin下会有如下几个文件:influxd influxdb服务器influx influxdb命令行客户端influx_inspect 查看工具influx_stre...
2018-07-18 18:48:36
6714
转载 InfluxDB源码目录结构和数据目结构
InfluxDB源码目录结构解析操作系统 : CentOS7.3.1611_x64go语言版本:1.8.3 linux/amd64InfluxDB版本:1.1.0influxdata主目录结构[root@localhost influxdata]# pwd/root/dev/golib/src/github.com/influxdata[root@localhost ...
2018-07-18 17:31:53
2018
转载 时序数据库技术体系 – InfluxDB TSM存储引擎之数据写入
时序数据库技术体系 – InfluxDB TSM存储引擎之数据写入存储架构 2018-03-27 之前两篇文章笔者分别从TSM File文件存储格式、倒排索引文件存储格式这两个方面对InfluxDB最基础、最底层也最核心的存储模块进行了介绍,接下来笔者会再用两篇文章在存储文件的基础上分别介绍InfluxDB是如何处理用户的写入(删除)请求和读取请求的。在阅读这两篇文章之前,强烈建议看官先...
2018-07-12 22:28:14
594
转载 时序数据库技术体系 – InfluxDB 多维查询之倒排索引
时序数据库技术体系 – InfluxDB 多维查询之倒排索引综合技术 2018-02-09 在 时序数据库概述 一文 中,笔者提到时序数据库的基础技术栈主要包括高吞吐写入实现、数据分级存储|TTL、数据高压缩率、多维度查询能力以及高效聚合能力等,上文《时序数据库技术体系 – InfluxDB存储引擎TSM 》基于InfluxDB存储引擎TSM介绍了时序数据库的 高性能写入能力 以及 基于...
2018-07-12 22:26:34
2366
转载 时序数据库技术体系 – InfluxDB TSM存储引擎之TSMFile
时序数据库技术体系 – InfluxDB TSM存储引擎之TSMFile存储架构 2018-01-13 为了更加系统的对时序数据库技术进行全方位解读,笔者打算再写一个系列专题(嘿嘿,好像之前事务专题还有几篇关于分布式事务的文章没有写完,后续一定会补上)-时序数据库技术专题,详细解读当前主流时序数据库中会涉及到的相关技术点。这个专题前面已经写过三篇暖场文章:《 时序数据库 – 为万物互...
2018-07-12 22:25:02
1167
转载 时序数据库技术体系 – 初识InfluxDB
时序数据库技术体系 – 初识InfluxDB综合技术 2017-12-08 在上篇文章 《时序数据库体系技术 – 时序数据存储模型设计》 中笔者分别介绍了多种时序数据库在存储模型设计上的一些考虑,其中OpenTSDB基于HBase对维度值进行了全局字典编码优化,Druid采用列式存储并实现了Bitmap索引以及局部字典编码优化,InfluxDB和Beringei都将时间线挑了出来,大大降低了Tag...
2018-07-12 22:22:56
1380
转载 时序数据库技术体系-时序数据存储模型设计
时序数据库技术体系-时序数据存储模型设计存储架构 2017-11-19 时序数据库技术体系中一个非常重要的技术点是时序数据模型设计,不同的时序系统有不同的设计模式,不同的设计模式对时序数据的读写性能、数据压缩效率等各个方面都有不同程度的影响。这篇文章笔者将会分别针对OpenTSDB、Druid、InfluxDB以及Beringei这四个时序系统中的时序数据模型设计进行介绍。在详细介绍时序数据模型之...
2018-07-12 22:21:18
2235
转载 influxdb介绍
InfluxDB 是一个时间序列数据库,用于处理海量写入与负载查询。InfluxDB旨在用作涉及大量时间戳数据的任何用例(包括DevOps监控,应用程序指标,物联网传感器数据和实时分析)的后端存储。特点为时间序列数据专门编写的自定义高性能数据存储。 TSM引擎具有高性能的写入和数据压缩Golang编写,没有其它的依赖提供简单、高性能的写入、查询 http api插件支持其它数据写入协议,例如 gr...
2018-07-12 21:54:07
43051
2
转载 InfluxDB详解之TSM存储引擎解析(二)
InfluxDB详解之TSM存储引擎解析(二)上一篇文章主要介绍了 TSM 存储引擎一些相关的概念、组件以及数据存储的目录结构,文件组成结构等内容。这一篇将会尽量从 InfluxDB 源码的角度,深入讲解数据插入、查询、合并等操作的具体流程以及内部数据结构的设计。上一篇文章传送门: 『InfluxDB详解之TSM存储引擎解析(一)』。主要数据结构InfluxDB 中的数据结构主要分为以下几个层次:...
2018-07-12 21:46:47
488
转载 InfluxDB详解之TSM存储引擎解析(一)
InfluxDB详解之TSM存储引擎解析(一)InfluxDB 项目更新比较快,google 了一下网上的一些文档基本上都是简单介绍了一下,而且很多都已经过时了,比如其中使用的 TSM 存储引擎,甚至官方文档上的内容都不是最新的。在源码里的 README 中有最新的设计实现的一些概要说明。 我认为像这样的针对特殊场景进行优化的数据库会是今后数据库领域发展的主流,这里针对 InfluxD...
2018-07-12 21:45:57
2468
转载 leveldb原理与实现
LevelDb日知录之一:LevelDb 101 说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat。这两位是Google公司重量级的工程师,为数甚少的Google Fellow之二。 Jeff Dean其人:http://research.google.com/people...
2018-07-12 15:37:10
208
转载 LSM Tree 学习笔记
LSM Tree 学习笔记最近发现很多数据库都使用了 LSM Tree 的存储模型,包括 LevelDB,HBase,Google BigTable,Cassandra,InfluxDB 等。之前还没有留意这么设计的原因,最近调研时间序列数据库的时候才发现这样设计的优势所在,所以重新又复习了一遍 LSM Tree 的原理。特点总的来说就是通过将大量的随机写转换为顺序写,从而极大地提升了数据写入的性...
2018-07-12 14:40:35
3738
转载 7天学会Maven(第一天——了解 Maven)
转载:http://www.cnblogs.com/haippy/archive/2012/07/04/2576453.html#3924358什么是 Maven?(摘自百度百科)Maven是Apache的一个顶级的项目:http://maven.apache.org/Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它被用来简化项目的构建过程。当时有很多项...
2018-07-11 17:12:03
220
转载 国内的go get问题的解决
go get golang.org/x 包失败解决方法由于各种问题,国内使用 go get 安装 golang 官方包可能会失败,如我自己在安装 collidermain 时,出现了以下报错:$ go get collidermainpackage golang.org/x/net/websocket: unrecognized import path "golang.org/x/net/we...
2018-07-09 16:06:40
27668
转载 golang并发的非阻塞缓存函数返回结果
并发的非阻塞缓存本节中我们会做一个无阻塞的缓存,这种工具可以帮助我们来解决现实世界中并发程序出现但没有现成的库可以解决的问题。这个问题叫作缓存(memoizing)函数(译注:Memoization的定义: memoization 一词是Donald Michie 根据拉丁语memorandum杜撰的一个词。相应的动词、过去分词、ing形式有memoiz、memoized、memoizing),也...
2018-07-08 11:51:58
2517
转载 Linux_shell条件判断if中的-a到-z的意思
Linux_shell条件判断if中的-a到-z的意思 [ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。 [ -...
2018-07-06 16:37:02
199
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅