CQL基本语法介绍|学习笔记

简介: 快速学习CQL:CQL基本语法介绍

开发者学堂课程【Cassandra数据库入门与实战CQL:实战快速搭建弹性web应用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/784


CQL基本语法介绍

 

一、Cassandra简单介绍

1、Casandra的历史

Casandra的数据库是来自于两篇论文,其中之一是07年亚马逊发表的一篇Dynamo ,在他上面吸取了分布式的架构和思想,另一篇是谷歌的Bigtable,吸取了数据的组织的格式以及表的各种组织的格式。

总体架构

image.png

Cassandra的特性是能做到线性扩展,原因是因为他有一个去中心化的架构,他可以做到高可用,高可用主要是因为它是高副本的,能够保证它的可用性,还有一个是他超高的性能,这取决于它底层的LSM Tree Storage

图片的左边是一个环,这个还叫DHD环,这个环上有五个节点,每个节点把这个还进行了一个划分,它的每一部分节点都对应一部分数据范围。节点把进行均匀的切分,能够保证每一个节点负责的范围是相对均匀的,这是他分布式层面的情况。

2Cassandra的初步认识

image.png

在图的左边有abcde五个节点,单独分解b这个节点对应的组成模块,可以看到,最上层是网络层,下面是c ql parser,这个板块是CQL语言进行解析的一个模块,将CQL语言转换成编译的结果。

二、Cassandra CQL介绍

1CQL是什么?

image.png

上图我们可以看到用Hbase k v apiCQL,去写一条数据的差别,CQL可以简单的写出一条数据,这是一个最原始的社区为什么要做一个cql的原因,就是让用户操作数据库简单化。

CQL总体介绍

Data type,定义的一些比较基础的数据类型,包括他自己实现的集合数据类型,除此之外,还有DDL/DML/ACL,这是他操作数据库一些基本的定义。

2、CQL的几个概念

Cluster,意思是集群最大的储存单位,Datecenter,是数据中心,一个cluster可以包含多个DCKeyspace是键值空间,类似mysqldata base,定义了数据存储的副本策略,摆放策略下面包括多个表,所有表都遵循key pace的摆放策略;Table,意义是表,类似mysqltable,定义基本的表结构;Primary key意义是主键,可以唯一确定一行数据,由partition keycluster key ke共同组成;Partition key是分区间,可以确定数据存储的节点;Cluster key意义是cluster键,可以在partition下进行排序,范围操作等;Regular column意义是普通列数据列。

1CQL date type

image.png

2Native Tapy

基本的string类型、数值类型、IP相关类型、UUIT、时间日期以及counter类型。

例子:

image.png

3Collect Type  && UDT

UDT必须在key space范围内创建类型

支持:CREATE/ALTER/DROP

例子:

image.png

4CQL DDL

image.png

Keyspace

Replication:

Class:SimpleSttategy/NetworkTopologyStrategy:副本摆放策略

Replication_factor:副本数

例子:

image.png

5Table

Primary key:必须定义由partition keycluster key组成

Partition key:必须定义确定数据的摆放物理位置

Cluster key:可以不定义,确定数据在partition下的摆放情况

Default time to live,表级别ttl

Compaction策略:STCS/LCS/TWCS

Compression,策略:SNAPPY/LZ4

例子:

image.png

(6)CQL DML

DMLSELECT/INSERT/UPDATE/DELETE/BATCH

SELCCT

支持获取指定列以及通配符操作;

支持LIMIT/PARTITION LIMIT/ORDE BY/GOUP BY

支持native function处理操作:Countmaxminsumavg

支持JSON

其他多数丰富操作;

例子:

image.png

 

7UPDATE

需要指定primary key

如果数据存在就更新,不存在则写入

DELETE

支持行列、级别删除

例子:

image.png

8BATCH

语法:BEIGIN BATCH 开始,以APPLY BATCH结束,中间可包含多条INSERT/UPDATE/DELETE

支持LOGGED/UNLOGGED BATCH两种模式。LOGGED BATCH,保证batch数据最终全被写入

提高写入吞吐

例子:

image.png

 

3CQL ACL

Role,级别操作支持账户密码role,资源操作

各种资源级别的鉴权

常见grant以及revoke操作

例子:

image.png

 

 

4CQL INDEX

1SEcondary Index

Local index索引表数据和数据表数据共存,适用于奇数式中的数据列表

可以指定索引名,若不指定咋自动生成

Counter列不支持二级索引

频繁删除以及update的列不推荐使用

支持多重索引查询,支持集合数据类型上构建索引

2SASI

