海量数据查询的一些关键技术

MPP架构,数据并行化处理 垂直切分,列式存储,列存储只需要将需要查询的数据列load到内存即可,且列式存储压缩比很高,例如bigtable/hbase等列族数据存储、dremel/impala的parquet数据格式水平切分,数据sharding,DRDS,mycat之类对mysql表进行简...

2016-09-27 00:31:19

阅读数 2475

评论数 0

解决关系数据库的性能问题的几个思路

对于传统的单机数据库rdbms,很难满足海量用户的并发需求,都有哪些技术手段解决 这个问题? 数据库前面加一层分布式缓存 放弃传统的rdbms,采用一个支持持久化存储的分布式的key-value分布式存储 考虑rdbms自身做scale-out,例如读写分离,分库分表 单机的硬件加速,db主机加内...

2016-04-06 11:36:23

阅读数 1044

评论数 0

分布式文件系统的副本分布策略

分布式存储系统中,副本在节点间的分布策略,对于快速定位数据的位置,以及整个系统的网络流量、节点间io负载均衡,非常重要。副本分布策略,大致分为三种: 1.基于统计和监控的副本分布策略; 2.基于一致性hash的副本分布策略; 3.基于伪随机算法的副本分布策略;

2016-04-01 15:34:27

阅读数 2095

评论数 0

深度学习和计算机视觉的一些思考和总结

        做视觉和算法也有一年多了,是时候做一些必要的思考和总结。         最初接触深度学习是这样的,老大打算做一个深度学习框架在云环境下自动化部署的一个项目。之前对云这块还比较熟悉,误打误撞开始接触前段比较火的深度学习领域。这个任务还是比较简单的,只要把一个深度学习训练任务的各个...

2019-01-18 23:28:53

阅读数 16

评论数 0

关于C++的一些思考和总结

        最近一年半的时间,因为工作内容切换的缘故(从Infrastructure切换到DL和CV),开始大量使用C++作为开发工具。这一年多也花了不少时间在机器学习和算法的学习补充和积累上,也没有太多时间深入编程语言领域。年底了,忙里偷闲,这块的功课也可以做一个总结了。        开...

2019-01-18 22:15:03

阅读数 46

评论数 0

开源的OLAP引擎

