重温《NoSQL精粹》
前言
在网上有关Redis相关文章满天飞的时候,它是什么,用于解决什么问题,有哪些相类似的技术,与传统的关系型数据库有哪些差别,什么时候使用?这个时候我决定重温一下《NoSQL精粹》。
也正如书中所说的,篇幅短小,内容却很丰富。新技术的诞生,我们应该以既稳健又前瞻的心态看待它。
它是什么,用于解决什么问题?
其实NoSQL的定义并不准确,初意Not Only SQL,不是表达 No,SQL !
它就泛指现在描述的非关系型数据库,帮助主张无模式(schemaless)的数据,可以运行在集群环境,能够牺牲传统数据库所具备的一致性,换取一些新特性。能构建出稳定性更高,扩展性更好的编程系统。主要解决以下两个问题:
- 应用程序的开发效率。更符合应用程序的数据模型,简化交互,减少代码量。
- 大规模数据。快速获取并处理数据。
也正如脑图中所列出的点,它的一致性、分布式、持久化和映射化简是重点内容。

它的“友邦”

分布式模型
催生NoSQL的主要原因是:需要一种能勾运行在大集群上的数据库。随着数据量越来越多,购买服务器的纵向扩展scale up会变得愈发困难和昂贵,所以催生横向扩展的面向聚合数据库。
选择合适的数据库
宽泛的说,选用NoSQL数据库就前面提到的,效率,性能两个问题。两种因素可能互补也可能相互冲突,因为很难将数据存储模型的决策过程抽象出来,稍后再要修改,也颇为不易。
在决定适用某个NoSQL技术前,一定要测试其是否如预期般改进了程序员工作效率及数据访问性能。用服务封装数据库,能在需求变更或技术成熟后改换其他数据库技术。
重温《NoSQL精粹》的更多相关文章
- NoSQL精粹(NoSQL Distilled)——序言
之前说到博客长草的问题,想了想除了很忙特别忙非常忙各种瞎忙忙你妹啊外,主要还是不知道写什么好--到这家公司的两年中从JS到领域驱动到缓存服务器从前端到后端各种折腾,有些东西虽然有所心得,不过既然前人已 ...
- 《NoSQL精粹》思维导图读书笔记
<NoSQL精粹>思维导图读书笔记 各主题笔记 这本书短小精悍,虽不能解答所有NoSQL疑问,但在读书过程中会抛给你不少未曾想过的问题,给人以更深入的思考: 这里对每一个主题分别做了笔记: ...
- 《NoSQL精粹》读后感
<NoSQL精粹>作者Pramod J. Sadalaga.Martin Flower著,译者爱飞翔. 本书以关系型数据库开头,讲解了关系型数据库的优缺点,然后引入了NoSQL数据库,并且 ...
- 读《NoSQL精粹》前三章有感
现在NoSQL很流行,所以买了一本这方面的书,这本书虽然很薄 156页,但是感觉的确是大师的经验之谈,对于自己经验还是很少.无法能完全能心领神会,大师所说的,就像一个人说药苦,你没吃过.再听别人描述也 ...
- NoSQL 精粹
1.2 阻抗失谐:关系型数据库过于简单和标准的表达方式(表+行或者说关系relation+元组tuple)不能很好的映射到应用(如表达嵌套:和其它表达方式如XML).解决办法:对象-关系映射框架,但查 ...
- 《NoSQL精粹》读书笔记
NoSQL数据库数据模型的一般分类: 1. 键值数据模型 2. 文档数据模型 3. 列族数据模型 4. 图数据模型 常见NoSQL数据库: Redis, Cassandra, MongoDB, Neo ...
- NoSql 精粹导读图
- 《Nosql精粹》—— 读后总结
- NoSql数据库初探-mongoDB环境搭建
NoSQL数据库一改关系型数据库的缺点,更容易的集成.分布式.无模式.故障恢复等特点,正在一步步餐食关系型数据库的市场,作为一个与时俱进的码农了解一下新技术是必须的,尤其是在读了<NoSql精粹 ...
随机推荐
- arcgis api 4.x for js 基础工具篇之测距测面
前言 在搭建好WebGIS应用框架的时候,相信大家首先开发的都会是基础功能,此篇文章我们主要讲述的是“测距”."测面"功能. 注* 在测量单位中常规都是基于"平面坐标系& ...
- SAP OB52会计年度变式
Var.(Posting Period Variant) 记帐区间变式,每个公司代码对应一个记帐期间变式,多个公司代码可以使用一个相同的记帐期间变式 A(Performance Assistant) ...
- 使用Jitpack发布自己的Android Library
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/169 使用Jitpack发布自己的Android Libr ...
- MySql 库/表级操作 及 数据类型
数据库分类 关系型数据库(SQL):存储方式固定,安全 非关系型数据库(NoSQL):存储方式比较灵活,存储数据的效率比较高,不太安全 MySQL是一种关系型数据库管理系统(采用关系模型来组织管理数据 ...
- android 在基类activity中注册BroadcastReceiver,子activity类实现响应
android app 一般都会定义自己的BaseActivity, 如果各子Activity都需要接收广播但对广播的处理又不同时,可以考虑在BaseActivity中注册BroadcastRecei ...
- Scrapy的Spider类和CrawlSpider类
Scrapy shell 用来调试Scrapy 项目代码的 命令行工具,启动的时候预定义了Scrapy的一些对象 设置 shell Scrapy 的shell是基于运行环境中的python 解释器sh ...
- spring mvc 源码简要分析
关于web项目,运用比较多的是过滤器和拦截器 过滤器基于责任链设计模式 创建过滤器链 / Create the filter chain for this requestApplicationFilt ...
- 一天两道PAT(2)1005,1006
今天的pat1006没什么好说的.就记录一下1005的状况.先上题目. 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重 ...
- HTML引入JS、CSS的各种方法
直接上代码,相信大家是看得懂的,最好的办法是把代码粘过去,自己修改试试,看看效果! 上面是刚开始的执行效果,相应的html,js,css展示如下: index.html <!DOCTYPE ht ...
- Linux服务器下配置Java环境、JDK
前言 可以解决问题有/etc/profile与~/.bashrc环境文件区别 文件权限问题,只读readonly Java环境搭建 一.下载JDK包 地址:jdk1.8提取码:gx0b 把文件放到Li ...