数据库技术汇总

2018-04-08  本文已影响34人  EVANMORE

数据库技术的分类,大的方向上可以分为关系型数据库和非关系型数据库:


1. CAP定理

CAP定理指出对一个分布式计算系统来说,不可能同时满足一下三点:

举个例子来描述一下,当存在A和B两个存储节点;当一个client尝试往A节点写入一条数据的时候,A会把这条记录也同步到B,这样的话令一个client就可以从B里面去读取这条记录了;当A和B之间的同步出现了问题,比如说连接段快了,那么A的记录很有可能没法儿同步到B,这个时候就出现了分区,另一个client要从B读取这条信息的时候,你有两个选择

据此,可以将数据库分成三大类,

2. ACID原则

关系型数据库(RDBMS)必须遵循这个原则

  1. A(Atomicity)原子性
    事物的所有操作都是原子性的,要么全部完成,要么全部都不做;
  2. C(Consistency)一致性
    数据库要一直处于一致的状态
  3. I(Isolation)独立性
    并发的事物(Transaction)不会互相影响
  4. D(Durability)持久性
    一旦事务提交以后,它所做的修改将会永远保存在数据库上。宕机不丢失数据。

3. BASE原则

BASE是NoSQL数据库对可用性以及一致性的弱要求原则,也就是说分区容忍性是必须的。

4. SQL和NOSQL

SQL NoSQL
通常称之为关系型数据库(RDBMS) 是Not Only SQL的缩写,通常也叫做非关系型数据库或者分布式数据库
基于表格的数据库,数据存储成一个n行的表格 可以是基于文档,基于键值对,或者是基于图的数据结构
需要预先定义schema 可以针对不同非结构化的数据有动态的schema
可以纵向扩展,只能通过增加硬件能力来增加容量 可以横向扩展,可以通过增加资源池里的数据库服务器来降低负载
采用SQL(结构化的查询语言)来进行数据的操作 不同的数据库有不同的查询格式
适合复杂查询 复杂查询比较困难
不适合分层数据保存 适合分层数据,非常适合大数据集

5, 不同的数据库技术

数据库产品 类型 简介
Mongo 文档存储,NoSQL 使用JSON类型的数据结构,存储内容是文档型;多线程的软件架构,一个连接一个线程
Redis 键值存储,NoSQL 使用key-value的方式存储,支持String,set,hash,list等类型;单进程单线程线程的软件架构,只支持单核,支持高并发
MySQL 表格存储,SQL 常用的SQL数据库
上一篇 下一篇

猜你喜欢

热点阅读