Cassandra 2.x 的 CQL 和 Cassandra 1.2 的 CQL 有什么区别

What is difference between CQL for Cassandra 2.x and CQL for Cassandra 1.2

我是 Cassandra 的新手,所以我已经开始使用当前版本的 CQL(Cassandra 2.x)。所以我想要 CQL for Cassandra 2.x 和 CQL for Cassandra 1.2 之间的主要区别。

基于 http://www.datastax.com/documentation/cql/3.1/cql/cql_intro_c.html (and its differences from http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/about_cql_ref_c.html) 的主要区别是:

  • 在 INSERT 和 UPDATE 中使用 IF 关键字的轻量级事务 声明。
  • 初步支持触发器。
  • ALTER TABLE DROP 命令,已在早期版本中删除。
  • 列别名,类似于 RDBMS SQL 中的别名,在 SELECT 语句中。
  • 任何部分的索引、分区键或集群列、复合主键的一部分。
  • Cassandra 2.0 的 CQL 弃用了超级列。 Cassandra 继续支持查询超级列的应用程序,将超级列动态转换为 CQL 结构和结果。
  • 已删除 ASSUME 命令。
  • COPY 命令支持集合。
  • 新 CQL table 属性:default_time_to_livememtable_flush_period_in_mspopulate_io_cache_on_flushspeculative_retry