NoSQL

NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性,数据之间无关系,这样就非常容易扩展,也无形之间,在架构层面上带来了可扩展的能力。

3V :海量 Volume 多样 Variety 实时 Velocity
3高:高并发 高扩展 高性能

多数据源多数据类型

统一数据服务平台

A (Atomicity) 原子性
C (Consistency) 一致性
I (Isolation) 独立性
D (Durability)持久性

### NoSQL 数据库概述 NoSQL 是指非关系型的数据库,有时也被称作 Not Only SQL 的缩写。这类数据库管理系统区别于传统的关系型数据库,主要用于处理超大规模数据的存储[^2]。 这些系统能够高效地应对像谷歌或 Facebook 每天为其用户收集的海量数据(万亿比特级别),并且具备灵活的数据模型,在不依赖固定模式的情况下支持简便的水平扩展能力。 ### NoSQL 数据库的主要优势 使用 NoSQL 数据库的原因在于其设计初衷是为了克服关系型数据库在面对大数据量和高并发访问场景下的局限性: - **灵活性**: 不需要预先定义严格的数据结构; - **可扩展性**: 更容易实现分布式部署并随着需求增长而线性扩展; - **性能优化**: 针对特定查询进行了高度优化,从而提高了读取/写入速度。 ### NoSQL 数据库分类 根据不同的架构特点和技术原理,可以将 NoSQL 数据库分为几种主要类别[^1]: #### 列族存储 (Column-family Stores) 这种类型的数据库按照列家族来组织数据,适合用来保存稀疏矩阵形式的信息集合。典型代表有 Apache Cassandra 和 HBase。 ```sql -- 创建一个简单的Cassandra表格作为例子 CREATE TABLE users ( user_id UUID PRIMARY KEY, first_name text, last_name text, email text ); ``` #### 文档数据库 (Document Databases) 文档数据库以 JSON 或 XML 形式的文档为单位进行存储,允许更复杂的嵌套结构表示对象之间的关联关系。MongoDB 就是一个流行的实例。 ```json { "_id": ObjectId("..."), "name": "John Doe", "address": { "street": "Main St.", "city": "Anytown" } } ``` #### 键值存储 (Key-value Stores) 键值对是最基本的一种无模式化数据表达方法,Redis 及 Amazon DynamoDB 属于此类。它们提供了极高的存取效率,特别适用于缓存机制或者会话状态管理等领域。 ```bash SET key value GET key ``` #### 图形数据库 (Graph Databases) 图形数据库专注于描述实体间复杂多变的关系网络,Neo4j 即为此种类型的一个范例。它非常适合社交网络分析、推荐引擎开发等方面的应用。 ```cypher // 查询与节点相连的所有其他节点 MATCH (n)-[:FRIEND]->(m) RETURN n, m; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值