技术好文:scyllaDB基本使用

简介: 技术好文:scyllaDB基本使用

目录


1.scylla部署docker单机部署docker集群部署2.在cqlsh中操作scyllaDB3.scyllaDB的操作创建keysapce创建表插入数据到scylla表查看scylla集群状态查看表状态增加字段删除scylla表 //代码效果参考:http://www.lyjsj.net.cn/wx/art_23881.html

4.spark和scyllaDB集成使用spark读写scyllaDB

回到顶部1.scylla部署


docker单机部署


可以使用docker镜像来启动scyllaDB


docker集群部署


也可以使用docker镜像来部署scyllaDB集群


?1234567docker run --name scylla -p 9042:9042 -p 9160:9160 -p 10000:10000 -p 9180:9180 -v /var/lib/scylla:/var/lib/scylla -d scylladb/scylla docker run --name scylla-node2 -p 8042:9042 -p 8160:9160 -p 1000:10000 -p 8180:9180 -v /var/lib/scylladb2:/var/lib/scylla -d scylladb/scylla --seeds="$(docker inspect --format='{ { .NetworkSettings.IPAddress }}' scylla)" docker run --name scylla-node3 -p 10042:9042 -p 10160:9160 -p 1100:10000 -p 10180:9180 -v /var/lib/scylladb3:/var/lib/scylla -d scylladb/scylla --seeds="$(docker inspect --format='{ { .NetworkSettings.IPAddress }}' scylla)" docker run --name scylla-node4 -p 11042:9042 -p 11160:9160 -p 1200:10000 -p 11180:9180 -v /var/lib/scylladb4:/var/lib/scylla -d scylladb/scylla --seeds="$(docker inspect --format='{ { .NetworkSettings.IPAddress }}' scylla)"


回到顶部2.在cqlsh中操作scyllaDB


在cqlsh中可以使用CQL (the Cassandra Query Language) 来对scyllaDB做一些基本操作


?12345sh-4.2# cqlshConnected to at 172.17.0.3:9042.【cqlsh 5.0.1 | Cassandra 3.0.8 | CQL spec 3.3.1 | Native protocol v4】Use HELP for help.cqlsh>


参考:CQLSh: the CQL shell


回到顶部3.scyllaDB的操作


scylla数据存储于table当中,而table由keyspace分组


创建keysapce


名字叫做test


?1234cqlsh> CREATE KEYSPACE IF NOT EXISTS test WITH REPLICATION = {'class': 'SimpleStrategy','replication_factor':1};cqlsh> describe keyspaces; system_schema system_auth system system_distributed test system_traces


REPLICATION参数指定了备份策略,使用了REPLICATION后必须指定class,其中class有SimpleStrategy,NetworkTopologyStrategy,在这里由于是单机测试,所以我指定副本数量是1


创建表


?123456789101112131415cqlsh> use test;cqlsh:test

PRIMARY KEY参数指定了主键,会按照user_id,mtime的顺序来排列key


CLUSTERING参数指定了mtime按照降序排列


插入数据到scylla表


?12345INSERT INTO demo (user_id,str,mtime) VALUES (6,'test','2021-10-09 07:00:00') using TTL 86400;


可以看到相同的key user_id会聚合到一起,相同的user_id中mtime按照降序排列


?123456789101112cqlsh:test

class="bash plain"] select * from demo; user_id | mtime | str---------+---------------------------------+------- 5 | 2021-10-09 02:00:00.000000+0000 | Panda 1 | 2021-10-09 04:00:00.000000+0000 | Kay 1 | 2021-10-01 02:00:00.000000+0000 | Kay 2 | 2021-10-09 03:00:00.000000+0000 | Snail 2 | 2021-10-01 02:00:00.000000+0000 | Snail 6 | 2021-10-09 07:00:00.000000+0000 | test (6 rows)

参考:Data Definition 


查看scylla集群状态


?12345678910111213【root@6a30e1b8fc71 /】# nodetool statusUsing /etc/scylla/scylla.yaml as the config fileDatacenter: datacenter1=======================Status=Up/Down|/ State=Normal/Leaving/Joining/Moving-- Address Load Tokens Owns Host ID RackUN 172.17.0.2 1.49 MB 256 ? //代码效果参考:http://www.lyjsj.net.cn/wz/art_23877.html

eaee8765-450d-4d4e-a7b5-2ed4c6b20df3 rack1UN 172.17.0.5 1.04 MB 256 ? 17153bb7-f4f1-4436-bc49-f1eca3409040 rack1UN 172.17.0.4 1.03 MB 256 ? 25fd6224-7edc-4161-bf49-ba6fe51c9f73 rack1UN 172.17.0.6 1.04 MB 256 ? 3d5757d2-dc5f-4ba4-8d90-e02eb9d4c255 rack1 Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless  

查看表状态


?1nodetool tablestats my_ks.my_tb


增加字段


?1ALTER TABLE xx.xx ADD col_name col_type;


删除scylla表


?1drop table xx.xx;


回到顶部4.spark和scyllaDB集成


使用spark读写scyllaDB


