1.数据库概述 

数据库(别称database、db)指的是长期存在计算机内、有组织、可共享的、大量数据的集合。数据是按照特定的数据模型来组织、存储在数据库中的。

关系型数据库:它是将数据以关联关系或者二维表的形式存储的数据库。如 oracle(甲骨文)、mysql、postgre、sql server(微软)等。

二维表:每个关系都具有一个关系名,也称为表名。

属性:二维表内列,也称为字段。

内容:二维表内行,也称为数据或记录。

关联关系:表和表之间的引用,比如订单表,用户表,商品表之间的关系

优点:1. 容易理解。

           2.使用方便:sql语言。

           3.易于维护。

缺点:1. 遇到高并发情况,硬盘I/O成为最大瓶颈。

           2.进行横向扩展的时候,遇到大数据时,需要进行数据迁移或者停机维护等。

           3. ACID,https://baike.baidu.com/item/acid/10738?fr=aladdin

        Acid:指数据库管理系统(DBMS),为确保事务是正确可靠的,必须具备的四个特性(原子性、一致性、隔离性、持续性)
 

      非关系型数据库:一般是以键值对(Key-Value)方式存储数据的数据库。如 redis、hadoop(hbase)、MongoDB 等 json

例:{key1:value1,key2:value2....}

{id:1,username:”张三”}

非关系数据库,非关系型,分布式的,并且不保证遵循ACID原则,且结构不固定。

优点:空间利用率较好,用户可以根据需求任意添加字段,

   适用于SNS(social networking service)比如,fb,微博。

缺点:处理简单数据结构,文字,图片,视频。

  非关系数据库的分类:

      面向高性能并发的key-value数据库。

      面向海量数据访问文档的数据库。

      面向搜索内容的搜索引擎。

 关系型与非关系型数据库的比较:

1.成本:Nosql数据库简单易部署,基本都是开源软件,不需要像使用Oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。

2.查询速度:Nosql数据库将数据存储于缓存之中,而且不需要经过SQL层的解析,关系型数据库将数据存储在硬盘中,自然查询速度远不及Nosql数据库。

3.存储数据的格式:Nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。

4.扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。Nosql基于键值对,数据之间没有耦合性,所以非常容易水平扩展。

5.持久存储:Nosql不使用于持久存储,海量数据的持久存储,还是需要关系型数据库

6.数据一致性:非关系型数据库一般强调的是数据最终一致性,不像关系型数据库一样强调数据的强一致性,从非关系型数据库中读到的有可能还是处于一个中间态的数据,

7.Nosql不提供对事务的处理。

2.Oracle数据库概述

Oracle Database,又名Oracle RDBMS,或简称Oracle,是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。

注:

数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS

关系数据库管理系统(Relational Database Management System:RDBMS)是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。关系数据库管理系统就是管理关系数据库,并将数据逻辑组织的系统。