大数据的声音虽然被AI掩盖,hadoop生态圈的各种轮子已经没有停下来的脚步。最近几天有空,梳理一下各种OLAP的计算和存储框架。 纯计算框架(query engine) Impala C++ cloudera主导 Drill drill的主要特点是支持多种的存储引擎和存储(HDFS HBas...

2017-12-25 20:23:30

阅读数 2171

评论数 0

谈一谈索引技术

熟悉关系数据库的人应该对索引不陌生。单列索引,多列索引,B树索引,位图索引,事务索引,三星索引等等。读研时期导师就说,索引可以作为一个研究课题搞一辈子。撇开最新的理论创新,即使了解过一些的研究成功,坑需要从一些大部头的著作看起。每年VLDB,sigmod上的关于索引的文章也很多。 本文不打算过于...

2017-12-19 15:41:44

阅读数 653

评论数 0

OLAP最新技术前瞻

最近一直忙机器学习,同时兼职一个开源的nosql项目,一直没更新博客。OLAP最近的发展也如火如荼,百度开源的palo,tidb退出的tispark,前段易观的olap比赛。 先列一下几个技术方向,有空后面具体探讨:        1. CBO designed for distributed s...

2017-12-15 11:18:47

阅读数 380

评论数 0

2pc vs 3pc && spanner

2PC的缺点,有很多约束条件,是一个blocking协议。 协调者coordinator,参与者cohort都必须是高可用的,不能永久性故障。 这点无可厚非,这会带来工程实现的复杂度,一般是通过数据复制实现高可用,通过paxos来保持副本一致性。 coordinator、cohort必须把自...

2016-12-07 22:16:57

阅读数 431

评论数 0

raft比较容易混淆的问题

对于写请求,raft是一段提交,只要大部分follower回复append entry success,那么leader就修改本地的commit log index,并回复client成功。从这个角度上看,raft是一段提交。 对于读请求,如果允许follower提供读服务,那么要leader下一...

2016-12-05 20:52:12

阅读数 1339

评论数 0

如何构建一个单机高性能服务器

如何在现代硬件架构下构建一个高性能的服务器软件 从方法论上,可以考虑自底向上(充分利用硬件的特性)和自顶向下(从应用本身的特点考虑)两个维度来思考 自底向上 硬件层 增加程序并行程度,充分利用多核效率减少RISC架构下分支预测失败的概率(intel cpu也是采用了指令流水线和分支预测...

2016-10-26 15:16:35

阅读数 1012

评论数 0

数据结构和算法的一些小结

索引      通过数据的冗余和预计算,以减少io次数和逻辑判断的消耗,最终提高查询的速度。 索引的副作用      索引的加载、修改,会带来额外的IO和锁的消耗。 协程      把cpu的调度和上下文切换的工作,交给程序员控制的应用代码,而不是OS内核或者虚拟机,主要应用于RPC调用比较多的...

2016-10-26 13:10:22

阅读数 289

评论数 0

Flash卡的技术入门

背景知识: Flash卡的硬件基础是闪存颗粒nand,nand跟RAM(main memory)比,其电器特性有很大不同。nand不能支持直接写入,必须先擦除之前的数据,然后再写入;nand对于擦除的次数是有限制的,超过多少次之后不保证写入的数据可以正确读出。 目前国内一线电商公司已经在带...

2016-10-20 19:41:40

阅读数 655

评论数 0

常见的join算法

大表的Join算法无论在传统的关系数据库、在OLAP数据仓库还是在离线批处理系统中都是至关重要的一个算法。大表Join利用的数据冗余特性(join列在两个表都做存储),为用户的数据统计需求,提供了一个单间的视图,不需关心底层数据的存储格式、join的处理过程等等。 关于Join算法的选择、多表Jo...

2016-10-17 12:41:41

阅读数 2907

评论数 0

小众技术书籍推荐

主要推荐一些不是太有名气但是比较专业非常值得一看的书籍,有些可能没有中文译本: 《大规模web开发技术》 主要讲了hatena如何从一个很小的网站发展成为一个大规模网站的技术历程,遇到了哪些问题,采用了哪些技术;对于致力于web网站架构方面具有很大意义。hetana主要是一个博客类网站,涉及技术跟...

2016-10-13 23:13:33

阅读数 378

评论数 0

DPDK关键技术点

DPDK是intel推出的高效的zero-copy的发包工具,许多同学对其中的关键技术并不太了解,这里罗列一些粗略的技术点,感兴趣的可以针对其中某些点深入研究。 补充一点,intel最近推的SPDK跟DPDK类似,SPDK是跨设备IO,SPDK更复杂,需要考虑读写冲突、IO调度和不同硬件特性的优...

2016-10-13 11:47:05

阅读数 2526

评论数 0

为什么redis中会采用skiplist

redis既然是单线程,采用skiplist作为索引,相对于传统的红黑树而言,查询速度相仿,优势在哪里 关键在于redis是一个经常需要做插入删除操作的kv容器。redis有超时剔除机制,需要对key维护一个时间维度的索引或者队列,剔除超时的记录。剔除同时就需要对索引进程插入删除操作 sk...

2016-10-13 11:01:32

阅读数 511

评论数 0

数据削重的利器--cuckoo filter

最近再看Bloom Filter的删除问题,偶然间看到cuckoo filter的数据结构。Bloom Filter的思想是通过多维hash的办法,降低hash冲突的概率.。Basic Bloom Filter仅存储位图信息,只能判断一个key是否在集群内,可能存在假阳性(false positi...

2016-10-13 10:48:19

阅读数 2198

评论数 0

网络硬件的一些认识

假期时间看了一本介绍网络硬件的书《图解网络硬件》,作者日本的,文笔比较朴实,干货不少,网络硬件设备的发展历史介绍的比较详细。之前对于网络设备的有些零散的认识,比如mac地址学习,vlan,路由协议之类,没有系统的学习过。最近搞docker相关的sdn研究,刚好凑这个机会对完了过做了一次系统的学习,...

2016-10-10 11:50:17

阅读数 259

评论数 0

RDBMS实现技术的难点--专业的DBA需要了解哪些

系统软件中,RDBMS技术实现和运用掌握,可以说是最为困难的一个,甚至不是之一。       操作系统内核,涉及底层技术和算法,不同操作系统的发展殊途同归,在关键的数据结构和算法上的选择基本是一致,不那么容易让人产生混淆。linux的迅速发展中就借鉴了很多Unix/Solaris的技术。     ...

2016-10-02 21:25:41

阅读数 326

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