MAH*_*AHI 8 sql cassandra nosql
我是Cassandra的新手,一周前开始学习Cassandra.我第一次看到它是NoSQL,但是当我开始使用CQL时,我开始怀疑Cassandra是NoSQL还是SQL DB?
有人可以解释为什么CQL或多或少像SQL?
Buz*_*tti 37
CQL是像SQL一样的声明,并且语言的查询组件的基本结构(选择条件中的条件)是相同的.但是有足够的差异,不应该以与传统SQL相同的方式使用它.
显而易见的事项:1.没有连接或子查询.2.没有交易
不太明显但同样重要的是要注意:
where dateField > TO_TIMESTAMP('2013-01-01','YYYY-MM-DD') 此外,CQL不允许将日期的字符串插入精确到毫秒(仅限秒) - 但它确实允许毫秒输入millis作为long int - 大多数其他数据库引擎不允许的.最后,对于没有时区的长毫秒和字符串格式,无形地捕获时区(作为GMT偏移).这可能会导致那些故意不混淆当地时间+ GMT偏移的系统混淆.update table set field = value; CQL需要带有主键的where子句.select * from www where (str1 = 'foo2') and (dat1 = 12312442);通常,最好使用Cassandra作为一个大的,有弹性的数据永久存储库,可以应用少量非常高级别,非常高性能的查询来拖出要在应用程序层使用的数据子集.该子集可能是100万行,是的.CQL和Cassandra模型不是为具有嵌入式案例,聚合等的2页长SELECT语句而设计的.
CQL DESCRIBE得到的架构keyspace,column family,cluster
CQL不支持我在SQL中已知的某些内容,例如 joins group by triggers cursors procedure transactions stored procedures
CQL3.0支持 ORDER BY
CQL支持所有DML和DDL功能
CQL支持 BATCH
Run Code Online (Sandbox Code Playgroud)BATCH is not an analogue for SQL ACID transactions.
只是上面提到的DOC是最佳参考:)
| 归档时间: |
|
| 查看次数: |
13336 次 |
| 最近记录: |