数据库
文章平均质量分 56
百科全书学派
热衷技术,喜欢交流, 立志于IT领域的百科全书,分布式存储技术爱好者。
业余爱好是自然语言处理和机器学习。
微博 http://weibo.com/u/2708980410?refer_flag=1005055010_&is_all=1
展开
-
谷歌技术栈(old)和业界的对比
假期第一天下大雨没出门,顺便写下技术博客。 上面的是google的技术栈,可以自行google搜索。已经比较老了,比如F1、TensorFlow还没有加进来。 自底向上的分析吧分布式锁和统一配置管理开源社区的从最初的zk到etcd,已经有很多选择,有的分布式系统中还会自己造个轮子(例如ceph的ceph monitor)。zk有自己的zab协议,原创 2016-10-01 13:07:14 · 1930 阅读 · 0 评论 -
解决关系数据库的性能问题的几个思路
对于传统的单机数据库rdbms,很难满足海量用户的并发需求,都有哪些技术手段解决 这个问题?数据库前面加一层分布式缓存放弃传统的rdbms,采用一个支持持久化存储的分布式的key-value分布式存储考虑rdbms自身做scale-out,例如读写分离,分库分表单机的硬件加速,db主机加内存,存储换成pcie-ssd/全闪存阵列原创 2016-04-06 11:36:23 · 1564 阅读 · 0 评论 -
OLAP最新技术前瞻
最近一直忙机器学习,同时兼职一个开源的nosql项目,一直没更新博客。OLAP最近的发展也如火如荼,百度开源的palo,tidb退出的tispark,前段易观的olap比赛。先列一下几个技术方向,有空后面具体探讨: 1. CBO designed for distributed storage 2. code gen 3. vector acc原创 2017-12-15 11:18:47 · 764 阅读 · 0 评论 -
常见的join算法
大表的Join算法无论在传统的关系数据库、在OLAP数据仓库还是在离线批处理系统中都是至关重要的一个算法。大表Join利用的数据冗余特性(join列在两个表都做存储),为用户的数据统计需求,提供了一个单间的视图,不需关心底层数据的存储格式、join的处理过程等等。关于Join算法的选择、多表Join的顺序等问题,涉及到比较复杂的查询优化的技术,采用了动态规划、遗传算法、启发式搜索等比较前沿性技原创 2016-10-17 12:41:41 · 6408 阅读 · 0 评论 -
海量数据查询的一些关键技术
MPP架构,数据并行化处理垂直切分,列式存储,列存储只需要将需要查询的数据列load到内存即可,且列式存储压缩比很高,例如bigtable/hbase等列族数据存储、dremel/impala的parquet数据格式水平切分,数据sharding,DRDS,mycat之类对mysql表进行简单的分表query predicate push down,查询谓词下推,在一个查询原创 2016-09-27 00:31:19 · 3883 阅读 · 0 评论 -
关于快照隔离和幻影读的一些深入思考
大家知道mysql的隔离级别有四种:read uncommitted,read committed,read repeatable,serializable 对于前面三种的区别,比较容易理解,不在赘述。关键是第三种个第四种的区别,不太好理解。 这里举个前段时间微信公众号上看到的一个例子大致是这么说的:table credit上面记录了每个用户的消费记录,原创 2016-10-01 14:05:58 · 2428 阅读 · 0 评论 -
关系数据库实现的一些基本技术
ACID的一些关键技术redolog undologMVCC基于乐观锁的并发控制2PC基于悲观锁的并发控制cache buffer double write索引技术B+树索引事务索引聚簇索引多维索引LSM-tree索引COLA-B+tree索引fractal tree索引位图索引BloomFitlter索引查询优化rule basedcost based原创 2016-09-27 13:13:17 · 523 阅读 · 0 评论 -
Flash卡的技术入门
背景知识:Flash卡的硬件基础是闪存颗粒nand,nand跟RAM(main memory)比,其电器特性有很大不同。nand不能支持直接写入,必须先擦除之前的数据,然后再写入;nand对于擦除的次数是有限制的,超过多少次之后不保证写入的数据可以正确读出。目前国内一线电商公司已经在带规模使用Flash卡,主要作为关系数据库的持久化存储设备,甚至有跑nosql的。带来的技术原创 2016-10-20 19:41:40 · 2186 阅读 · 0 评论 -
关于redis的一些总结
redis是一个全内存的数据结构服务器:支持多种常用数据结构,例如list set hash map 多种内存索引(hash索引,skip list,rtree索引、组合索引、二级索引等)可以灵活的配置数据的存储格式(是否进行压缩)支持多种计算功能,如简单的集合的交并补,排序等redis对于持久化的支持有两种,一种AOF(append only file),一种RDB。AOF是原创 2016-09-30 21:45:56 · 387 阅读 · 0 评论 -
RDBMS实现技术的难点--专业的DBA需要了解哪些
系统软件中,RDBMS技术实现和运用掌握,可以说是最为困难的一个,甚至不是之一。 操作系统内核,涉及底层技术和算法,不同操作系统的发展殊途同归,在关键的数据结构和算法上的选择基本是一致,不那么容易让人产生混淆。linux的迅速发展中就借鉴了很多Unix/Solaris的技术。 不同的关系数据库,对于关键技术的实现由很大不同,提高了使用者的技术门槛,其使用方法和试用场景也原创 2016-10-02 21:25:41 · 612 阅读 · 0 评论 -
谈一谈索引技术
熟悉关系数据库的人应该对索引不陌生。单列索引,多列索引,B树索引,位图索引,事务索引,三星索引等等。读研时期导师就说,索引可以作为一个研究课题搞一辈子。撇开最新的理论创新,即使了解过一些的研究成功,坑需要从一些大部头的著作看起。每年VLDB,sigmod上的关于索引的文章也很多。本文不打算过于深入,针对常见的一些索引技术做一些总结,算是入门知识吧。最常见的两种索引数据结构是B+树和LSM-原创 2017-12-19 15:41:44 · 1632 阅读 · 0 评论