NOSQL数据库读书笔记(基础知识)

本文的观点根据佐佐木达也著、罗勇译的《NoSQL数据库入门》一书提取并整理。


一、关系型数据库与NoSQL数据库的对比

不能否认关系型数据库的性能,其优势有:

1 保持数据一致性

2 数据更新开销小

3 可以进行join等复杂查询

4 技术成熟


不擅长处理:

1 大量数据的写入处理

(主从模式:主数据库负责写入数据,从数据库负责读数据)

二元主数据库:相同数据在两台数据库同时更新成其它值可能造成数据不一致

数据库分割:分别存储在不同服务器上的表之间无法进行join操作,除非在程序中进行关联


2 为有数据更新的表做索引或表结构变更

会对表进行共享锁定,导致不能增删改


3 字段不固定时应用

4 对简单查询需要快速返回结果的处理


NoSQL数据库只应用在特定领域,基本不进行复杂的处理

为了进行Join操作,关系型数据库不得不把数据存储在同一个服务器内

NoSQL原本就不支持Join操作,数据可以分散在多个服务器上,读入和写入操作相对容易


不对大量数据进行处理的话就没有使用NoSQL的必要吗?否。

希望顺畅地对数据进行缓存处理

希望对数组类型的数据进行告诉处理

希望进行全部保存


二、NoSQL数据库概念

1 键值存储:基本上只能通过键的完全一致查询获取数据。

临时性键值存储:如memcached,在内存中保存数据,速度快,数据可能丢失。

永久性性键值存储:如Tokyo Tyrant\ Flare、ROMA等,在硬盘中保存数据,速度快(跟memcached没法比),数据不会丢失。

两者兼具:如Redis,周期性将内存数据写入硬盘。


2 面向文档: MongoDB, CouchDB,不定义表结构、与键值存储不同,可以通过复杂查询条件获取数据。

3 面向列: Cassandra, HBase, HyperTable,适用于对大量行少数列进行读取,多所有行的特定列进行同时更新;具有高扩展性。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值