zoukankan      html  css  js  c++  java
  • 系统架构——NOSQL的应用

    为了理解NOSQL,不仿先看下一个应用系统数据是怎么流动的。

    数据库读取硬盘数据,生成查询结果,发送到应用程序变成键值对集合,然后程序中读取这些键值对,组装成相应的序列化对象,再传输到客户端呈现。

    但很多系统就是直接数据的存取,并没有多少复杂的业务逻辑,比如电商系统的商品展示,页面只要读取相应的商品信息就行了,那是不是有什么办法,让数据直接到达客户端?答案是肯定的,比如微软提供Sql Server的ODATA接口,不过ODATA还是需要关系数据库支撑的,Sql Server到了2016版本才支持InMemory,如果不使用InMemory,性能上肯定是没有太大的变化,只是说多了一层封装,可以少写点WEB服务。另外就是基于NOSQL的MongoDB和Ridis之类的,这类产品集合了数据缓存的功能,而且原生返回Json对象,不需要转换就可以直接推送到客户端,这样就大大提高了程序的性能,和开发效率。

    以MongoDb为例,看下NOSQL数据库提供了哪些功能。

    1、CRUD操作

    除了正常的添加删除,还提供批量写入,文本搜索,空间数据查询。数据的检索功能,大大降低了应用系统的数据过滤的压力,同时也确保了数据检索的准确性。

    2、聚合

    有管道方式和mapReduce方式进行数据汇总,获取分组数据。

    3、数据结构

    提供结构定义,数据检验,以保证数据的完整性。

    4、事务

    数据的完整性,减少数据冲突。

    5、索引

    增加数据的检索速度。

    6、复制

    数据热备,增强系统的可用性。

    7、集群

    集群增加了系统的可靠性,可以使用多个服务器分担大并发时的系统压力。

  • 相关阅读:
    JSP Web第五章整理复习 JSP访问数据库
    JSP Web第四章整理复习 JSP技术基础
    JSP Web第三章整理复习 开发环境搭建
    在n个球中,任意取出m个(不放回),求共有多少种取法
    递归比较字符串是否相等
    数组求和的3种常见递归方法
    打印begin~end
    jQuery简单实现图片预加载
    HTML5语义化标签重构页面
    jQuery插件slick实现响应式移动端幻灯片图片切换特效—大全
  • 原文地址:https://www.cnblogs.com/icoolno1/p/12818843.html
Copyright © 2011-2022 走看看