基于自己的理解,对几个常见的NoSQL数据库进行一下简单介绍,如有描述错误的,还请指正一下哈

一、数据库分类

数据库分两大类:SQL数据库和NoSQL数据库
SQL数据库
常用的有
Mysql、Oracle、MSSQL、DB2等,这些大家应该都比较熟悉,都是SQL查询,语法大同小异。

NoSQL数据库
NoSQL数据库与传统的SQL数据库不同,SQL数据库是按行存储数据的,而NoSQL数据库按数据存储结构分以下四类:

类型 其中的扛把子
键值数据库 Redis
列族数据库 Hbase
图数据库 neo4j
文档数据库 MongoDB

二、几类常用NoSQL数据库简介

1、Redis

Redis算是这几类之中最常见的了,因其高速的特点,常用作缓存。

为什么Redis速度贼快?

  • 数据在内存,读写都在内存,速度远超从磁盘读写(会异步持久化到磁盘,不会关个机就数据全丢)
  • 单线程读写,不会有多线程频繁切换上下文或者抢资源造成的额外开销(只是读写单线程,持久化之类的操作还是其他线程在做的)
  • 非阻塞的多路复用,提高线程工作效率(这个不太好解释,类似你到某个地方去修手机(维修中心只有一个人),有个人A排在你后面,维修中心的工作人员接待你进行登记之后,然后需要你再提供发票;你回家去拿发票,维修中心的工作人员不会一直等着你,而是会暂时对A提供服务,等你回来了就暂停对B的服务,继续对你的服务,等你这边结束了再继续A的)

应用场景

  • 高并发读写场景下,对某些不经常变更的信息做缓存,避免直接访问数据库(需要注意缓存穿透、雪崩)
  • 分布式锁
  • 计数(例如商品秒杀的计数,并发或多线程情况下需要注意是否算错)
  • 保存session 等

2、Hbase

Hbase主要是应用于大数据方向,搭建在大数据平台上,结合分布式文件系统HDFS使用;

Hbase的数据结构

  • 数据是如何存储到文件的?
    其特点是以列族为文件来存储数据,有多少个列族就有多少个文件,以Hfile压缩存储到HDFS
    在存储数据前会根据rowKey进行数据排序,而查询数据时,是根据rowKey+列族|字段去查询数据的,因此在Hbase中,对于rowKey如何定义很重要,好的rowKey设计,能够大大提高数据的查询效率
  • 每个行列的cell带了哪些信息?
    rowKey(用于定位数据)
    字段值
    时间戳(cell数据发生变更,不会覆盖旧数据,而是会生成一个带新的时间戳的记录,可设置保留多少条旧记录或者多少天的)

Hbase的应用

  • 主要是在数仓或分析平台,进行海量数据的分析处理

3、neo4j

neo4j是一个图数据,是用于存储各种关系,主要用于社交推荐、关系透视啥的
例如:你跟你前女友存在关系,你现女友跟你存在关系,某社交软件把你前女友推荐给现女友,就是通过图数据找到他俩之间存在关系的

neo4j的特点

  • 单一纯粹,就是存储和找关系的,在查询关系上有着SQL数据库无法比拟的速度
  • UI界面好看,真的好看

存储结构

  • neo4j是将定长的信息和非定长的信息分开存储的
  • 链式存储,节点是单向链表,关系是双向链表

4、MongoDB

这个没用过,只知道是BSON(二进制json)文档存储,主要用于爬虫相关的数据存储

