写点什么

James Phillips 谈从关系型数据库转到 NoSQL

  • 2011-12-13
  • 本文字数:1225 字

    阅读完需:约 4 分钟

James Phillips, Couchbase 的创始人之一。他最近的一场演讲谈到分布式面向文档的数据库和关系型数据库模型之间的差别,以及从关系型数据库转到NoSQL 时数据库开发者需掌握的知识。InfoQ 就面向文档的NoSQL 的优缺点采访了James。

InfoQ:在谈及数据持久和数据管理时,您提到了“大数据 (Big Data)”和“大用户 (Big User)”,可否解释这两个概念之间的区别以及如何在二者之间做选择?

James Phillips大数据:需要收集并存储大量信息,然后对信息进行分析和学习。它需要持续的高吞吐的写(收集信息时)和读(分析信息时)。数据本地化模型的优化方法是将“关联的数据”放在物理上临近的地方,从而确保分析的高效性。通常来说,它需要少量做数据插入的同步写和少量做信息分析的同步读。

大用户:需要为随机的读和写,以及大量并发读和写提供服务。数据本地化模型的优化方法则应该将“关联的数据”尽可能地分散开,从而将读和写操作最大限度地分散到不同的服务器和转轴之上。

InfoQ:NoSQL 数据库与关系型数据库相比,在数据建模和应用开发上其最主要的差别是什么?

James:关系型数据模型(及其数据建模)关注的是数据规范化的过程——将“记录”分解成许多表以及表之间的关系,降低数据冗余。在过去,系统资源有限时,其意义非常大,因为每个字节的处理效率都很关键。而面向文档的方式存储数据则是更加自然的方式。其缺点是在某些情况下,数据要冗余,查询模型也自然更复杂一些。但是,数据建模要简单得多,因为现实世界中,信息并不总需要规范。而且,因为限制少了,应用开发者的生产力也提高了。

InfoQ:在演讲中您谈到面向文档的数据库。在哪些情况下,用面向文档的数据库优于关系型数据库?

James:面向文档的数据库在以下场景中更胜一筹:需要数据模型的灵活性(数据管理过程中,需求变更无需变更 schema);低延迟、持久、高吞吐的读写性能;通过将数据和 I/O 方便地分散到廉价服务器和虚拟机之上,使基础设施费用与应用程序性能成正比。

InfoQ:面向文档的数据库支持哪些数据持久和数据管理的架构模式?

James:大多数 NoSQL 及面向文档的数据库都支持多种持久化模型:从完全的同步策略(比如,只有当数据写入磁盘或持久设备之后才报告写操作成功)到多种异步存储策略(比如,接受写请求之后,在实际写入磁盘之前就报告成功;或者,仅仅在完成数据备份之后即报告成功)。

InfoQ:面向文档的数据库有哪些缺点?应用架构师和开发者在使用这类数据库时应考虑哪些问题?

James:目前,面向文档的数据库不直接支持连接(join),事务的支持通常只针对单个文档,之前提到的数据持久灵活性也可算作缺点。它产生了数据冗余,在某些情况下,当数据变更时需要在多处更新数据。所以,基于面向文档数据库的应用要为处理相互依赖的更新做更多事情。将来,我们会看到使用外部事务监控器来填补目前对事务支持上的断层。同样,在应用层也有办法实现诸如连接查询之类的功能。


查看英文原文: James Phillips on Moving from Relational to NoSQL Databases

2011-12-13 04:234558
用户头像

发布了 184 篇内容, 共 79.4 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

互联系统架构演化史之感

旭东(Frank)

架构 感悟 极客大学架构师训练营

通用编程风格

顿晓

Java 学习 编程风格

假想 一个进销存软件是如何发展的

不在调上

架构师训练营作业 (第四周)

王海

极客大学架构师训练营

第四周总结

赵龙

架构师训练营第四周 架构分析

suke

极客大学架构师训练营

区块链技术打通信用壁垒赋能租赁业务

CECBC

去中心 区块链技术 防篡改 去信任

西博泰科携手中国电信共同抢占NB-IoT新赛道

Geek_116789

写给大忙人看的操作系统(内附思维导图)

苹果看辽宁体育

后端 操作系统

大型互联网应用系统的技术方案和手段

周冬辉

第四周作业

赵龙

程序员如何提升自己横向能力?

Boss.Guo

团队建设 能力提升 人才培养 个人总结

架构师训练营第4周——学习总结

极客大学架构师训练营 互联网架构模式 互联网架构的演进

链技术如何提升金融行业安全与互信

CECBC

百度 区块链技术 超级链 探索与实践

极客时间第 0 期架构师训练营第四周总结

2流程序员

架构师训练营第四周作业

张锐

架构师训练营第 04 周—— 练习

李伟

极客大学架构师训练营

架构师训练营——第四周总结

jiangnanage

week04

Geek_2e7dd7

大型互联网应用系统常用技术(持续更新)

2流程序员

「架构师训练营」第 4 周作业 - 一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题

guoguo 👻

极客大学架构师训练营

架构师训练营第4周作业

不谈

极客大学架构师训练营

架构师训练营-第四章-学习总结

而立

极客大学架构师训练营

信创舆情一线--数据安全法草案提请初审

统小信uos

大数据 安全

「架构师训练营」第 4 周作业

旭东(Frank)

架构师训练营学习总结——系统架构【第四周】

王海

极客大学架构师训练营

愿景集团与聚盛国际达成战略合作共建外汇市场新篇章

Geek_116789

week04 总结

Geek_2e7dd7

浅谈比特币匿名的意义

CECBC

互联网系统架构设计概览

dony.zhang

典型大型互联网应用系统的技术方案和手段

极客大学架构师训练营 第四周作业 互联网应用技术方案 互联网系统架构 互联网系统特点

James Phillips谈从关系型数据库转到NoSQL_DevOps & 平台工程_Srini Penchikala_InfoQ精选文章