数据库

数据库是按照一定数据结构所定义并且用来组织,管理,存储数据的仓库。大家熟悉的MySQL数据库。就是其中的关系型数据库。而像redis这种的又是非关系型数据库,这类技术被称之为NoSQL,还有新出现的一类数据库,NewSQL,NewSQL是不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库对ACID和SQL特性的支持。
数据库行业真可谓百花齐放。
NoSQL是一种新型的技术。可以实现高吞吐量,不支持ACID数据库的设计范式。NoSQL没有统一的查询语言。
数据库中什么是关系型?什么是非关系型数据库呢?
关系型数据库中存储的数据都是有一定的关系的,如一个库,一张表,存储了名字:张三,年龄:20,性别:男。
这三个数据是有关系的,因为他们都是在描述同一个人。但是如果是Redis这种键值式数据库呢,只知道年龄20。至于这个年龄20是在说谁的年龄。Redis并不关心。如果是MongoDB这类的文档式数据库呢。名字,年龄,性别。这三个属性时一个整体,没错。但是,每个人都必须要记录名字,年龄,性别。而第二个人,李四,假如他多了一个属性,爱好,那么整个表都需要加这个属性吗?MongoDB不需要,文档与文档之间没有必然的联系。也就是,第一个人有3个属性,第二个人可以有4个属性。
按照数据库存储模型来说分为以下4类。
  • 列式存储模型
  • 文档数据模型
  • 键值数据模型
  • 图式数据模型

列式存储模型

应用场景:分布式数据存储,在分布式文件系统上支持随机读写的分布式数据存储。
典型的产品:Hadoop/Hbase,Hypertable 
数据模型:以“列”为中心进行存储,将同一列数据存储在一起。
优点:快速查询,高可扩展性,易于实现分布式扩展。

文档数据模型

应用场景:非强事务需求的web应用。
典型的产品:MongoBD,Elasticsearch
数据模型:键值模型,存储为文档模型
优点:数据模型无须事先定义,存储很随意。


键值数据模型

应用场景:内容缓存,用于大量的并行数据访问的高负载场景。
典型的产品:Redis,DynamoDB,LevelDB
数据模型:基于哈希表实现的key-value
有点:查询迅速,写入迅速
缺点:数据没有什么结构

图式数据模型

应用场景:社交网络、推荐系统,关系图谱(如陌陌的附近的人这样的功能)
典型的产品:Neo4J     
数据模型:图式结构
优点:适用于图式计算场景

几种数据库存储模型的对比相关推荐

  1. 【万字干货】OpenMetric与时序数据库存储模型分析

    摘要:解读OpenMetric规范和指标的模型定义基础上,结合当下主流的时序数据库核心存储及处理技术,尝试让用户(架构师.开发者或使用者)结合自身业务场景选择合适的产品,消除技术选型的困惑. 本文分享 ...

  2. 数据库存储模型-数据存储

    按照存储模型来说分为以下4类. 键值存储 列式存储 文档存储 图形存储 键值模型 键值数据模型的主要思想来自于哈希表:在哈希表中有一个特定的key和一个value指针,指向特定的数据.键值模型对于海量 ...

  3. 什么是存储引擎以及MySQL常见的三种数据库存储引擎

    转载

  4. 五大存储模型关系模型 键值存储 文档存储 列式存储 图形数据库

    也可以认为是五大数据库存储模型. 数据库市场需要细分,行式数据库不再满足所有的需求,而有很多需求需要通过本内存数据库和列式数据库解决,列式数据库在数据分析.海量存储.BI这三个领域有自己独到. 1. ...

  5. mysql的存储模型_一种BIM模型数据的数据库存储格式的制作方法

    本发明涉及建筑BIM技术领域,特别涉及一种BIM模型数据的数据库存储格式. 背景技术: 在Revit文件的数据格式中,有的遗漏数据,如FBX:有的封闭不够开放,如IFC:有的涉及操作比较复杂的数据库, ...

  6. 比较连续分配、分页和分段三种存储分配机制的优缺点_第十九期-处理器存储模型概述(1)...

    作者:罗宇哲,中国科学院软件研究所智能软件研究中心 上一期中我们介绍了ARMv8-A架构中的异常级别,从这一期开始的接下来四期我们将介绍ARMv8-A的存储模型.第一期我们将介绍存储模型中地址转换和访 ...

  7. python中文件的存储类型_关于python中数据存储大总结,涵盖文件系统和数据库存储两种方法-文件系统类型...

    存储数据是python必不可免的话题,数据的存储类型也多种多样,文件系统存储(.txt..csv..json.多媒体存储).关系型数据库存储(MySQL等).非关系型数据库存储(MongoDB).今天 ...

  8. 前端三种本地存储方式+indexedDB浏览器数据库存储

    1.cookie存储: 特征:1.不同的浏览器存放的cookie位置不一样,也是不能通用的.2.cookie的存储是以域名形式进行区分的,不同的域下存储的cookie是独立的.3.我们可以设置cook ...

  9. Yann LeCun新作:473种模型大对比,中日韩文本分类到底要用哪种编码?

    雷锋网 AI科技评论按:就在前几天,Yann LeCun(中文名:杨立昆,被称为卷积网络之父)与其学生 张翔在arXiv上发表了一篇新作<Which Encoding is the Best f ...

最新文章

  1. Mac上小巧实用的GIF格式录屏软件 LICEcap
  2. Android 解决不同进程发送KeyEvent 的问题
  3. H.264视频RTP负载格式/NALU的类型
  4. Android开发小技巧之商品属性筛选与商品筛选
  5. Spring AOP 功能使用详解
  6. 百度推出Apollo 3.5和Apollo Enterprise
  7. 老板必须亲自抓销售,公司越小越如此
  8. 引用一个falsh使它显示出来
  9. Java编程练习题3
  10. 定时器 Corn时间表达式
  11. 网络路径结点回溯分析工具
  12. Cannot load php5apache2_4.dll into server解决办法;
  13. Envi处理大气校正时报错,怎么解决呀
  14. 美国白宫《国家人工智能研究发展战略计划》
  15. 基于VHDL的交通灯设计(实训要求)
  16. 【原创】个人常用电脑软件、浏览器插件、手机APP常用推荐
  17. 十年一剑智能眼镜的中场战事
  18. 使用editor编辑器遇到的小问题:editor.md工具栏置顶
  19. vue+element中引入百度地图
  20. 分享一下杭州医院的看病流程(我去的杭州市第三人民医院)

热门文章

  1. Apollo Planning(三)
  2. 世上无奸商,只有笨顾客
  3. 【Nginx】面试官竟然问我Nginx如何生成缩略图,还好我看了这篇文章!!
  4. 流利说CEO王翌内部信:上市意味着巨大挑战和沉甸甸责任
  5. 直接把别人网站的 js css html 扒下来的 Chrome 插件【强烈推荐】
  6. JavaScript22-32:事件
  7. 028 二次型标准化 方法一配方法
  8. EXTJS 中grid 动态增加列的方法
  9. java反射底层原理,总结到位
  10. oracle查看impdp进度,impdp、expdp监控数据备份恢复完成进度(EXPDP/IMPDP/RMAN)