摘要:Hadoop 作为MR 的开源实现,一直以动态运行解析文件格式并获得比MPP数据库快上几倍的装载速度为优势。不过,MPP数据库社区也一直批评Hadoop由于文件格式并非 为特定目的而建,因此序列化和反序列化的成本过高[7]。本文介绍Hadoop目前已有的几种文件格式,分析其特点、开销及使用场景。希望加深读者对 Hadoop文件格式及其影响性能的因素的理解。 阅读全文
转载系列之二:NoSQL 数据建模技术
2012-05-19 23:28 by Haippy, 1789 阅读, 0 推荐, 收藏, 编辑
摘要:NoSQL 数据库经常被用作很多非功能性的地方,如,扩展性,性能和一致性的地方。这些NoSQL的特性在理论和实践中都正在被大众广泛地研究着,研究的热点正是那些和性能分布式相关的非功能性的东西,我们都知道 CAP 理论被 很好地应用于了 NoSQL 系统中(陈皓注:CAP即,一致性(Consistency), 可用性(Availability), 分区容忍性(Partition tolerance),在分布式系统中,这三个要素最多只能同时实现两个,而NoSQL一般放弃的是一致性)。但在另一方面,NoSQL的数据建模技术却 因为缺乏像关系型数据库那样的基础理论没有被世人很好地研究。这篇文章从数据建模方面对NoSQL家族进行了比较,并讨论几个常见的数据建模技术。 阅读全文
我常用的Latex中文报告模板(一)
2012-05-18 10:26 by Haippy, 109023 阅读, 7 推荐, 收藏, 编辑
摘要:不得不说,使用Latex编写文档效率会提升很多。但是,如果没有好的模板,自己从零开始动手完成一份Latex文档还是得花费不少时间和精力的,所以,为了提高文档和技术报告的编写效率,我为自己准备了以下的Latex模板,并附图如下 阅读全文
(转载)从 Java 代码到 Java 堆
2012-05-01 22:25 by Haippy, 708 阅读, 1 推荐, 收藏, 编辑
摘要:本文将为您提供 Java™ 代码内存使用情况的深入见解,包括将 int 值置入一个 Integer 对象的内存开销、对象委托的成本和不同集合类型的内存效率。您将了解到如何确定应用程序中的哪些位置效率低下,以及如何选择正确的集合来改进您的代码。 阅读全文
The Log-Structured Merge-Tree(译)(转载)
2012-01-14 09:35 by Haippy, 2356 阅读, 0 推荐, 收藏, 编辑
摘要:随着NoSql系统尤其是类BigTable系统的流行,LSM-Tree这个名词也开始变得不再陌生。相信大多数了解NoSql系统的人,基本上都会听到 过LSM-Tree这个名词,但是读过其原始论文的人估计就不是很多了。在我看来,LSM-Tree之于BigTable的重要性就像一致性hash之于 Dynamo。溯本求源一向是本人的追求,希望可以从最初的文字中找到蕴含在结构之下的更多思考。老实说,这篇论文也算是很长的了,原文共30页,涉及了 不少公式,因此翻起来也不会那么简单。 阅读全文
LRU算法的简单实现( C语言 + uthash包)
2012-01-12 21:20 by Haippy, 6027 阅读, 0 推荐, 收藏, 编辑
摘要:LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的,LRU算法的提出,是基于这样一个事实:在前面几条指令中使用频繁的页面很可能在后面的几条指令中频繁使用。 阅读全文
Learning by doing 系列文章(之一)如何在 Python 中使用 epoll ?
2012-01-11 17:27 by Haippy, 2061 阅读, 2 推荐, 收藏, 编辑
摘要:Python 在 2.6 版中引入了用于处理Linux epoll系统调用的API,本文简单地介绍 python 中与 epoll 有关的 API,欢迎大家提出问题。 阅读全文
epoll 使用详解
2012-01-09 16:32 by Haippy, 45324 阅读, 9 推荐, 收藏, 编辑
摘要:epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的 select 和 poll 系统调用完成操作所需 O(n) 不同, epoll能在O(1)时间内完成操作,所以性能相当高),epoll 与 FreeBSD的kqueue类似,都向用户空间提供了自己的文件描述符来进行操作。 阅读全文