摘要:
记录UMLhttp://cloud.ozyegin.edu.tr/Hadoop-UML-Diagrams/Documentation/html/d2/d77/namespaceorg_1_1apache_1_1hadoop_1_1hdfs.htmljava code: TestUtilhttp://grepcode.com/file/repository.cloudera.com/content/repositories/releases/org.apache.hadoop/hadoop-test/0.20.2-cdh3u1/org/apache/hadoop/hdfs/DFSTestUtil 阅读全文
摘要:
常用的数据结构包括:数组,队列,堆栈,链表,树(平衡二叉树,B树,Trie树,堆),哈希表,图,后缀数组,等等。其中,堆,图结构,Trie树及后缀数组解决特定问题,其它数据结构解决通用的查找,更新,删除操作。查找,更新和删除操作一般是O(1),O(logN)或者O(N),通用的数据结果大致可分为如下三种:1, 极端型;某些操作的算法复杂度为O(1),另外一些算法复杂度为O(N),比如有序链表查找复杂度为O(N),更新和删除为O(1);2, 平衡型:主要操作的复杂度为O(logN),比如平衡二叉树及各种变种,B树的查找,更新和删除操作的复杂度都为O(logN);3, 取巧型:主要指哈希表,最差情 阅读全文
摘要:
本文链接地址:http://www.nosqlnotes.net/archives/222互联网架构中缓存无处不在,某厂牛人曾经说过:”缓存就像清凉油,哪里不舒服,抹一下就好了”。高品质的存储容量小,价格高;低品质存储容量大,价格低,缓存的目的就在于”扩充”高品质存储的容量。本文探讨缓存相关的一些问题。LRU替换算法缓存的技术点包括内存管理和替换算法。LRU是使用最多的替换算法,每次淘汰最久没有使用的元素。LRU缓存实现分为两个部分:Hash表和LRU链表,Hash表用于查找缓存中的元素,LRU链表用于淘汰。内存常以Slab的方式管理。上图是Memcache的内存管理示意图,Memcache以 阅读全文
摘要:
Google文件系统(Google File System,GFS)是构建在廉价的服务器之上的大型分布式系统。它将服务器故障视为正常现象,通过软件的方式自动容错,在保证系统可靠性和可用性的同时,大大减少了系统的成本。GFS是Google云存储的基石,其它存储系统,如Google Bigtable,Google Megastore,Google Percolator均直接或者间接地构建在GFS之上。另外,Google大规模批处理系统MapReduce也需要利用GFS作为海量数据的输入输出。系统架构GFS将整个系统的节点分为三种角色:GFS Master(总控服务器),GFS Chunkserve 阅读全文
摘要:
主要参考文献事务日志对现有主要的单机事务日志进行解析。两阶段提交描述原始的两阶段提交Large-scale Incremental Processing Using Distributed Transactions and Notifications两段提交在Google实时检索中的应用,对于理解分布式、两段提交至关重要,强烈建议阅读How to Build a Highly Available System Using Consensus分布式一致性的基础概念,区分容易混淆的概念,如果之前有分布式的一些知识,这篇论文具有醍醐灌顶的作用Paxos: The Part-Time Parliame 阅读全文
摘要:
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的分配到各个reduce中,就是解决数据倾斜的根本所在。规避错误来更好的运行比解决错误更高效。在查看了一些资料后,总结如下。1数据倾斜的原因1.1操作:关键词情形后果Join其中一个表较小,但是key集 阅读全文
摘要:
摘要:在平时的mysql应用中,总会碰到导入数据,导出数据,当然有很多方法,这篇文章,主要介绍应用mysqlmysqldump命令进行数据导入导出,希望对大家有所帮助。一、mysql导入文件或数据或执行相关SQLmysql -h主机地址 -u用户名 -p用户密码1. 文件形式。(shell命令行)mysql -u root -p dbname < filename.sql2. 直接放在命令行(shell命令行)执行一个sqlmysql -hhostname -uusername -p dbname -e 'select * from tbname limit 1'执行后命 阅读全文
摘要:
本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。有关HBase系统配置级别的优化,这里涉及的不多,这部分可以参考:淘宝Ken Wu同学的博客。1. 表的设计1.1 Pre-Creating Regions默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照region分区情况,在集群内做数据的负载均衡。有关预分区,详情参见:Table Cre 阅读全文
摘要:
阅读目录开始Cookie 概述Cookie的写、读过程使用Cookie保存复杂对象Js中读写CookieCookie在Session中的应用Cookie在身份验证中的应用Cookie的安全状况如何在C#发请的请求中使用Cookie重构与使用总结补充Cookie虽然是个很简单的东西,但它又是WEB开发中一个很重要的客户端数据来源,而且它可以实现扩展性很好的会话状态, 所以我认为每个WEB开发人员都有必要对它有个清晰的认识。本文将对Cookie这个话题做一个全面的描述, 也算是我对Cookie的认识总结。回到顶部Cookie 概述Cookie是什么?Cookie 是一小段文本信息,伴随着用户请求和 阅读全文
摘要:
云计算资源分享与下载2010-12-31 08:25 by 圣殿骑士一. 摘要 自从上一篇实战第一个云程序之后,我就没有再发布云计算相关的文章,这些天重新整理了一下草稿箱,发现这个系列有很多篇都存了大半年了,一直没有整理发布出来,今天就先发布这篇“云计算资源分享与下载”,希望能给大家带来一些参考和帮助。这篇文章对于学习系统学习云计算有很好的指导作用,尤其是大量的书籍、视频和相关社区网站的介绍,但是由于我比较热衷于微软的Azure平台的研究和推广,针对其他厂商的云计算产品,我只是很粗浅的了解了其概念及简单使用,并没有做深入的研究,所以如果后续发布的云计算相关文章也会集中在Azure上。二. 本. 阅读全文