sql与各个nosql数据库使用场景的讲解

 更新时间:2019年03月27日 09:24:06   作者:半空中的飞鱼  
今天小编就为大家分享一篇关于sql与各个nosql数据库使用场景的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

sql为主干为什么我这样理解:

单从技术角度来说

  • 关系型网格 充分的体现了现实事务
  • 对事务,审计,闪存等等对数据的重视所以如何一些特别主要的数据,一定要放到sql里面。一个系统里面至少有用户信息是重要的数据。
  • 所以sql必须有,而且数据存储的主干

什么时候引入nosql

先看看sql - > sql + nosql的过程。

https://www.jb51.net/article/79236.htm 为什么要使用NoSQL

这些nosql?

对java语言而言:

  • redis:用于缓存 - 读速度极快(内存中)
  • mongoDb - 读写事务都是均衡的.node.js开发的json
  • Neo4j - .java的的比较像SQL但查询更快,可惜高级功能收费… - 社交(图像数据库)
  • Cassandra - 写数据比读快.-用于日志的存放。
  • HBase 离线分析

我的设想:

java语言而言:

  • - redis用于缓存(值里面存javabean)和不需要存储的热数据
  • - mongoDb用于不太重要的但要储的内容.
  • - Cassandra 用于管理 日志强烈建议(把日志放到数据库里面。)
  • - HBASE 离线分析,大数据
  • - solr,ES - 站内搜索和代替里面的SQL等
  • - 或者用neo4j代替sql数据库 , 有对事务要求的时候,单独起一个优先级为2的线程存到sql里面.

NoSQL纪元

当下已经存在很多的NoSQL数据库,比如MongoDB、Redis、Riak、HBase、Cassandra等等。每一个都拥有以下几个特性中的一个:

  • 不再使用SQL语言,比如MongoDB、Cassandra就有自己的查询语言
  • 通常是开源项目
  • 为集群运行而生
  • 弱结构化——不会严格的限制数据结构类型

适用的场景

储存用户信息,比如会话、配置文件、参数、购物车等等。这些信息一般都和ID(键)挂钩,这种情景下键值数据库是个很好的选择。

不适用场景

1)取代通过键查询,而是通过值来查询。Key-Value数据库中根本没有通过值查询的途径。

2)需要储存数据之间的关系。在Key-Value数据库中不能通过两个或以上的键来关联数据。

3)事务的支持。在Key-Value数据库中故障产生时不可以进行回滚。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • MySQL数据库的约束限制详解

    MySQL数据库的约束限制详解

    这篇文章主要介绍了MySQL数据库的约束限制详解,数据库的约束是对表中数据进行的一种限制,为了保证数据的正确性、有效性、完整性,下文简单介绍需要的朋友可以参考一下
    2022-08-08
  • Centos7 移动mysql5.7.19 数据存储位置的操作方法

    Centos7 移动mysql5.7.19 数据存储位置的操作方法

    这篇文章主要介绍了Centos7 移动mysql5.7.19 数据存储位置的实现方法,需要的朋友可以参考下
    2017-10-10
  • Mysql中通用表达式WITH AS语句的使用实例代码

    Mysql中通用表达式WITH AS语句的使用实例代码

    with as也叫子查询,用来定义一个sql片段,且该片段会被整个sql语句反复使用很多次,这个sql片段就相当于是一个公用临时表,下面这篇文章主要给大家介绍了关于Mysql中通用表达式WITH AS语句使用的相关资料,需要的朋友可以参考下
    2022-08-08
  • mysql 事务解析

    mysql 事务解析

    这篇文章主要给大家分享的是mysql事务解析,事务(transaction)是业务逻辑的一个基本的单元组成,下面文章围绕mysql事务的相关资料展开详细内容,需要的朋友可以参考一下希望对大家有所帮助
    2021-11-11
  • linux mysql忘记密码的多种解决或Access denied for user ''root''@''localhost''

    linux mysql忘记密码的多种解决或Access denied for user ''root''@''local

    linux mysql忘记密码的多种解决方法。
    2009-07-07
  • MySQL函数CONCAT、CONCAT_WS、GROUP_CONCAT用法详解

    MySQL函数CONCAT、CONCAT_WS、GROUP_CONCAT用法详解

    这篇文章主要介绍了MySQL函数CONCAT、CONCAT_WS、GROUP_CONCAT用法详解,CONCAT 函数用于将两个字符串连接为一个字符串,本文通过实例代码详细讲解,需要的朋友可以参考下
    2023-02-02
  • MySQL系列之三 基础篇

    MySQL系列之三 基础篇

    本文主要介绍了MySQL基础使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • MySQL5.7.20解压版安装和修改root密码的教程

    MySQL5.7.20解压版安装和修改root密码的教程

    这篇文章主要介绍了MySQL5.7.20解压版安装和修改root密码的教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • MySQL触发器的使用场景及方法实例

    MySQL触发器的使用场景及方法实例

    这篇文章主要给大家介绍了关于MySQL触发器的使用场景及方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • MySQL查询优化--调整内部变量的详解

    MySQL查询优化--调整内部变量的详解

    本篇文章是对MySQL查询优化中的调整内部变量进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论