视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
sql与各个nosql数据库使用场景的讲解
2020-11-09 21:15:46 责编:小采
文档

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

单从技术角度来说

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

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

    https://www.gxlcms.com/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数据库中故障产生时不可以进行回滚。

    总结

    下载本文
    显示全文
    专题