会SQL,就会用Lindorm

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Tair(兼容Redis),内存型 2GB
简介: 主要介绍了如何使用CQL 对Lindorm进行访问的操作说明

用户福利

阿里云最新发布业界首款云原生多模数据库Lindorm,帮助企业一站式存储处理海量数据,降低80%成本,技术交流钉钉群:35977898,更多内容请参考链接

前言

Cassandra CQL 是Apache Cassandra社区为了用户可以更方便的使用Cassandra而实现的一套类SQL语言,支持java、c++、python、php、nodejs、c#、go、ruby等十几种语言访问Cassandra,CQL语言提供了丰富的数据类型(22基本数据类型以及复杂的集合数据类型)以及常见的DDL/DML/ACL操作语言,参考Cassandra CQL。除此之外还提供了相对丰富的索引、JSON、TLL等功能,广受用户喜爱。
云原生多模数据库Lindorm兼容了Cassandra CQL,所有常见的Cassandra CQL操作都可以通过CQL访问操作Lindorm,所有的Cassandra CQL执行语义也适用Lindorm兼容的Cassandra,用户可以使用Cassandra社区支持的多语言driver直接访问Lindorm。本文作为新手指导手册将介绍如何使用CQL一步步玩转Lindorm。

环境准备以及实例

Lindorm环境

购买集群

1.jpeg
用户在Lindorm购买页面根据需要确定好"商品类型","地域和可用区","VPC","专有网络交换机"以及取完一个集群名称;在"存储类型"确定是选择存储方案;完成以后在数据引擎层面需要选择"宽表引擎"相关选项,因为短期内CQL主要是在宽表引擎这个引擎下面暴露(当然不久的将来,其他2个引擎也会通过CQL释放对应能力)。具体细节可以参考Lindorm创建实列
2.jpeg
用户可以参考如何选择存储规格选择使用的节点数量以及存储属性(是否选择冷存储)。
完成购买以后会在控制台看到这个集群的基本情况介绍,包括集群引擎、节点数等等;
3.jpeg

基础环境设置

4.jpeg
用户在"访问控制"模块将需要访问集群的ip地址,比如用户客户端的ecs地址,添加到集群白名单,否则用户无法正常访问lindorm。详细细节参考设置白名单

获取CQL访问地址

5.jpeg
通过上图可以看到"数据库连接"选项下面,默认都存在"CQL连接",默认的链接地址是包括了VPC环境下的地址和端口,也可以执行公网开放功能获取公网地址和端口。
Lindorm使用CQL访问都是走认证的,默认用户名默认密码在用户控制台可以看到,通过该地方获取的用户名和密码可以访问走CQL访问Lindorm。

CQL 客户端环境以及例子

各种语言的用户可以使用Apache 社区推荐的 cassandra多语言driver访问Lindorm,推荐使用datastax公司主导的一系列多语言driver。本文会列出常见的java/c++/python/php的使用方式以及简单例子,其他的多语言客户端可以参考上述链接自行查询。
在执行这个操作之前用户需要使用到上一步"Lindorm环境"操作生成的如下几个信息:
• CQL链接,以hostname:port 形式暴露;
• 默认用户名;
• 默认密码;
此外,因为Lindorm 兼容Cassandra做到了完全兼容cql binary protocol ,所以用户对cassandra client driver进行的参数调优,以达到提高访问服务端的性能或者稳定性的目的同样适用于通过CQL访问Lindorm。

cqlsh访问Lindorm

cqlsh是Cassandra社区为更好的操作数据库而提供的命令行操作工具,可以参考下载以及使用cqlsh,简单的安装好cqlsh,然后如下命令直接访问到Lindorm:

./cqlsh $host $port -u $username -p $password