【数据库】NoSQL数据库简介相关推荐

  1. 【Redis6快速深入学习01】NoSQL数据库简介

    文章目录 1 NoSQL数据库简介 1.1 技术发展 1.2 NoSQL数据库 1.3 行式存储数据库(大数据时代) 1.4 图关系型数据库 1 NoSQL数据库简介 1.1 技术发展 技术的分类 解 ...

  2. 面向初学者的图形数据库:为什么我们需要NoSQL数据库,ACID与BASE的解释说明

    Table of Contents 为什么我们需要NoSQL数据库 NoSQL数据库的Many&Motley世界 数据量 数据速度 数据种类 数据价 结论 ACID与BASE的解释说明 ACI ...

  3. NoSQL数据库的基础知识

    关系型数据库和NoSQL数据库 什么是NoSQL 大家有没有听说过"NoSQL"呢?近年,这个词极受关注.看到"NoSQL"这个词,大家可能会误以为是" ...

  4. NoSQL 数据库有哪些典型应用?

    之前介绍了数据库读写分离和分库分表相关知识,都是针对关系型数据库的,即通常说的 RDBMS.除了关系型数据库,NoSQL 在项目开发中也有着越来越重要的作用,与此同时,NoSQL 相关的内容也是面试的 ...

  5. NoSQL数据库入门概述

    关系型数据库与NoSql数据库 什么是NoSQL Not Only SQL,其含义是:适合关系型数据库的时候就是用关系型数据库,不适用的时候也没必要非得使用关系型数据库不可,可以考虑使用更加合适的数据 ...

  6. NoSQL数据库是什么?

    数字化转型是使用可扩展.可定制的互联网和移动应用程序为客户提供服务的趋势的名称.这些应用程序通常很难使用 SQL 技术构建和快速发展.出于这个原因,从 2000 年代中期到 2020 年,我们看到 N ...

  7. NoSQL数据库Redis使用命令简介

    NoSQL 数据库Redis使用命令简介 NOSQL数据库可以按照它们的数据模型分成4类: 1.键-值对存储库(Key-Value) redis-- 2.BigTable实现(BigTable-imp ...

  8. [Redis6]NoSQL数据库简介_特点

    NoSQL数据库简介 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",泛指非关系型的数据库. NoSQL 不依赖业务逻辑方式存储,而以简单的key ...

  9. NoSQL数据库--简介

    一.What's NoSQL? NoSQL,全称是"Not Only Sql",指的是非关系型的数据库.这类数据库主要有这些特点:非关系型的.分布式的.开源的.水平可扩展的.原始的 ...

  10. NoSQL 数据库 简介

    一.  NoSQL概念 开源的数据库用的最多的是PostgreSQL和MySQL. 关于这2者的对比,参考我的Blog: MySQL 和 PostgreSQL 对比 http://blog.csdn. ...

最新文章

  1. 注意 ExecuteNonQuery() 返回值
  2. SSE图像算法优化系列一:一段BGR2Y的SIMD代码解析。
  3. BZOJ1801: [Ahoi2009]chess 中国象棋
  4. 拉格朗日乘数法(一种寻找变量受一个或多个条件所限制的多元函数的极值的方法)
  5. [Android组件化]分发模块依赖倒置
  6. 欢迎使用CSDN-markdown编辑器!!!
  7. xhtml的行内描述性元素
  8. 第十节:委托和事件(2)(泛型委托、Func和Action、事件及与委托的比较)
  9. JSON.toJSONString 首字母不小写
  10. Django项目:CRM(客户关系管理系统)--83--73PerfectCRM实现CRM模板统一
  11. HDU2032 杨辉三角【入门+趣味程序】
  12. signal(SIGCLD,SIG_IGN)
  13. 遇到系统问题,先看OS再看CPU
  14. 推荐一款超级好用的开源项目画图工具
  15. 利用EXCEL计算标准差。
  16. Fdma, TDMA,cdma
  17. Mothur5进阶_Mothur扩增子基因序列分析_基于OTU或ASV的多样性指数分析
  18. err = Problems with launching via XPC. XPC error : Connection interrupted (0x00000005)
  19. feign实战(provider与consumer)
  20. 汉明码纠错java_汉明码纠错的基本原理及优化解决方案

热门文章

  1. B2B2C商城系统源码 多商户商城源码 Wap+App+小程序源码
  2. 网站采集工具免费采集发布网站后台
  3. 【vim编辑器的使用】
  4. 欢迎进入测试day01作业
  5. java生成dump文件_dump文件生成和分析查看
  6. 京东推荐系统实践——打造千人千面的个性化推荐引擎
  7. 怎么用U盘安装ubuntu系统具体步骤图文详解
  8. 疫情下的思考:全球疫情带来的危机与机遇
  9. ps -ef | grep 命令详解
  10. 关于VMware无法输入许可证密钥的方法