由于scyllaDB兼容cassandra API,所以可以参考:


?1


或者可以参考我的文章:Spark学习笔记——读写ScyllaDB


其他:sizing-your-scylla-cluster


MySQL 亿级数据迁移 之 Cassandra概述

相关文章
|
存储 SQL Cloud Native
深入了解云原生数据库CockroachDB的概念与实践
作为一种全球领先的分布式SQL数据库,CockroachDB以其高可用性、强一致性和灵活性等特点备受关注。本文将深入探讨CockroachDB的概念、设计思想以及实践应用,并结合实例演示其在云原生环境下的优越表现。
|
存储 缓存 Java
Infinispan篇(一):一个被遗忘了的分布式集群缓存系统
Infinispan 是一个开源内存数据网格,提供灵活的部署选项和强大的数据存储、管理和处理功能。
2317 0
|
2月前
|
JSON 关系型数据库 Apache
十亿 JSON 秒级响应:Apache Doris vs ClickHouse,Elasticsearch,PostgreSQL
JSONBench 是一个为 JSON 数据而生的数据分析 Benchmark,在默认设置下,Doris 的性能表现是 Elasticsearch 的 2 倍,是 PostgreSQL 的 80 倍。调优后,Doris 查询整体耗时降低了 74%,对比原榜单第一的 ClickHouse 产品实现了 39% 的领先优势。本文详细描述了调优思路与 Doris 调优前后的性能表现,欢迎阅读了解~
427 0
十亿 JSON 秒级响应:Apache Doris vs ClickHouse,Elasticsearch,PostgreSQL
|
存储 NoSQL Redis
【360开源】Pika最佳实践
Pika是360 热门的c++开源项目,基于rocksdb开发的大容量类Redis存储,力求在完全兼容Redis协议、继承Redis便捷运维设计的前提下通过持久化存储方式解决Redis在大容量场景下主从同步代价高、恢复时间慢、单线程相对脆弱、内存成本高等问题。
2824 0
|
11月前
|
存储 NoSQL 数据挖掘
在 ScyllaDB(或 Cassandra)中使用主键、分区键和群集键
在 ScyllaDB(或 Cassandra)中使用主键、分区键和群集键
139 0
|
存储 安全 关系型数据库
PostgreSQL物化视图增量更新扩展 -- pg_ivm
PostgreSQL不支持物化视图增量更新,需要定期执行REFRESH MATERIALIZED VIEW命令刷新物化视图。Incremental View Maintenance (IVM)是一种使物化视图保持最新的方法,其中只计算增量更改并将其应用于视图,而不是REFRESH MATERIALIZED VIEW那样从头开始重新计算内容。当只更改视图的一小部分时,IVM可以比重新计算更高效地更新物化视图。
|
6月前
|
存储 运维 监控
阿里妈妈基于 Flink+Paimon 的 Lakehouse 应用实践
本文总结了阿里妈妈数据技术专家陈亮在Flink Forward Asia 2024大会上的分享,围绕广告业务背景、架构设计及湖仓方案演进展开。内容涵盖广告生态运作、实时数仓挑战与优化,以及基于Paimon的湖仓方案优势。通过分层设计与技术优化,实现业务交付周期缩短30%以上,资源开销降低40%,并大幅提升系统稳定性和运营效率。文章还介绍了阿里云实时计算Flink版的免费试用活动,助力企业探索实时计算与湖仓一体化解决方案。
771 3
阿里妈妈基于 Flink+Paimon 的 Lakehouse 应用实践
|
8月前
|
存储 SQL 监控
计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台
灵犀科技早期基于 Hadoop 构建大数据平台,在战略调整和需求的持续扩增下,数据处理效率、查询性能、资源成本问题随之出现。为此,引入 [Apache Doris](https://doris.apache.org/) 替换了复杂技术栈,升级为集存储、加工、服务为一体的统一架构,实现存储成本下降 60%,计算效率提升超 10 倍的显著成效。
320 0
计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台
|
9月前
|
JSON NoSQL Redis
Redis Stack是什么,你知道吗?
Redis Stack 是 Redis 官方推出的一款新产品,扩展了 Redis OSS 的核心功能,提供完整的开发人员体验。它支持概率数据结构、可查询的 JSON 文档、跨哈希和 JSON 文档查询、时间序列数据处理等高级功能。Redis Stack 包含 Redis Stack Server、RedisInsight 和客户端 SDK,适用于构建实时应用程序。安装方式包括直接安装和 Docker 安装,使用方法与 Redis 类似,支持 JSON、Bloom Filter 等数据类型及操作命令。
1398 1
|
10月前
|
存储 NoSQL MongoDB
MongoDB面试专题33道解析
大家好,我是 V 哥。今天为大家整理了 MongoDB 面试题,涵盖 NoSQL 数据库基础、MongoDB 的核心概念、集群与分片、备份恢复、性能优化等内容。这些题目和解答不仅适合面试准备,也是日常工作中深入理解 MongoDB 的宝贵资料。希望对大家有所帮助!
267 7

热门文章

最新文章