Apache Cassandra 是一种高度可扩展的分区行存储。行被组织成具有所需主键的表。
分区意味着 Cassandra 可以以应用程序透明的方式将数据分布在多台计算机上。当机器添加到集群中或从集群中删除时,Cassandra 将自动重新分区。
行存储意味着像关系数据库一样,Cassandra 按行和列组织数据。 Cassandra 查询语言 (CQL) 是 SQL 的近亲。
有关更多信息,请参阅 Apache Cassandra 网站。
应在 Cassandra Jira 上报告问题。
Java:请参阅 build.xml 中支持的版本(搜索属性“java.supported”)。
Python:对于cqlsh
,请参阅bin/cqlsh
(搜索函数“is_supported_version”)。
这篇简短的指南将引导您完成基本的单节点集群的启动和运行,并演示一些简单的读取和写入。有关更完整的指南,请参阅 Apache Cassandra 网站的入门指南。
首先,我们将解压我们的档案:
$ tar -zxvf apache-cassandra-$VERSION.tar.gz $ cd apache-cassandra-$VERSION
之后我们启动服务器。使用 -f 参数运行启动脚本将导致 Cassandra 保留在前台并记录到标准输出;可以使用 ctrl-C 停止它。
$ bin/cassandra -f
现在让我们尝试使用 Cassandra 查询语言读取和写入一些数据:
$ bin/cqlsh
命令行客户端是交互式的,因此如果一切正常,您应该坐在提示符前:
连接到 localhost:9160 的测试集群。 [cqlsh 6.3.0 | Cassandra 5.0-快照 | CQL 规范 3.4.8 |本机协议 v5] 使用“帮助”寻求帮助。 cqlsh>
正如横幅所示,您可以使用“帮助”;或者 '?'看看 CQL 能提供什么,然后“退出”;或“退出”;当你玩够了的时候。但让我们尝试一些更有趣的事情:
cqlsh> 创建键空间 schema1 带复制 = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; cqlsh> 使用模式1; cqlsh:Schema1> 创建表用户 ( user_id varchar 主键, 第一个varchar, 最后一个varchar, 年龄整数 ); cqlsh:Schema1> INSERT INTO 用户(user_id、第一个、最后一个、年龄) VALUES ('jsmith', '约翰', '史密斯', 42); cqlsh:Schema1> 从用户中选择*; 用户 ID |年龄 |第一 |最后的 --------+-----+--------+-------- 杰史密斯 | 42 | 42约翰 |史密斯 cqlsh:架构1>
如果您的会话与上面的内容类似,那么恭喜您,您的单节点集群可以运行了!
有关 CQL 支持哪些命令的更多信息,请参阅 CQL 参考。合理的思考方式是“SQL 减去联接和子查询,加上集合”。
想知道从这里去哪里?
在 ASF Slack 上加入 #cassandra 并提出问题。
通过发送邮件至 [email protected] 订阅用户邮件列表。
通过发送邮件至 [email protected] 订阅开发者邮件列表。
请访问 Cassandra 网站的社区部分,了解有关参与的更多信息。
请访问 Cassandra 网站的开发部分,了解有关如何贡献的更多信息。