其中host是CQL链接 冒号(:)前面的hostname部分,port 是冒号(:) 后面的9042部分,port 不填的话,默认是9042. username在初始化的时候是lindorm的默认用户名,password是 lindorm的默认密码。如果cqlsh 是常用命令的话,用户可以加到bash路径下进行操作即可。
一般情况下DBA可以通过cqlsh进行常见的lindorm DDL、ACL授权操作,比如CREATE KEYSPACE/CREATE TABLE/DROP KEYSPACE/DROP TABLE/CREATE ROLE/GRANT/REVOKE。
也可以使用cqlsh执行常见的DML操作:比如SELECT/INSERT/UPDATE/DELETE,但是建议用于CQL语句的测试。生产的操作参考下面多语言的use case。

JAVA访问Lindorm& use case

如果是java maven用户,参考CQL java driver安装的链接,在自己的项目中添加如下依赖。当然也可以依赖其他更高版本的driver:

<dependency>
    <groupId>com.datastax.cassandra</groupId>
    <artifactId>cassandra-driver-core</artifactId>
    <version>3.7.2</version>
</dependency>

完成如下依赖以后,对应的可以在自己的代码里面执行常见的DDL&DML操作,后面所有的例子都会按照:建keyspace、建table、写数据、读数据的顺序进行操作。
具体的操作例子可以参考:使用java driver 通过CQL访问Lindorm

C++/python多语言访问Lindorm& use case

对于c++、python多语言用户可以参考c++、python、php driver访问lindorm进行client driver的设置以及访问代码的参考,也可以参考datastax的各个版本的driver进行设置

其他多语言访问Lindorm

其他多语言用户比如:c#、go、nodejs,spark-connector等用户可以参考多语言driver,具体语言进行具体的参考,或者咨询lindorm客户以及值班人员进行对接。

spring-data 框架用户访问Lindorm

参考spring-data项目链接进行依赖环境设置以及基本例子参考

目录
相关文章
|
1月前
|
SQL 存储 关系型数据库
Hologres SQL 查询优化技巧
【9月更文第1天】随着大数据处理的需求日益增长,如何高效地进行数据查询和分析变得尤为重要。Hologres 是阿里云推出的一款实时数仓产品,它基于 PostgreSQL 构建,并针对在线分析处理(OLAP)场景进行了优化,支持实时数据写入与查询,能够实现毫秒级的查询响应。本文将探讨在使用 Hologres 时如何编写高效的 SQL 查询,并介绍一些特定于 Hologres 的优化技巧。
127 2
|
2月前
|
SQL 存储 分布式计算
我在淘宝写SQL|ODPS SQL 优化总结
本文结合作者多年的数仓开发经验,结合ODPS平台分享数据仓库中的SQL优化经验。
|
3月前
|
SQL 存储 设计模式
SQL与NoSQL的比较?
【7月更文挑战第30天】SQL与NoSQL的比较?
28 13
|
3月前
|
SQL 存储 关系型数据库
influxdb常用sql总结
influxdb常用sql总结
230 1
|
3月前
|
SQL 分布式计算 数据处理
SQL 能力问题之MaxCompute(ODPS)SQL有哪些特点
SQL 能力问题之MaxCompute(ODPS)SQL有哪些特点
|
SQL 关系型数据库 分布式数据库
drds和polardb的sql语句分别有哪些
drds和polardb的sql语句分别有哪些
144 1
|
SQL 分布式计算 数据挖掘
MaxCompute SQL的应用
MaxCompute SQL的应用
|
SQL NoSQL Oracle
常见的SQL和NOSQL对比
常见的SQL和NOSQL对比
101 0
|
SQL 存储 Oracle
10个PostgreSQL中常见SQL错误
QL语言当今在数据查询分析这块地位至今无法撼动,曾经的NoSQL也开始疲软,口号从”no SQL”也变成了“not only SQL”或“no , SQL!”, 但SQL的开发能力参差不齐,有些是从ORACLE数据库转到postgreSQL的,相同SQL的结果不并相同,在性能上也并不是所有人都可以编写高效正确查询,这里简单列几个在PG中几个SQL注意事项。
445 0
|
存储 SQL 分布式计算
「PostgreSQL」用MapReduce的方式思考,但使用SQL
「PostgreSQL」用MapReduce的方式思考,但使用SQL