- Apache Cassandra数据库概述
Apache Cassandra是大规模可扩展的开源型NoSQL数据库,适合管理跨多个数据中心和云的大量的结构化、半结构化和非结构化数据。
Cassandra在多台商用服务器上具备持续可用、线性可扩展,操作简单,且无单点故障等特点,具备强大的动态数据模型,可以实现灵活性和快速响应时间。
- Cassandra使用优势
Cassandra的可扩展架构意味着它能够每秒处理PB级的信息和数千个并发用户或操作。
分区式行存储数据库
Cassandra的架构允许任何授权用户连接到任一数据中心中的任一节点,并使用CQL语言访问数据。为了便于使用,CQL使用了与SQL相似的语法。与Cassandra互动的基本的方式是使用CQL shell,cqlsh。使用cqlsh,您可以创建键空间和表、插入和查询表等操作。
自动化数据分发
Cassandra对所有参与到环(ring)或数据库集群的节点自动提供数据分发服务。由于数据在集群中的所有节点上是透明的,所以开发人员或管理员无需通过编程或执行代码来跨集群分发数据。
内置、可定制的备份
Cassandra提供了内置和可定制的备份策略,即在节点上存储了冗余的数据副本。这意味着如果集群中的任何节点宕机,该节点数据的一个或多个副本可以在集群中的其他计算机上继续使用。可以将备份配置为跨一个数据中心,多数据中心和多个云可用区工作。
线性可扩展
Cassandra具备线性扩展性,可以通过在线增加新的节点轻松实现扩容。
- 运行Cassandra所需的硬件类型和云环境
Cassandra可以在通用规格的商用硬件上运行,并适用于大部分云端商用环境。
- Cassandra与关系型数据库的区别
Cassandra开始是用于对等(p2p)通信的分布式数据库。每张表对应一个查询,对数据的反范式化(denormalized)设计使这样的实践成为可能。因此,尽管可以在客户端侧的应用中使用joins,但表之间JOINs不存在。
- Cassandra常见问题
- 什么是NoSQL?
NoSQL通常被译为“不仅仅是SQL”,它是一种不同于关系型或SQL数据库存储方法的数据库。目前,NoSQL支持多种数据库类型。
- 什么是CQL?
Cassandra查询语言(CQL)是Cassandra数据库管理系统的主接口。CQL与SQL(结构化查询语言)用法类似。CQL和SQL共享由列与行组成的表的抽象概念。与SQL的主要区别在于Cassandra不支持joins和子查询。相反的,Cassandra强调利用CQL的特性(如,schema级别指定的集合和集群)对数据反范式化。
推荐使用CQL与Cassandra交互,其出色的性能、易读和易用等特点使当前的Cassandra相较于旧版更具优势。
CQL文档包含数据建模主题、示例和命令参考。
- 如何实现与Cassandra的交互?
与Cassandra交互基本的方法是使用CQL shell。使用cqlsh,您可以创建密钥空间(keyspace)和表,插入和查询表等更多操作。
- 如何在Cassandra中插入/删除数据?
可使用CQL INSERT命令、CQL COPY命令、CSV文件或sstableloader插入数据。实际使用中,您需要考虑客户端应用程序如何查询表,并进行数据建模。
- Cassandra有哪些其他工具?
Cassandra自动安装了命令行管理工具nodetool,以及默认安装了用于加载和基本基准测试的工具cassandra-stress。
来源 https://www.modb.pro/db/173162