Carpenter:开发者应该熟悉几个工具来做数据建模、程序开发和测试。
依我的经验,许多至关重要的决定都是连一行代码都还没写,就依据数据模型做出来了。这就是为什么一定要对Cassandra的数据建模原理有深刻理解的原因所在。也正是由于这个原因,我们在O'Reilly的网站上将书中的这一章免费发布出来了。
就用不同方法来做数据建模和实验来说,我推荐DataStax 。DevCenter是个免费工具,可以让你在运行中的集群上设计模式并执行查询。它是基于Eclipsse IDE平台构建的,所以它的布局和语法高亮规则等对众多开发者来说应该是非常熟悉的。Cassandra的CQL Shell(cqlsh)提供了非常棒的交互式体验,我发现它的语法高亮和保存常用命令的能力可以极大地提高工作效率。它默认也会跟踪所有查询语句,并提供不错的表格式报告来帮你分析日志。这些对于帮助开发者学习Cassandra在底层是怎么工作的,以及避免会导至性能差的等反模式行为非常重要。
这也有助于让你在还没有对一个特别的设计付出过多代价时,就了解你的数据模型在上了规模时会表现如何。我建议使用Cassandra自带的压力测试工具,来生成模拟的读写压力。但这个工具的不足在于对比如UDT(User Defined Types)之类的比较复杂的CQL元素支持不够,但你还是可以用它来获得一些不错的结论。
就写应用程序代码来说,你也会想要有好用的库。以前有许多用不同语言写成的Cassandra,是由不同的人写成的,各自带有不同的功能集。最近几年,DataStarx的开源客户端库开发进行得非常活跃,对Apache Cassandra和DSE分支提供了对许多常用语言的支持。
对于测试,用Python实现的(CCM)是个非常不错的工具,可以在你的本地服务器上运行起最小配置的集群。这对于单元测试和尝试不同的参数设置是非常有用的。
来源: http://www.infoq.com/cn/articles/cassandra-2nd-edition-book-review