数据库相关知识

最常见的两种数据库:关系型数据库vs非关系型数据库。

关系型数据库

1.概念

关系型数据库是采用了关系模型来组织数据,简单来说是利用二维表格来存储信息,如MySQL、SQL server、postgerSQL。

2.优点

  • 便于理解,二维表格是大家在生活中很常见的类型;
  • 使用方便,通用的sql语句;
  • 便于维护,数据库的ACID属性大大降低了维护成本,更新的成本也更小。

3.ACID属性

  • 原子性Atomicity:一个事务就是最小的单位,不可再分割。这个事务要么全部完成,要么不完成,不出现完成了一半的情况。如果事务出错,会回到事务开始前的状态,就像事务没开始一样。
  • 一致性Consistency:事务开始前和结束后,数据库的完整性没有被破坏。
  • 隔离性isolation:数据库允许多个事物同时对数据进行读写,隔离性可以保证事务是交叉互不干扰的,不会出现因为交叉执行导致数据不一致。包括读未提交、读提交、可重复读和串行化。(串行化指将对象存储到介质,如文件、内存缓冲区等中或是以二进制方式通过网络传输。之后可以通过反串行化从这些连续的字节(byte)数据重新构建一个与原始对象状态相同的对象,因此在特定情况下也可以说是得到一个副本,但并不是所有情况都这样。)
  • 持续性duration:事务结束后,对数据的修改是永久的,不会因为系统的故障而发生丢失。

非关系型数据库

1.概念

非关系型数据库(Not Only SQL):通常把不是关系型数据库的数据库都称为非关系型数据库,分布式的、非关系式的,不包含ACID属性的。

2.常见类型

  • 键值数据库:将数据库内的数据存储为键值对,键是唯一标识符,类似于哈希表。
  • 图形数据库:将数据作为图的形式存储。实体是顶点,实体之间的关系则是边,类似于数据结构中的图。
  • 内存数据库
  • 文档数据库:数据通常是对象或者json文档。

3.特点

  • 非关系型数据库大部分是开源的。
  • 非关系型数据库不像关系型数据库那样要求高度的一致性,它允许数据在一段时间内不一致,只要最终状态下是一致的就行,所以适用于游戏等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值