摘要:平时做Python开发主要采用vi,由于之前大多开发Java,所以也用pydev。比较熟悉eclipse。但是,在使用pydev的时候,经常出现找不到module的错误,有的提示错误,可以运行,有的干脆真的找不到,无法启动Python程序。如何解决呢?很简单,如下图: 在设置中找到PyDev下的Interpreter Python选项,右边点击New Folder,选择按照的module目录,比如上图高亮的,就是我安装的pymongo的目录。然后“Apply”应用即可。此法屡试不爽。 【完】
阅读全文
摘要:有关Cassandra Compaction,我写了好多的博客。这是为什么呢?原因很简单,因为Compaction在实际应用中,影响巨大。而且似乎探讨这方面的文章还比较少。 这篇文章不是翻译的,而是要写我自己的经验,我悲催的发现,凡是写自己总结的经验,文章就会很短。我本来打算Leveled Compaction和SizeTiered Compaction的改进分开些,可是自己掂量了一下,都很少,几句话、甚至一句话就搞定了。所以我不得以把原本两篇文章合到一起写。尽管也不错,但是绝对是我的实践经验,希望对大家有帮助。 SizeTiered Compaction改进 SizeTierd Compac
阅读全文
摘要:Hinted Handoff在读Dynamo论文的时候,对这个名字就不是很理解。现在要深入了解Cassandra,想要翻译这个词,在网上找了一下,大概两种翻 译:1)提示移交;2)永远可写入。我比较倾向于第一个翻译,因为对于Cassandra,永远可写入并不总是成立的。不过,作为专有的名词出现,我在下 文就不进行翻译了。【正文开始】Hinted Handoff作为写操作的可选的一部分,主要目的是当不要求一致性的时候,提高写的高可用性。其次,Hinted Handoff缩短了暂时失败的节点恢复一致的时间。尤其是在一些奇怪的网络问题下,更加有用。(网络短时间不可用之类)Hinted Handoff
阅读全文
摘要:这篇博客需要对SSD有一定了解,我这里没有详细讨论SSD相关的问题,某些概念不了解自行google,或者留言讨论。Cassandra最大的特点就是将随机写巧妙的转换为顺序写。memtable达到一定大小之后,flush到磁盘(可以是SSD,通常是HDD)。这个特性,对Cassandra在SSD上的应用,带来了天然的优势。现在Cassandra部署情况,较常用的方式是内存+HDD,或者有钱一些的公司内存+SSD。后者主要是想通过SSD随机读的优异表现提升读的性能(大概是HDD的100倍)。但是,我们知道,根据数据局部性原理,数据的热点是永远存在的。所以,全部数据放在SSD上是比较浪费的。除了数据
阅读全文