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)是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。关系数据库管理系统就是管理关系数据库,并将数据逻辑组织的系统。