上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 19 下一页

大数据与复杂网络

摘要: 写这篇文章,有两个原因: 看了李院士的《大数据研究的科学价值》,有些感触。 我自己做了一段时间社交,也有一些想法。 之前也写过复杂网络的东西,但是都非常肤浅,没有真正的理解复杂网络,近期看了一些资料,有了进一步的理解。 李院士的文章,是从科学家的角度,理解大数据的价值。从文章中,我了解到以下几点: 阅读全文
posted @ 2012-11-05 17:16 见路非道 阅读(4008) 评论(8) 推荐(0)

一些不常见但是很重要的数据结构

摘要: 这篇文章是stackoverflow的一篇帖子。上面提到了很多有用的数据结构。有的听过了,经常用,有的没有听过,记录下来。Trie树。应用比较多,一个比较cool的trie的应用TRASH-A dynamic LC-trie and hash data structure。Bloom filter。wiki链接删除某一项是不允许的,不过可以实现可计数的counting bloom filter在BigTable,Cassandra中都有使用可以用来快速检查是否拼写错误Rope:rope 数据结构表示不能修改的字符序列,与 Java 的 String非常像。但是 ropes 效率奇高的字符串变换 阅读全文
posted @ 2012-10-12 11:00 见路非道 阅读(2445) 评论(0) 推荐(1)

Cassandra——一些比较和回想

摘要: 这篇文章,包含了一些技术,包含了一些回忆。今天看了360的有关Cassandra实践的ppt,有一些感想。让我想起了两年前的一些事情,不过那时,我做的不是存储,而主攻的分布式检索。后来一系列变化,我也经历了很多,后来安下心来,做存储优化,优化的对象就是Cassandra,这也有一年多的时间。理论深厚,心得颇丰,可是仍然缺乏一线经验积累。看到360这么大规模的应用Cassandra,我很高兴。尽管,没有一同战斗,但是我很欣慰,很开心。Cassandra终于摆脱阴影,站起来了。Cassandra在360部署有1500台服务器。国内首屈一指了,还有一家部署规模在这一半左右。不过,单个Cassandr 阅读全文
posted @ 2012-09-18 16:03 见路非道 阅读(1022) 评论(1) 推荐(0)

理解Hotspot JVM CMS垃圾回收器【译】

摘要: 最近在看Cassandra的内存管理方式,Cassandra默认采用的老年代GC回收策略是CMS,以及采用了Slab Allocator的内存分配方式。采用了Slab Allocator的内存分配方式,大大缩短了GC的时间,据说有1000倍。很吸引人。所以,我要深入研究一下这部分。这部分的实际驱动并不大,可能研究并不十分深入。下面有关CMS GC的部分大多是翻译自Understanding GC pauses in JVM, Hotspot's CMS collector.此外,还有我之前的一些理解。在以后的博客中,我会对JVM平台的延迟问题进行深入的研究。而且,我相信,这并不是一个陈 阅读全文
posted @ 2012-09-14 18:17 见路非道 阅读(2939) 评论(1) 推荐(1)

Cassandra如何决定flush memtable的大小

摘要: 一个多月没有更新博客了。我在积累,频繁更新的话,就没有东西写了-_-。不过还是要定期的总结,以备忘,以分享,以交流,以提高。这篇博客说的问题是Cassandra在memtable flush为sstable的时候,大小是如何计算的,以及flush的阈值是如何确定的。这个过程是动态的,并不是设定某个内存的大小,或者qps多少的时候,进行flush。一方面计算过程可能并不那么直接,另一方面1.1.3版本之前,这里隐藏了比较严重的bug:可能会造成内存溢出(很严重)可能会造成L0层的sstable文件很小(长期来看,也比较严重,严重影响读性能)可能会有以下的日志:WARN[MemoryMeter:1 阅读全文
posted @ 2012-09-11 11:39 见路非道 阅读(1278) 评论(0) 推荐(0)

webbench使用

摘要: 整理自:原文1 和 原文2最近需要做一些简单的测试,发现webbench这个小工具非常好用。 wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gztar zxvf webbench-1.5.tar.gzcd webbench-1.5make && make install遇到错误解决:/bin/sh: ctags: command not foundapt-get install ctagscc: Command not foundapt-get install gcccannot create re 阅读全文
posted @ 2012-08-01 13:08 见路非道 阅读(379) 评论(0) 推荐(0)

pydev找不到module解决办法

摘要: 平时做Python开发主要采用vi,由于之前大多开发Java,所以也用pydev。比较熟悉eclipse。但是,在使用pydev的时候,经常出现找不到module的错误,有的提示错误,可以运行,有的干脆真的找不到,无法启动Python程序。如何解决呢?很简单,如下图: 在设置中找到PyDev下的Interpreter Python选项,右边点击New Folder,选择按照的module目录,比如上图高亮的,就是我安装的pymongo的目录。然后“Apply”应用即可。此法屡试不爽。 【完】 阅读全文
posted @ 2012-07-27 23:04 见路非道 阅读(901) 评论(0) 推荐(0)

Cassandra Compaction的改进

摘要: 有关Cassandra Compaction,我写了好多的博客。这是为什么呢?原因很简单,因为Compaction在实际应用中,影响巨大。而且似乎探讨这方面的文章还比较少。 这篇文章不是翻译的,而是要写我自己的经验,我悲催的发现,凡是写自己总结的经验,文章就会很短。我本来打算Leveled Compaction和SizeTiered Compaction的改进分开些,可是自己掂量了一下,都很少,几句话、甚至一句话就搞定了。所以我不得以把原本两篇文章合到一起写。尽管也不错,但是绝对是我的实践经验,希望对大家有帮助。 SizeTiered Compaction改进 SizeTierd Compac 阅读全文
posted @ 2012-07-11 00:38 见路非道 阅读(1191) 评论(0) 推荐(0)

理解Hinted Handoff

摘要: Hinted Handoff在读Dynamo论文的时候,对这个名字就不是很理解。现在要深入了解Cassandra,想要翻译这个词,在网上找了一下,大概两种翻 译:1)提示移交;2)永远可写入。我比较倾向于第一个翻译,因为对于Cassandra,永远可写入并不总是成立的。不过,作为专有的名词出现,我在下 文就不进行翻译了。【正文开始】Hinted Handoff作为写操作的可选的一部分,主要目的是当不要求一致性的时候,提高写的高可用性。其次,Hinted Handoff缩短了暂时失败的节点恢复一致的时间。尤其是在一些奇怪的网络问题下,更加有用。(网络短时间不可用之类)Hinted Handoff 阅读全文
posted @ 2012-07-09 22:35 见路非道 阅读(2833) 评论(0) 推荐(0)

Cassandra三级存储构想

摘要: 这篇博客需要对SSD有一定了解,我这里没有详细讨论SSD相关的问题,某些概念不了解自行google,或者留言讨论。Cassandra最大的特点就是将随机写巧妙的转换为顺序写。memtable达到一定大小之后,flush到磁盘(可以是SSD,通常是HDD)。这个特性,对Cassandra在SSD上的应用,带来了天然的优势。现在Cassandra部署情况,较常用的方式是内存+HDD,或者有钱一些的公司内存+SSD。后者主要是想通过SSD随机读的优异表现提升读的性能(大概是HDD的100倍)。但是,我们知道,根据数据局部性原理,数据的热点是永远存在的。所以,全部数据放在SSD上是比较浪费的。除了数据 阅读全文
posted @ 2012-07-02 17:32 见路非道 阅读(708) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 19 下一页