Learnings while using Apache Cassandra

  • Don’t delete counters => They’re gone forever
  • Define your tables by the queries you want to run (Check read path)
  • Use well defined Primary keys (avoid hotspots)
  • Before shutting down a node run nodetool drain
  • When defining queries in your code never ever use select * from FOO;
  • … To be continued …
Update 1st of December 2016:
  • Consider what queries you want to run on your tables in case of debugging your application or handling incidents. There is nothing more annoying then knowing that all the data you need is there but is not easily accessible. Think before hands which fields you need to correlate, what data you probably need to access and what you want to know in case something goes wrong.