[i=s] 本帖最后由 jieforest 于 2012-12-19 15:31 编辑
I am going to show you how I went about solving how to persist instances in Cassandra, using Hector, in the function insert(instance) in Scala. To work out how these instances are going to be persisted, I shall use type classes. More than just the code, I will explain & show every step of my design.
Crash course in Cassandra
Cassandra is a schema-free database; to understand it, here are the most important concepts and their loose mapping to the relational databases counterparts:
keyspace – schema; database
column family – table, with key and rows
key – primary key
row – collection of columns; the rows in the column family may have completely different columns
column – column
When inserting data into Cassandra, we must be able to serialise the data to be inserted. To do that, we must know the key type and the names and types of all columns.
Back to Scala
Let’s turn back to our insert(instance) function. Intuitively, we would understand what should happen if we were to insert a simple case class:
2.password: String,
3.firstName: String,
4.lastName: String,
5.id: UUID)
I am going to show you how I went about solving how to persist instances in Cassandra, using Hector, in the function insert(instance) in Scala. To work out how these instances are going to be persisted, I shall use type classes. More than just the code, I will explain & show every step of my design.
Crash course in Cassandra
Cassandra is a schema-free database; to understand it, here are the most important concepts and their loose mapping to the relational databases counterparts:
keyspace – schema; database
column family – table, with key and rows
key – primary key
row – collection of columns; the rows in the column family may have completely different columns
column – column
When inserting data into Cassandra, we must be able to serialise the data to be inserted. To do that, we must know the key type and the names and types of all columns.
Back to Scala
Let’s turn back to our insert(instance) function. Intuitively, we would understand what should happen if we were to insert a simple case class:
CODE:
1.case class User(username: String,2.password: String,
3.firstName: String,
4.lastName: String,
5.id: UUID)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/301743/viewspace-751354/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/301743/viewspace-751354/