数据库基础

基于mysql 5.7版本

数据库分为两类
  • 关系型数据库
    (mysql 、sqlserver、oracle都为关系型数据库)

    什么是关系型数据库?
    1. 库中的数据 和excel类似,是一张或多张二维表
    2. 表中的数据是按照一定的规则来存储的
    3. 可以用SQL来对表中的数据进行读写操作
    4. 遵循ACID特性

    相关概念
    域:字段的取值范围
    关系:储存数据的表的表名
    元祖:表中的一条记录(一行就是一条记录)
    属性:表中的一个字段(一列就是一个字段)
    关键字:可以唯一标识一条记录的字段(是一个或多个字段)
    关系模型:表和表之间的关系

    优点
    1.容易理解
    2.可以借助于sql语句来进行数据的读写
    3.便于维护表中的数据(主要用于保证数据完整和数据一致)

    缺点
    1.事物一致性(数据一致性)
    为保证数据的完整,会带来额外的开销从而导致性能降低
    2.关系型数据库在高并发的读写情况下,会成为程序系统的性能瓶颈
    3.可扩展性
    数据库的拆分——(分库、分表)
    4.读写的时效性
    金融:对时效性往往要求不高
    web、社交网络:对时效性要求高
    5.需要写复杂的SQL,甚至需要用多表联合查询

    关系型数据库遵循ACID
    A: 原子性
    C: 一致性
    I: 隔离性
    D: 持久性

    注意:关系型数据库中的数据是以二维表的方式储存

  • 非关系型数据库(NoSQL)
    ——NoSQL Not Only SQL
    (redis为非关系型数据库)

    非关系型数据库通常是作为关系型数据库的一个补充,而且不遵循ACID,因此其特点是性能相比关系型数据库更好,更易于扩展。

    分类
    类型1. key-value
    借助于hash表实现快速读写
    特点:简单、容易部署、高并发状态下性能好
    产品:
    redis----内存+磁盘
    memcached----纯内存的数据库(断电数据丢失)

    类型2. 列式存储数据库
    数据存放在Column Family(列簇)中
    通用场景:用来实现分布式海量数据存储
    产品:
    HBbase
    Cassandra

    类型3. 面向文档的数据库
    数据库中存放的是一个个文档
    产品:
    MongoDB(性能极好)

    类型4. 图形数据库
    graph

    注意:NoSQL是以key-value的方式存储的


常用的关系型和非关系型数据库
  • oracle
    支持众多平台(收费)
    应该场景:非互联网行业
    特点:稳定、安全、收费、重量级
  • sql server
    仅仅支持windows平台
  • mysql
    应用场景:互联网企业
    特点:体积小、运行速度快、稳定、开源
  • MariaDB
    mysql的分支,完全兼容mysql
  • Redis
    key-value
    内存+磁盘
    读写操作10万/s
    因为磁盘的限制,导致在处理海量数据的时间不好
    应用场景:局部高并发的场景
  • memcached
    key-value
    纯内存,一旦重启数据丢失
    逐渐被redis取代
  • Access
    入门级
  • MongoDB
  • DB2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值