Local index的一种,支持较多索引模式:prefix contain sparse支持轻搜索功能

对字符串支持的prefixcontains功能支持,轻模糊匹配

使用analyzer可以对某个列的文本数据做词干分析

丰富的索引构建选项,大小写敏感,索引模式,是否使用anlyzer

不支持collection类型

实验功能,不推荐生产使用

例子:

image.png

适用于任何规模的云原生多模数据库。

相关文章
|
JavaScript 前端开发 数据库
Kettle使用脚本实现循环(十)
Kettle使用脚本实现循环(十)
2391 0
Kettle使用脚本实现循环(十)
|
2月前
|
SQL 关系型数据库 MySQL
MySQL IN 里塞 10000 个值?90% 开发者都踩过的坑,底层原理 + 全场景解决方案一次讲透
本文深入剖析MySQL IN子句的底层执行逻辑,纠正常见误区(如“1000值硬限制”“IN=OR”),揭示大IN列表引发的性能、稳定性及安全风险,并提供分批查询、临时表JOIN、关联/EXISTS查询、流式查询四类场景化解决方案,附实测性能对比与生产避坑指南。
463 4
|
7月前
|
弹性计算 网络协议 Java
阿里云服务器u2i实例:企业新用户不会出错的选择,2核4G、4核8G、4核32G等配置优惠价格
阿里云服务器ECS通用算力型u2i实例,算力性能超u1实例40%,兼容多代际服务器(支持 Intel 最新第五代和第六代至强处理器平台),提供企业级的性能保证,满足客户对成本敏感的业务需求。目前u2i云服务器2核2G、2核4G、4核4G、4核8G、2核8G、4核32G等指定配置2.5折1年。下面是小编整理的u2i云服务器实例性能测评及优惠价格:
463 6
阿里云服务器u2i实例:企业新用户不会出错的选择,2核4G、4核8G、4核32G等配置优惠价格
|
7月前
|
人工智能 程序员 开发者
用Qoder自动生成开源项目的说明书(wiki),新人爱看,老人爱用
程序员晚枫分享AI编程新利器Qoder:一键自动生成中文项目Wiki,解决文档维护难题。支持代码同步更新,降低学习成本,助力开源项目发展。12月第二周将在重庆阿里中心分享实战经验,欢迎交流!
2318 1
用Qoder自动生成开源项目的说明书(wiki),新人爱看,老人爱用
|
SQL 存储 JSON
Cassandra CQL语法 以及功能介绍
内容摘要: 一、Cassandra简单介绍 ·Cassandra的历史和基本架构 二、Cassandra CQL介绍 ·如何使用CQL语言操作Cassandra
5655 0
Cassandra CQL语法 以及功能介绍
|
10月前
|
Ubuntu 安全 小程序
服务器版本的CentOS和Ubuntu哪个更适合你?
但是以上的比较并不说明Ubuntu是不稳定的或者是不安全的,只是以上比较过程中,在稳定性方面Ubuntu稍微逊色了一点。由于Ubuntu在个人桌面电脑的使用率远远高于CentOS,用Ubuntu搭建服务器,如果遇到什么问题,寻找解决方案相对比较容易,这让Ubuntu在选择方面更优于CentOS。如果你是一个初学者,那么毫无疑问Ubuntu是更适合的选择。如果你正在经营自己的公司,在这两者之间,CentOS会更好一些。
|
SQL 缓存 API
在API接口数据获取过程中,如何确保数据的安全性和隐私性?
在API接口数据获取过程中,确保数据的安全性和隐私性至关重要。本文介绍了身份认证与授权、防止SQL注入和XSS攻击、加密传输、API版本控制、限流与熔断、压力测试与性能优化、备份与恢复以及法律和伦理考量等关键措施,帮助开发者和管理者有效保护API接口的数据安全和隐私性。
|
机器学习/深度学习 自然语言处理 并行计算
多模态大模型技术原理与实战(2)
大模型被广泛应用有以下几个前提:效果好、效率高、成本可控,目前,大模型在这几个方面还不够理想。
885 5
|
Ubuntu Java Linux
update-alternatives命令如何使用?【20240805】
【8月更文挑战第4天】update-alternatives命令如何使用?【20240805】
948 4
|
人工智能 JSON 数据格式
AI大模型企业应用实战(11)-Document Loader文件加载器机制
本文详解LangChain文档加载器(Loader)机制,涵盖Markdown、CSV、Excel、HTML、JSON、PDF等多格式文件的智能解析与文本提取。依托unstructured等库,实现结构化内容抽取,为RAG系统构建高质量知识库提供核心支持。(239字)
434 0

热门文章

最新文章