If you're a relational database developer (as I am), I'd suggest/point out:
- Get some experience working with Cassandra before you commit to its use on a production system... especially if that production system has a hard deadline for completion. Maybe use it as the backend for something unimportant first.
- It's proving more challenging than I'd anticipated to do simple things that I take for granted about data manipulation using SQL engines. In particular, indexing data and sorting result sets is non-trivial.
- Data modelling has proven challenging as well. As a relational database developer you come to the table with a lot of baggage... you need to be willing to learn how to model data very differently.
These things said, I strongly recommend building something in Cassandra. If you're like me, then doing so will challenge your understanding of data storage and make you rethink a relational-database-fits-all-situations outlook that I didn't even realize I held.
Some good resources I've found include:
- Dominic Williams' Cassandra blog posts
- Secondary Indexes in Cassandra
- More from Ed Anuff on indexing
- Cassandra book (not fantastic, but a good start)
- "WTF is a SuperColumn" pdf