`
varsoft
  • 浏览: 2522361 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

[转] NoSQL数据库技术

阅读更多

NoSQL数据库技术

Posted on 七月 13th, 2009 大树

NoSQL组织上个月在旧金山的行动让人闻到了数据库革命的味道,好像一个现代IT业版的波士顿倾茶事件正在策划之中。

在NoSQL运动的最新一次聚会中,来自世界各地的150人挤满了CBS Interactive的一间会议室。

就像当年波士顿的爱国者为反抗英国重税的行动一样,NoSQL的支持者们从各地涌来,分享他们如何推翻缓慢而昂贵的关系数据库的暴政,怎样使用更有效和更便宜的方法来管理数据。51CTO.com之前曾有过一篇《关系数据库的末日是否已经来临》文章指出,云计算可能会为数据库技术的发展带来新的契机,如果想在云中获得丰富而随需应变的可伸缩性,你需要一个非关系数据库。

“关系型数据库给你强加了太多东西。它们要你强行修改对象数据,以满足RDBMS (relational database management system,关系型数据库管理系统)的需要,”Java工具提供商SpringSource公司的首席工程师Jon Travis说,他是本次集会的10位发言人之一,在他看来,基于NoSQL的替代方案“只是给你所需要的”。

开源的兴起

反SQL运动的主要倡导者都是Web和Java开发者,他们中许多人都在创业的初期历经了资金短缺并因此与Oracle说再见,然后效仿Google和Amazon的道路建设起自己的数据存储解决方案,并随后将自己的成果开源发布。现在,他们的开源数据商店管理着成百TB甚至PB的数据,由于Web 2.0和云计算的兴起,无论从技术上还是从经济上他们都无需再返回从前,甚至连想也不用想。

“Web 2.0的企业应该抓住机会,他们需要可扩展性,”总部设在伦敦的NoSQL会议组织者Johan Oskarsson说,他任职于著名的音乐网站Last.fm,其他的大多数与会者也都是网络开发者。

Oskarsson说,许多人甚至抛弃了MySQL开源数据库这个长期以来Web 2.0的宠儿,而改由NoSQL的方案来替代,因为优势实在是引人注目。51CTO.com之前曾报道过MySQL创始人宣布创建开源数据库联盟的消息,过度的商业化是MySQL失去原来的优势。

例如Facebook建立了自己的Cassandra数据商店并且在其网站上重点推出一项新的搜索功能,没有使用到现有的MySQL数据库。据Facebook的工程师Avinash Lakshma介绍,Cassandra仅用0.12毫秒就可以写入50GB的数据,比MySQL快了超过2500倍。Google也开始公测他们的云数据库Fusion Tables,这是一个和传统数据库完全不同的数据库,主要优势能够简单的解决关系型数据库中管理不同类型数据麻烦,以及排序整合的常见操作的性能问题等。

什么是NoSQL(从技术上说)?

从这些NoSQL项目的名字上看不出什么相同之处:Hadoop、Voldemort、Dynomite,还有其它很多。

但是,它们通常在某些方面相同:

不要叫它们数据库。Amazon.com的首席技术官Werner Vogels将他们的重要的Dynamo系统称作“高可用性的键值商店”。Google将自己的BigTable称作“管理结构化数据的分布式存储系统”,在51CTO.com之前的外电《云服务颠覆开发传统观念》中曾提到,Google的Big Table不是SQL数据库,原因是SQL数据库支持的一些功能实在难以进行分割,这与我们跨机器存储数据的想法无法结合。它们都是许多NoSQL追随者的效仿模式。

它们可以处理超大量的数据。比如Zvents公司以BigTable模式搭建的开源数据库Hypertable,据Zvents工程师Doug Judd介绍,它可以每天在搜索引擎中写入10亿单元数据。

另外,BigTable与其姊妹技术MapReduce相结合,每天可以处理多达20PB的数据。

“毫无疑问,数据量越来越巨大也让人们寻找其他的数据库替代技术,”SpringSource的Travis说。

它们运行在便宜的PC服务器集群上。PC集群扩充起来非常方便并且成本很低,避免了“sharding”操作的复杂性和成本。

Google曾表示一个BigTable的大集群可以管理数千台服务器上多达6PB的数据。

“Oracle会告诉你需要购买一些硬件然后正确配置Oracle RAC,然而用其他的神奇软件你也可以达到相同的可扩展性。但是两者的开销可是天差地别。”SpringSource首席技术官Javier Soltero说。

它们击碎了性能瓶颈。NoSQL的支持者称,通过NoSQL架构可以省去将Web或Java应用和数据转换成SQL友好格式的时间,执行速度变得更快。

“SQL并非适用于所有的程序代码,”数据库分析师Curt Monash说。对于那些繁重的重复操作的数据,SQL值得花钱。但是当数据库结构非常简单时,SQL可能没有太大用处。

Adobe公司资深计算机科学家Raffaele Sena说,当一年半前Adobe准备重新更新ConnectNow网络协作服务时,正是由于上面的理由,他们决定不采用关系型数据库。

Adobe决定使用Terracotta 提供的Java集群软件,管理Java格式的数据,Sena说,这使ConnectNow的性能提高到前一版本的2至3倍。

没有过多的操作。虽然NoSQL的支持者也承认关系数据库提供了无可比拟的功能集合,而且在数据完整性上也发挥绝对稳定,他们同时也表示,企业的具体需求可能没有那么多。

以Adobe的ConnectNow为例,Sena说,当用户在线时它会不通过数据库而制作三份会话数据,在离线后删除。“因此我们并不需要数据库,因为具体所需要的数据是在内存中的,”他说。

Bootstrap支持

因为NoSQL项目都是开源的,因此它们缺乏供应商提供的正式支持。这一点它们与大多数开源项目一样,不得不从社区中寻求支持。

但是一些人承认,没有正式的官方支持,万一出了差错会是可怕的,至少很多管理人员是这样看。

“我们确实需要做一些说服工作,”Adobe的Sena承认,“但基本在他们看到我们的第一个原型运行良好之后,我们就能够说服他们,这是条正确的道路。”

“大多数大型企业已经习惯于使用关系型数据库管理系统。因此他们会想为什么要改变呢?”Monash说。比如MapReduce和类似的项目“对企业有意。但是在具体使用时,它很可能会和一个分析DBMS(数据库管理系统)相集成。”

即使NoSQL的组织者Oskarsson也承认,就算是他自己的公司Last.fm也还没有做好转为NoSQL替代者的准备,现在依然在使用开源数据库。
他认为这场革命目前仍然需要等待。

就像51CTO.com《探寻关系数据库和ORM的最佳替代者》一文所指出的,或许RDBMS仍是一个很难移除的角色,可能是由于这个角色担当着重要的任务,有着重要的目的;但这是一个人人都想拥抱简单的时代,他们可能会愿意完全摆脱一个复杂的解决方案。没有人能阻挡关系数据库的终结和新的解决方案的出台。“的确,NoSQL对大型企业来说还不是主流,”Oskarsson说,“但是,一两年之后很可能就会变个样子。”

文章来源:http://www.chensj.cn/article/say-no-to-sql-nosql/

分享到:
评论

相关推荐

    NoSQL数据库技术与应用.pptx

    NoSQL数据库技术与应用 NoSQL数据库技术是一种非关系型数据库,适用于大规模、高并发、高灵活性的数据存储和管理。它具有分布式、可扩展、灵活性和高并发等优势。NoSQL数据库技术可以分为四大类:键值存储、图形...

    NoSQL数据库技术实战

    NoSQL数据库技术实战 数据库书籍!

    NoSQL数据库技NoSQL最新技术发展趋势.pdf

    NoSQL数据库技术发展趋势 NoSQL数据库技术发展趋势是当前数据库技术发展的热点。近年来,NoSQL数据库技术获得了高速发展,许多企业和机构都在投入巨资来开发和应用NoSQL数据库技术。阿里云作为中国软件行业的领导者...

    大数据-大数据挑战与NoSQL数据库技术

    《大数据挑战与NoSQL数据库技术》共分为三部分。理论篇重点介绍大数据时代下数据处理的基本理论及相关处理技术,并引入NoSQL数据库;系统篇主要介绍了各种类型NoSQL数据库的基本知识;应用篇对国内外几家知名公司在...

    NoSQL数据库原理课件-侯宾.zip

    本课件将深入探讨分布式数据库的原理以及NoSQL数据库的核心概念,帮助读者理解和掌握这两种技术。 一、分布式数据库基础 1. 分布式数据库定义:分布式数据库是一种物理上分散在不同地理位置,但在逻辑上视为单一...

    NoSQL数据库入门 高清PDF

    NoSQL数据库作为一种新兴的数据库技术,在解决大规模数据存储和处理方面展现出巨大的潜力。其高扩展性、高性能和灵活的数据模型使其成为许多现代应用程序的理想选择。然而,选择NoSQL数据库时也需要综合考虑各种因素...

    大数据挑战与NoSQL数据库技术PDF

    大数据挑战与NoSQL数据库技术是当今信息技术领域中的热门话题,特别是在数据量呈指数级增长的背景下,传统的数据库管理系统已经无法满足高效存储和处理大规模数据的需求。NoSQL(Not Only SQL)数据库应运而生,成为...

    2020~2021学年第一学期 《NOSQL数据库技术》期末考试试卷-附答案.doc

    NoSQL 数据库技术是当前非常流行的一种数据库技术,它不同于传统的关系型数据库,NoSQL 数据库技术具有高可扩展性、高性能和灵活性等特点。下面是 NoSQL 数据库技术期末考试试卷附答案: 1. 创建一个集合 Student:...

    nosql数据库的发展和应用研究

    nosql数据库的发展和应用研究

    大数据技术原理与应用之NoSQL数据库.pptx

    "大数据技术原理与应用之NoSQL数据库" 在大数据技术原理与应用领域中,NoSQL数据库扮演着非常重要的角色。NoSQL数据库是指不遵循传统关系数据库管理系统(RDBMS)的数据库管理系统,主要特点是去中心化、可扩展性强...

    NoSQL数据库学习教程.pdf

    亚数据库是指使用亚马逊的数据库技术来实现分布式数据库。 MemCached是指使用MemCached来实现分布式缓存。 特点是指使用MemCached的特点和优势。 内存分配是指使用MemCached来分配内存。 缓存策略是指使用...

    NOSQL数据库入门 . 佐佐木达也 .罗勇.扫描版.pdf

    通过深入学习不同的NoSQL数据库产品和技术,可以更好地应对各种实际项目中的挑战。 综上所述,虽然提供的具体文件内容未能直接反映其内部的知识点,但通过以上对NoSQL数据库的详细介绍,我们已经能够了解到关于...

    NoSQL数据库入门思维导图

    综上所述,"NoSQL数据库入门思维导图"应包含了NoSQL的基本概念、主要类型、优缺点以及与MySQL的对比,帮助初学者理解并选择合适的数据库技术。通过“基础知识.mmap”可以深入学习NoSQL的原理和操作,而“常见的NoSQL...

    NoSQL数据库PPT

    4. **分区**:NoSQL数据库通过分区技术将数据分散到不同的节点上,以提高并行处理能力和容错性。 5. **异步复制**:NoSQL数据库通常采用基于日志的异步复制机制,这有助于提高写入性能,但可能牺牲一定程度的一致...

    第5章-NoSQL数据库.pdf

    再次,NoSQL数据库与云计算技术紧密融合,有利于实现数据的分布式存储和计算。 NoSQL数据库的兴起主要有以下几个原因:首先,随着Web2.0时代的到来,关系型数据库在海量数据管理、数据高并发处理、高可扩展性和高...

    大数据挑战与NoSQL数据库技术 (PDF版)- 陆嘉恒编著

    《大数据挑战与NoSQL数据库技术》一书,由陆嘉恒编著,深入探讨了在当前数据爆炸的时代,如何应对大数据带来的挑战,并介绍了NoSQL数据库技术作为解决方案的重要角色。本书内容丰富,旨在帮助读者理解大数据的特性、...

    NoSQL数据库总结.pdf

    NoSQL数据库总结 NoSQL数据库是一种非关系型的数据库,旨在解决传统关系数据库在应付Web 2.0网站,特别是超大规模和高并发的SNS类型的Web 2.0网站中的问题。NoSQL数据库的优点是可以处理超大量的数据,可以运行在...

Global site tag (gtag.js) - Google Analytics