集群结构
1)无中心、所以没有单点问题
2)使用P2P协议
特点
可靠性(reliability):数据冗余存储,无中心
可伸缩性(scalability):添加设备就可以水平扩展存储和运算能力
具备实时查询的能力
多数据中心识别
据说单行可以支持上亿列
运维成本低(相比Hbase要低很多)
一致性
什么叫数据库一致性?读操作一定会返回最新写入的结果。
Cassandra是最终一致性(弱一致性):成功写入后,读取的并不一定是最新数据,但过一段时间所有副本才会达成一致。
可调节的一致性:
副本因子:数据保存多少副本
一致性级别:成功写入或者读取多少个副本才认为是一次成功操作
将副本因子设置为一致性级别,则可以达到最高一致性,但会牺牲读写性能
CAP
一致性:每次读取都是最新的数据
可用性:客户端总是可以读写数据
分区耐受性:数据库分散到多台机器,即使某台机器故障,也可以提供服务
CAP理论指出在一个分布式系统中,你只能强化其中两个方面
支持windows和Linux
keyspace:可以简单理解为RDBMS中的数据库
Column family: 可以理解为RDBMS中的表
核心功能只有get、set,没有update
数据有row key和多个的cell组成了,可以简单理解为是一个多维hashmap
row key是默认具有排序能力,实现方法可以自定义
Row key可以分布到不同node,策略可以自定义
内存cache,有助于提升查询效率
集群通过Gossip 协议通信,这是一个P2P协议
Memtable、SSTable、commitlog、compaction、墓碑(tombstone)
有类SQL的封装客户端,支持python、ruby等多语言
应用场景:
写密集、统计、分析型作业
大数据存储(不是大文件)
实时查询
分享到:
相关推荐
token是cassandra里相当重要的一个概念,它是cassandra用来平衡集群内各节点负载的一个属性。cassandra里有不同的token分配策略,推荐采用默认的RandomPartitioner分区策略。在这个策略下,token是一个0~2的127次方...
### Cassandra 1.0新特性解析与集群部署规划 #### 一、Cassandra 1.0新特性概览 Cassandra 1.0版本引入了一系列关键改进,旨在增强其存储能力、读写效率以及整体系统稳定性。以下是该版本中值得注意的新特性: 1....
代表产品有Cassandra、HBase、Riak等。 文档型数据库以文档形式存储数据,通常存储为JSON、XML等格式,适合于存储半结构化数据,查询效率较键值存储更高。代表产品有MongoDB、CouchDB、MongoDb(4.x)、国内开源的...
大数据技术学习笔记1 大数据技术学习笔记1 是一份关于大数据技术的学习笔记,涵盖了大数据技术的基本概念、Hadoop 生态系统、MapReduce 算法、Spark 框架、分布式计算平台等多个方面。 Hadoop 生态系统 Hadoop 是...
本学习笔记涵盖了JavaEE的核心技术,帮助学习者深入理解和掌握javaweb的各项技能。 1. **Servlet与JSP** - **Servlet**:Servlet是Java编写的服务器端程序,主要用于扩展服务器的功能。在JavaEE中,Servlet处理...
"HugeGraph学习笔记二1" HugeGraph是一个基于图数据库的存储引擎,它支持多种存储backend,包括Cassandra和HBase。在这个笔记中,我们将探索HugeGraph的存储机制,特别是它如何与HBase集成。 HBase是一个分布式的...
2009年的数据库系统工程师学习笔记可能涵盖了当时该领域的核心概念和技术。以下是对这些笔记可能包含的一些关键知识点的详细说明: 1. **数据库基础理论**: - 数据模型:包括关系模型(如SQL)、网络模型、层次...
通过阅读《spring6.0学习笔记.md》这份文档,开发者可以系统地了解这些新特性和变化,逐步掌握Spring 6.0的核心技术,提升自己的开发技能。文档中应该会详细解析每个知识点的应用场景、使用方法以及最佳实践,帮助...
这份“大数据学习笔记汇总指南”涵盖了大数据技术栈中的关键组件,包括Hadoop、Hive、Spark、Storm、Flink以及HBase。让我们逐一深入探讨这些技术及其在大数据生态系统中的作用。 一、Hadoop Hadoop是Apache基金会...
根据给定的文件信息“免费的数据库学习笔记”、“数据库学习笔记”以及标签“select面试题”,本篇文章将深入探讨与数据库学习相关的知识点,并重点围绕SQL中的SELECT语句进行讲解,包括其基本用法、进阶技巧以及在...
Java分布式应用学习笔记 在Java世界中,分布式应用是指由多个独立组件通过网络通信协同工作的系统。这种架构模式常用于构建大规模、高可用性、可扩展的系统。本笔记将深入探讨Java分布式应用的核心概念、技术和实践...
本资料包“大数据学习笔记,学习路线,技术案例整理”是一个全面的大数据学习资源,旨在帮助初学者和进阶者系统地掌握大数据的核心技术和应用实践。 首先,我们来了解一下大数据的关键概念和技术栈。大数据通常有四...
Redis 学习笔记 本资源摘要信息主要讲解了 Redis 的基本概念、特点、优点和应用场景。Redis 是一个开源的高性能键值对数据库,支持多种键值数据类型,适合处理海量数据,效率高,但不一定安全。 一、Redis 简介 ...
Java架构学习笔记Xmind图.zip是一个包含Java架构学习精华的压缩文件,其中很可能包含了详细的思维导图,用于梳理和组织Java开发中的各种架构概念和技术。这个压缩包可能旨在帮助Java开发者,尤其是初学者或进阶者更...
而数据库学习笔记.docx则可能是个人的学习记录,涵盖了理论知识、实例解析、问题解决等内容,对于巩固和深化理解非常有帮助。 总的来说,掌握数据库和SQL的知识对于IT从业者至关重要,无论是开发、运维还是数据分析...
学习笔记包含的内容可能涵盖了Spark的基本概念、核心组件、数据处理流程以及实际应用案例等多个方面。以下是对这些知识点的详细说明: 1. **Spark概述**:Spark是基于内存计算的大数据处理框架,它提供了一种快速、...
Spark可以无缝接入各种数据源,如HDFS、Cassandra、HBase、Hive和S3,为数据处理提供了极大的灵活性。 Spark的核心数据抽象是弹性分布式数据集(RDD),RDD是只读的、分区的数据集合,分布在集群的不同节点上。RDD...
### MySQL入门很简单—学习笔记知识点总结 #### 一、数据库概述 **1.1 数据存储方式** - **文件系统**:传统的数据存储方式,通过文件和文件夹组织数据。 - **数据库系统**:通过数据库管理系统(DBMS)进行数据...