前言

在网上有关Redis相关文章满天飞的时候,它是什么,用于解决什么问题,有哪些相类似的技术,与传统的关系型数据库有哪些差别,什么时候使用?这个时候我决定重温一下《NoSQL精粹》。

也正如书中所说的,篇幅短小,内容却很丰富。新技术的诞生,我们应该以既稳健又前瞻的心态看待它。


它是什么,用于解决什么问题?

其实NoSQL的定义并不准确,初意Not Only SQL,不是表达 No,SQL !

它就泛指现在描述的非关系型数据库,帮助主张无模式(schemaless)的数据,可以运行在集群环境,能够牺牲传统数据库所具备的一致性,换取一些新特性。能构建出稳定性更高,扩展性更好的编程系统。主要解决以下两个问题:

  1. 应用程序的开发效率。更符合应用程序的数据模型,简化交互,减少代码量。
  2. 大规模数据。快速获取并处理数据。

也正如脑图中所列出的点,它的一致性、分布式、持久化和映射化简是重点内容。

 
 
 

它的“友邦”

 
 
 
分布式模型

催生NoSQL的主要原因是:需要一种能勾运行在大集群上的数据库。随着数据量越来越多,购买服务器的纵向扩展scale up会变得愈发困难和昂贵,所以催生横向扩展的面向聚合数据库。

选择合适的数据库

宽泛的说,选用NoSQL数据库就前面提到的,效率,性能两个问题。两种因素可能互补也可能相互冲突,因为很难将数据存储模型的决策过程抽象出来,稍后再要修改,也颇为不易。

在决定适用某个NoSQL技术前,一定要测试其是否如预期般改进了程序员工作效率及数据访问性能。用服务封装数据库,能在需求变更或技术成熟后改换其他数据库技术。

重温《NoSQL精粹》的更多相关文章

  1. NoSQL精粹(NoSQL Distilled)——序言

    之前说到博客长草的问题,想了想除了很忙特别忙非常忙各种瞎忙忙你妹啊外,主要还是不知道写什么好--到这家公司的两年中从JS到领域驱动到缓存服务器从前端到后端各种折腾,有些东西虽然有所心得,不过既然前人已 ...

  2. 《NoSQL精粹》思维导图读书笔记

    <NoSQL精粹>思维导图读书笔记 各主题笔记 这本书短小精悍,虽不能解答所有NoSQL疑问,但在读书过程中会抛给你不少未曾想过的问题,给人以更深入的思考: 这里对每一个主题分别做了笔记: ...

  3. 《NoSQL精粹》读后感

    <NoSQL精粹>作者Pramod J. Sadalaga.Martin Flower著,译者爱飞翔. 本书以关系型数据库开头,讲解了关系型数据库的优缺点,然后引入了NoSQL数据库,并且 ...

  4. 读《NoSQL精粹》前三章有感

    现在NoSQL很流行,所以买了一本这方面的书,这本书虽然很薄 156页,但是感觉的确是大师的经验之谈,对于自己经验还是很少.无法能完全能心领神会,大师所说的,就像一个人说药苦,你没吃过.再听别人描述也 ...

  5. NoSQL 精粹

    1.2 阻抗失谐:关系型数据库过于简单和标准的表达方式(表+行或者说关系relation+元组tuple)不能很好的映射到应用(如表达嵌套:和其它表达方式如XML).解决办法:对象-关系映射框架,但查 ...

  6. 《NoSQL精粹》读书笔记

    NoSQL数据库数据模型的一般分类: 1. 键值数据模型 2. 文档数据模型 3. 列族数据模型 4. 图数据模型 常见NoSQL数据库: Redis, Cassandra, MongoDB, Neo ...

  7. NoSql 精粹导读图

  8. 《Nosql精粹》—— 读后总结

  9. NoSql数据库初探-mongoDB环境搭建

    NoSQL数据库一改关系型数据库的缺点,更容易的集成.分布式.无模式.故障恢复等特点,正在一步步餐食关系型数据库的市场,作为一个与时俱进的码农了解一下新技术是必须的,尤其是在读了<NoSql精粹 ...

随机推荐

  1. 【Angular】父组件监听子组件事件(传参)

    Angular官方文档Demo地址:>component-interaction#parent-listens-for-child-event 举一个自己在写的项目

  2. Cobalt Strike系列教程第四章:文件/进程管理与键盘记录

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  3. 2019 DevOps 必备面试题——DevOps 理念篇

    原文地址:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君 ...

  4. Doxygen程序注释转换说明文档

    Doxygen使用 https://www.jianshu.com/p/9464eca6aefe

  5. raspberry-gpio-python(树莓派GPIO与Python编程)

    国外的设计接口设计得很棒,包括问题:读脏与防抖,还包括读这个数据提供了两种方式,一种是阻塞等待方式,还有一种是回调函数,前一种是通讯中常用的方式,后一种来自系统架构设计的整体性考虑.这种硬件接口设计的 ...

  6. 算法问题实战策略 FENCE

    地址 https://algospot.com/judge/problem/read/FENCE 开始考虑暴力遍历 #include <iostream> #include <str ...

  7. 2019 SDN上机第5次作业

    2019 SDN上机第5次作业 1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 描述官方教程实现了一个什么样的交换机功能? 答:官方教程实现了一 ...

  8. DRF--认证和权限

    前戏 大家都知道http协议是无状态的,每次发送请求他们怎么知道我们是不是登录过呢?我们可以在用户登录之后给用户一个“暗号”,下次请求的时候带着这个“暗号”来.我们拿自己存的和携带过来的进行对比,如果 ...

  9. 详解 Redis 应用场景及原理

    本文转自https://blog.csdn.net/niucsd/article/details/50966733,描述了redis实现原理和应用场景,篇幅较长,有意学习redis的同学可耐心阅读. ...

  10. 立足于运维与监控的前端框架 NoahV

    NoahV是一个致力于解决中后台前端效率问题的前端框架,立足于运维和监控的应用场景,使用当前前端最新的技术栈并结合团队在项目开发中的最佳实践从而推出的前端开发框架. NoahV提供的功能覆盖了从开发到 ...