从关系型数据库和非关系型数据库说起

文章目录

  • [1. 非关系型数据库介绍](#1. 非关系型数据库介绍)
    • [1.1 特点与优势](#1.1 特点与优势)
    • [1.2 类型与应用场景](#1.2 类型与应用场景)
    • [1.3 适用性与限制](#1.3 适用性与限制)
  • [2. 非关系型数据库的细节](#2. 非关系型数据库的细节)
    • 2.1.认识NoSQL
    • [2.2 查询方式](#2.2 查询方式)
    • [2.3 事务](#2.3 事务)
    • [2.4 对比](#2.4 对比)
  • [3. Redis](#3. Redis)

1. 非关系型数据库介绍

非关系型数据库(NoSQL)是一种数据库管理系统,它采用了非传统的表格关系模型,与传统的关系型数据库(如SQL数据库)不同。非关系型数据库通常以键值对、文档、列族、图形等形式存储数据,以适应对大数据量、高并发性、分布式部署等需求的处理。

1.1 特点与优势

  1. 灵活的数据模型:非关系型数据库可以支持多种数据模型,如键值对、文档、列族、图形等,适用于不同类型和结构的数据存储需求。

  2. 高性能和可伸缩性:非关系型数据库通常设计为分布式系统,能够水平扩展,支持处理大规模数据和高并发访问。

  3. 无需预定义模式:与关系型数据库需要定义表结构不同,非关系型数据库通常无需事先定义数据模式,能够灵活地存储和处理各种数据格式。

  4. 适应大数据应用:非关系型数据库适用于处理大规模数据、半结构化数据和非结构化数据,能够应对大数据应用场景的需求。

1.2 类型与应用场景

  1. 键值对型数据库(Key-Value Stores):如Redis、Memcached,适用于缓存、会话管理等场景。

  2. 文档型数据库(Document Stores):如MongoDB、Couchbase,适用于内容管理、博客平台等场景。

  3. 列族型数据库(Column Stores):如HBase、Cassandra,适用于分布式存储、数据分析等场景。

  4. 图形型数据库(Graph Databases):如Neo4j、ArangoDB,适用于社交网络、推荐系统等场景。

1.3 适用性与限制

  1. 数据一致性:部分非关系型数据库在追求性能和可伸缩性时可能牺牲了一致性,需要在应用设计中进行权衡。

  2. 查询能力:相比关系型数据库,非关系型数据库在复杂查询和事务处理上可能表现较弱。

  3. 学习成本:非关系型数据库通常需要开发人员具备新的技能和经验,学习成本相对较高。

非关系型数据库以其灵活的数据模型、高性能和可伸缩性等优势,在大数据处理和分布式应用中有着广泛的应用前景,但也需要根据具体的应用场景和需求进行选择和权衡。

2. 非关系型数据库的细节

2.1.认识NoSQL

NoSql 可以翻译做 Not Only Sql(不仅仅是SQL),或者是 No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库

2.2 查询方式

传统关系型数据库会基于 Sql 语句做查询,语法有统一的标准;

而不同的非关系数据库查询语法差异很大,实现语法是各种各样的。

例如:

redis: get people 1

MongDB: db.users.find({_id:1})

elesticasearch: GET http://localhost:9200/users/10

2.3 事务

传统关系型数据库 能满足事务 ACID 的原则。

非关系型数据库 往往不支持事务,或者 不能严格保证 ACID 的特性,只能实现基本的一致性。

2.4 对比

SQL NoSQL
数据结构 结构化 非结构化
数据关联 关联的 无关联的
查询方式 SQL查询 非SQL
事务特性 ACID BASE

3. Redis

Redis 诞生于2009年全称是 Re mote D ictionary Server 远程词典服务器,是一个基于内存的键值型NoSQL数据库。

特征

  • 键值(key-value)型,value支持多种不同数据结构,功能丰富
  • 单线程,每个命令具备原子性
  • 低延迟,速度快(基于内存.IO多路复用.良好的编码)。
  • 支持数据持久化
  • 支持主从集群.分片集群
  • 支持多语言客户端

Redis的官方网站地址:https://redis.io/

从本篇文章开始, 我们将要踏上对 Redis 探索的奇幻之旅.

相关推荐
数据组小组1 小时前
免费数据库管理工具深度横评:NineData 社区版、Bytebase 社区版、Archery,2026 年开发者该选哪个?
数据库·测试·数据库管理工具·数据复制·迁移工具·ninedata社区版·naivicat平替
悟空聊架构7 小时前
基于KaiwuDB在游乐场“刷卡+投币”双模消费系统中的落地实践
数据库·后端·架构
IvorySQL7 小时前
PostgreSQL 技术日报 (3月4日)|硬核干货 + 内核暗流一网打尽
数据库·postgresql·开源
进击的丸子10 小时前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端
NineData1 天前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
IvorySQL1 天前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
ma_king1 天前
入门 java 和 数据库
java·数据库·后端
jiayou641 天前
KingbaseES 实战:审计追踪配置与运维实践
数据库
NineData2 天前
NineData 迁移评估功能正式上线
数据库·dba
雨中飘荡的记忆2 天前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端