数据库简介、及常用数据库介绍
一、数据库简介
数据库:就是数据的仓库,它是长期存储在计算机内,有组织的、可共享的数据的集合。
数据库管理系统(DBMS: 用来对数据进行存储、管理等操作的软件
二、数据库分类
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。而在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库(SQL)和非关系型数据库(NoSQL,Not Only SQL)。
关系型数据库
关系 :关系就是二维表。并满足如下性质:
- 表中的行、列次序并不重要
- 行row:表中的每一行,又称为一条记录
- 列column:表中的每一列,称为属性,字段 field 域
- 主键PK(Primary key):用于惟一确定一个记录的字段 外键FK
- 域domain:属性的取值范围,如,性别只能是‘男’和‘女’两个值
缺点:性能没有非关系性数据库好 优点:数据统计有严谨性
非关系型数据库
NoSQL数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。
- 搜索键值存储数据库(key-value):
键值数据库就类似传统语言中使用的哈希表。可以通过key来添加、查询或者删除数据库,因为使用key主键访问,所以会获得很高的性能及扩展性。Key/value模型对于IT系统来说的优势在于简单、易部署、高并发。典型产品:Memcached、Redis、MemcacheDB - 列存储(Column-oriented)数据库
列存储数据库将数据存储在列族中,一个列族存储经常被一起查询的相关数据,比如人类,我们经常会查询某个人的姓名和年龄,而不是薪资。这种情况下姓名和年龄会被放到一个列族中,薪资会被放到另一个列族中。这种数据库通常用来应对分布式存储海量数据。
- 面向文档(Document-Oriented)数据库
文档型数据库可以 看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。面向文档数据库会将数据以文档形式存储。典型产品:MongoDB 适用于敏捷开发
常见关系型数据库:
- 大型:Oracle、DB2 等;
- 中型:SQL Server、MySQL 等;
- 小型:Access 等。
三、关系型数据库和非关系型数据库比较:
关系型数据库:
关系型数据库,是指采用了关系模型来组织数据的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
关系型数据库的最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID的特点,这个特性使得关系型数据库可以用于几乎所有对一致性有要求的系统中,如典型的银行系统。
优点:
- 容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解
- 使用方便:通用的SQL语言使得操作关系型数据库非常方便
- 易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率
- 数据读写必须经过sql解析,大量数据、高并发下读写性能不足。对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
- 具有固定的表结构,因此扩展困难。
- 多表的关联查询导致性能欠佳
非关系型数据库
特点:
- 非结构化的存储。
- 基于多维关系模型。
- 具有特有的使用场景。
优点:
- 高并发,大数据下读写能力较强。(基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高)
- 基本支持分布式,易于扩展,可伸缩。(因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。)
- 简单,弱结构化存储。
缺点:
- 事务支持较弱。
- 通用性差。
- 无完整约束复杂业务场景支持较差。
数据库简介、及常用数据库介绍相关推荐
- 数据库分类及常用数据库
数据库常见类型分为四种:层次式数据库.网络式数据库.关系型数据库.非关系型数据库. 但是常用数据库类型为:关系型数据库和非关系型数据库. 关系型数据库: 将复杂的数据结构归结为简单的二元结构(也可以叫 ...
- 查询mysql视图_MySQL数据库简介及常用命令
MySQL简介: 1.MySQL发展史:MySQL是my ess que ell而不是myseqel.开发者是瑞典的MySQL AB公司的monty widenius,2008年被sun公司收购,09 ...
- MYSQL数据库简介和常用的基本SQL语句
1.MYSQL数据库简介 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理. 2.常用数据类型 ...
- tomcat连接mysql数据库_tomcat连接常用数据库的用法
一.用于数据库连接的术语: JDBC:(Java database connectivity)是基于java数据访问技术的一个API通过客户端访问服务器的数据库,是一个面向关系型数据库并提供一种方法查 ...
- mysql数据库工具Navicat常用快捷键介绍
Navicat快捷键: Ctrl+Q 打开查询窗口 Ctrl+/ 注释sql语句 Ctrl+Shift +/ 解除注释 Ctrl+R 运 ...
- 2016.3.22(关系型数据库简介,管理数据库和表)
数据库的集中式控制有什么优点? 1:降低存储数据的冗余度 2:更高的数据一致性 3:存储数据的可以共享 4:可以建立数据库所遵循的标准 5:便于维护数据完整性 6:能够实现数据的安全性 存储数据有哪些 ...
- mysql数据库数据类型money_常用数据库基本数据类型
数据类型 描述 存储 Text 用于文本或文本与数字的组合 最多 255 个字符. Memo Memo 用于更大数量的文本.最多存储 65,536 个字符. 注释:无法对 memo 字段进行排序.不过 ...
- HTML简介及常用标签介绍
一.概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以 ...
- MySQL数据库简介数据库介绍
MySQL数据库简介 一.数据库介绍 (一)数据库相关概念 数据库是"按照数据结构来组织.存储和管理数据的仓库".是一个长期存储在计算机内的.有组织的.有共享的.统一管理的数据集合 ...
- php mysql数据库简介,mysql数据库
数据库简介 什么是数据库 保存和管理数据的仓库,数据库 什么是数据 文件,图片,视频,订单,用户名,密码等等.这些数据都需要有专门的地方来保存和管理 数据库的分类 关系型:mysql ... 非关系型 ...
最新文章
- python入门教程 官方-Python 入门指南
- 计算机硬件结构中负责识别,计算机硬件基本结构树状图
- 在PLSQL中,存储过程的输出参数(varchar2)最大支持多大
- php地理位置辐射范围,基于路网距离的城市辐射范围确定方法
- Android之自定义ViewGroup
- access 动态 top 条件_2020年10月抖音直播营销报告_行业动态
- JavaScript高级程序设计(第3版).pdf
- 电脑重装系统超详细完整教程图解
- 模糊PID控制算法的C++实现
- 动态代理(JDK动态代理)初步详解
- cesium-事件监听(获取点击位置的经纬度和高度)
- python代码块符号_Python 中代码块是用下列()符号代表的。_学小易找答案
- ps添加的阴影怎么去除_ps怎么可以把阴影去除
- 为什么不能每周发布一次?
- zabbix 监控hp 打印机
- 继俄罗斯之后,中国也要拥有自己的 Sailfish 移动系统了
- 2021 年8月份最新数据库排行榜出炉
- Secure CRT 7.0 通过 SSH服务登录 Vmware 下的Ubuntu 12.04服务器
- 算法竞赛入门经典(第二版)-刘汝佳-第六章 数据结构基础 习题(12/14)
- SPOJ - COT Count on a tree [LCA+主席树]【数据结构】
热门文章
- Excel 去除重复行
- 火影手游 所有忍者 奥义 台词
- java开发融云web聊天
- linux安装android x86_64,在VirtualBox上安装Android-X86
- 【随笔记】Deepin20 Linux 下安装编译NGINX
- 身家破亿!86版「红孩儿」拒绝出道成学霸,已是中科院博士,名下52家公司
- HTML基础实战-HTML内的页面跳转及常用标签用法(图文:刺客信条英灵殿测评)
- Flutter 扩展NestedScrollView (一)Pinned头引起的bug解决
- Sticky Footer , fixed footer, pinned footer
- 手机开热点,电脑连,关于两个局域网的问题