首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

Apache Cassandra Learning Step by Step (五): 实战性的JTwissandra项目

2012-08-03 
Apache Cassandra Learning Step by Step (5): 实战性的JTwissandra项目在完成了Apache Cassandra的四个基

Apache Cassandra Learning Step by Step (5): 实战性的JTwissandra项目

在完成了Apache Cassandra的四个基本学习步骤之后,可以尝试下实战性的编码了。

?

如有必要,建议再简单回顾一下:

?

Apache Cassandra Learning Step by Step (1)

?

Apache Cassandra Learning Step by Step (2): Core Concepts

?

Apache Cassandra Learning Step by Step (3): Samples ABC

?

Apache Cassandra Learning Step by Step (4): Data Modeling

?

?

?

?

基于第四点的建模思路,接下来我们要做的,就是搭建一个叫做JTwissandra的实战性项目,就是所谓的Java版本的Twissandra了。

?

其目的是为了以Twitter为假想对象,使用最简约(或者直接说简陋得了)的建模和实现,表达采用Apache Cassandra作为NoSQL平台的基本实现过程。

?

JTwissandra的基本编码环境:

1. Maven来管理

2. JUnit来测试

?

3. 基于hector client来作为Apache Cassandra的Java 客户端

?

大家可以通过下面的Github链接,直接clone出来最新的代码:

JTwissandra:?https://github.com/itstarting/jtwissandra

?

也欢迎大家Fork或在这里直接拍砖——反正咱在NoSQL也是新手,脸皮厚点不要紧啦:)

?

1. 首先需要一个HFactoryHelper来初始化并建立Cassandra的客户端连接池和必要的对象:

?

?

?

?

3.4?TweetService

?

?这是个一锅端的测试用例,全部跑一次可以覆盖几乎所有的业务服务逻辑。

?

?

5. 最后,别忘了在跑之前创建必要的schema:

?

drop keyspace JTWISSANDRA;create keyspace JTWISSANDRAwith placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'and strategy_options = [{replication_factor:1}];use JTWISSANDRA;create column family USERwith comparator = UTF8Type   and key_validation_class = UTF8Typeand default_validation_class = UTF8Typeand column_metadata = [{column_name: user_name, validation_class: UTF8Type,    index_name:user_name_idx, index_type:KEYS }{column_name: user_password, validation_class: UTF8Type}{column_name: create_timestamp, validation_class: LongType,   index_name:create_timestamp_idx, index_type:KEYS}];create column family FRIENDwith comparator = LongType   and key_validation_class = UTF8Typeand default_validation_class = UTF8Type;create column family FOLLOWERwith comparator = LongType   and key_validation_class = UTF8Typeand default_validation_class = UTF8Type;create column family TWEETwith comparator = UTF8Type   and key_validation_class = UTF8Typeand default_validation_class = UTF8Typeand column_metadata = [{column_name: user_uuid, validation_class: UTF8Type}{column_name: tweet_content, validation_class: UTF8Type}];create column family TIMELINEwith comparator = LongType   and key_validation_class = UTF8Typeand default_validation_class = UTF8Type;

?

6.?其他?

?

有些咋想,就不贴了吧,略过……有兴趣的可从Github clone下来跑跑看。

?

?

?

==========发现的问题,接下来再谈再讨论,希望有丰富经验的高手前来助阵,去我谜团,谢谢!==========

?

热点排行