〓数据库的分类〓

数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。

而在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库。

数据库分类

 

〓关系型数据库介绍〓

 

1、关系型数据库的由来

虽然网状数据库和层次数据库已经很好的解决了数据的集中和共享问题,但是在数据库独立性和抽象级别上扔有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而关系型数据库就可以较好的解决这些问题。

2、关系型数据库介绍

关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。

关系型数据库诞生40多年了,从理论产生发展到现实产品,例如:Oracle和MySQL,Oracle在数据库领域上升到霸主地位,形成每年高达数百亿美元的庞大产业市场。

3、关系型数据库表格之间的关系举例

关系型数据库举例

 

〓非关系型数据库介绍〓

 

1、非关系型数据库诞生背景

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSql数据库在特定的场景下可以发挥出难以想象的高效率和高性能,它是作为对传统关系型数据库的一个有效的补充。

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

2、非关系型数据库种类

 

(1)键值存储数据库(key-value)

键值数据库就类似传统语言中使用的哈希表。可以通过key来添加、查询或者删除数据库,因为使用key主键访问,所以会获得很高的性能及扩展性。

键值数据库主要使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署、高并发。

典型产品:Memcached、Redis、MemcacheDB

(2)列存储(Column-oriented)数据库

列存储数据库将数据存储在列族中,一个列族存储经常被一起查询的相关数据,比如人类,我们经常会查询某个人的姓名和年龄,而不是薪资。这种情况下姓名和年龄会被放到一个列族中,薪资会被放到另一个列族中。

这种数据库通常用来应对分布式存储海量数据。

典型产品:Cassandra、HBase

(3)面向文档(Document-Oriented)数据库

文档型数据库的灵感是来自于Lotus Notes办公软件,而且它同第一种键值数据库类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。

面向文档数据库会将数据以文档形式存储。每个文档都是自包含的数据单元,是一系列数据项的集合。每个数据项都有一个名词与对应值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关联对象。数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用XML、JSON或JSONB等多种形式存储。

典型产品:MongoDB、CouchDB

(4)图形数据库

图形数据库允许我们将数据以图的方式存储。实体会被作为顶点,而实体之间的关系则会被作为边。比如我们有三个实体,Steve Jobs、Apple和Next,则会有两个“Founded by”的边将Apple和Next连接到Steve Jobs。

典型产品:Neo4J、InforGrid

超全的数据库分类介绍相关推荐

  1. 超全的数据库建表/SQL/索引规范,适合贴在工位上!

    背景 ​ 因为工作岗位的原因,负责制定了关于后端组数据库的规约规范,作为所有产品线的规范,历经几版的修改,最终形成下边的文本,规范在整个后端执行也有大半年的时间,对于整个团队在开发阶段就减少不恰当的建 ...

  2. sql datetime 排序_超全的数据库建表/SQL/索引规范,建议贴在工位上!

    作者:浮雷来源:juejin.im/post/6871969929365553165 「背景」 因为工作岗位的原因,负责制定了关于后端组数据库的规约规范,作为所有产品线的规范,历经几版的修改,最终形成 ...

  3. datetime建立索引有用吗_超全的数据库建表、SQL、索引规范

    背景 因为工作岗位的原因,负责制定了关于后端组数据库的规约规范,作为所有产品线的规范,历经几版的修改,最终形成下边的文本,规范在整个后端执行也有大半年的时间,对于整个团队在开发阶段就减少不恰当的建表语 ...

  4. 中职生计算机专业600分,来了!超全盘点高职分类中500-600分及以上的高中生能报的专业和院校名单!...

    福建高职分类考试志愿填报 4月27日开始,招生计划不断更新中 关注[福建高考],免费使用志愿填报工具 参加高职分类的同学们 志愿填报在即,你定好目标了吗? 本期,小编为大家盘点高职分类各分段的高中生 ...

  5. datetime 索引_超全的数据库建表/SQL/索引规范,适合贴在工位上!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:又一程序员进了ICU:压垮一个家庭,一张结算单就够 个人原创100W+访问量博客:点击前往,查看更多 来源:ht ...

  6. 超全的数据库建表、SQL、索引规范

    背景 因为工作岗位的原因,负责制定了关于后端组数据库的规约规范,作为所有产品线的规范,历经几版的修改,最终形成下边的文本,规范在整个后端执行也有大半年的时间,对于整个团队在开发阶段就减少不恰当的建表语 ...

  7. 正确率能很好的评估分类算法吗_机器学习算法:分类知识超全总结!

    关注上方"Python数据科学",选择星标,关键时间,第一时间送达! ☞500g+超全学习资源免费领取  Datawhale,译者:张峰本文将介绍机器学习算法中非常重要的知识-分类 ...

  8. 【PyTorch】构造VGG19网络进行本地图片分类(超详细过程)——项目介绍

    本篇博客主要解决以下3个问题: 如何自定义网络(以VGG19为例). 如何自建数据集并加载至模型中. 如何使用自定义数据训练自定义模型. 第一篇:[PyTorch]构造VGG19网络进行本地图片分类( ...

  9. 数据库的介绍、分类、作用和特点

    1. 数据库的介绍 数据库就是存储和管理数据的仓库,数据按照一定的格式进行存储,用户可以对数据库中的数据进行增加.修改.删除.查询等操作. [在数据库中输错,按住"ctrl+c"重 ...

最新文章

  1. SQL 基础之索引、闪回、临时表(十八)
  2. 分享一个帮助用户全屏阅读的jQuery插件 - jQuery fullscreen
  3. c语言程序设计江宝钏第九章,C语言程序设计 (江宝钏 著) 清华大学出版社 第9章习题答案1...
  4. Java源码研究之object to json string debug
  5. 211高校博士生入住隔离宿舍,疫情防控下科研进度不能停!
  6. numpy+pandas+matplotlib画箱形图
  7. 【java】java 并发编程 CopyOnWriteArrayList
  8. 可以写计算机哪些方面的论文,计算机应用基础方面论文题目 计算机应用基础论文题目哪个好...
  9. JavaScript中常见的字符串操作函数及用法
  10. 【玩转Colab】GitHub标星3.6k | 给AI一张高清照片,分分钟还你细节满满的3D人体模型!
  11. 雷达原理---时频分析--4.小波分解在信号分析中的应用实例
  12. 不用百度网盘客户端下载文件
  13. 百万不是梦!盘点2012年六大IT高薪岗位
  14. 如何申请注册微软邮箱(支持海外apple ID注册)亲测
  15. astropy.io.fits 教程
  16. 高精度ua级恒流源_高精度低温漂CMOS电流源的设计
  17. 计算机专业课题 结题报告,《有效技能研究与实践》课题结题报告
  18. DellR720-硬raid5
  19. 电工实验室基本生存技能 第一季第三集
  20. ubuntu wps缺少字体_一个字体:系统风汜霰更纱黑

热门文章

  1. 全面开花,势如破竹------联想业绩创新高的启示
  2. 关于win7便笺无法使用qq拼音输入法
  3. linux网络共享容易中毒吗,linux会不会中毒?
  4. 控制面板里打印服务器显示叹号,控制面板显示设备上有叹号怎么回事?
  5. python 百度翻译 有道翻译
  6. JavaScript-----双叹号的使用
  7. Javascript cloneNode无法克隆事件
  8. 使用fs.mkdir来创建文件夹
  9. async/awiat和promise之间的区别
  10. blender2.8 重拓扑布线小技巧1 优雅的分叉