详解NoSQL数据库使用实例

一、NoSQL基础知识

1.关于NoSQL

在“NoSQL”一词,实际上是一个叫Racker的同事创造的,当约翰埃文斯埃里克要组织一次活动来讨论开源的分布式数据库。这个名称和概念都由此而来。

有些人反对NoSQL术语,因为它听起来像我们定义自己是什么.在一定程度,但长期仍然是有价值的,因为当一个关系数据库是唯一的工具,你知道,每一个问题,看起来像一个大拇指。 NoSQL是让人们知道有其他选择哪里。但我们并不反对关系数据库,因为当这确实是工作的最佳工具.

一个与NoSQL名称真正关注的是,它是一个很大的帐篷,有非常不同的设计空间。如果这不是在讨论清楚的,它在各种产品混乱的结果。因此,我要建议沿着三个轴的思考很多数据库选项:可扩展性,数据和查询模型和持久性的设计。

前所未有的数据量正推动企业关注传统的关系数据库技术,已服务了30多年良好替代品。总的来说,这些替代品已被称作“NoSQL数据库。”

最根本的问题是关系数据库不能处理很多现代的工作量。有三个具体的问题:扩大向像Digg新闻评论网站的(3TB绿色徽章)或Facebook的(50TB收件箱中的搜索)或EBay(整体2PB),

每服务器性能和严格的架构设计。

备注:(Digg概念源自美国Digg公司。它完全是依靠真实的网民的自己力量。网站上所有内容都是由网民自己发布,并且内容的位置也是由网民自己来决定。当内容的顶数,评论等达到一定的数字,这些内容就有可能从众多的信息中脱颖而出。)

我最近写了邮件给卡桑德拉,关于非关系型数据库的资源,我们承诺后,还有其他非关系型数据库在工作,我们称之为“NoSQL运动。”

2.一个简单的NoSQL实例

我选择了一些作为例子NoSQL数据库。这不是一个详尽的清单,但讨论的概念是对于衡量其他人也至关重要。

可伸缩性

缩放读取与复制容易,当我们对在这方面缩放时,我们的意思写了缩放到多台机器自动分区的数据。我们呼吁制度不健全,这种“分布式数据库。”这其中包括Cassandra,HBase,Riak,Scalaris,Voldemort,等等。如果你写卷或数据容量超过一台机器可处理,那么这些是你的唯一选择,如果你不想手动分区管理。

有两件事情看在分布式数据库:1)支持多种数据中心和2)能够添加新的机器现场集群的应用程序的透明。

二、NoSQL数据库使用

1. NoSQL数据和查询模型

非分布式NoSQL数据库包括CouchDB,MongoDB,Neo4j,Redis,和Tokyo Cabinet。这些可以作为分布式系统持久层; MongoDB提供有限的共享支持,做了单独的休息室为CouchDB项目,和Tokyo Cabinet可作为Voldemort存储引擎使用。

数据和查询模型

在NoSQL里有很多不同的数据模型和数据库的查询API.

一些重点:

该columnfamily模型Cassandra共享和HBase的是由谷歌的Bigtable文件,第2节描述的启发。 (Cassandra下降,历史版本,并添加超级列。)在这两个系统,你必须像你行和列习以为常,但稀疏行:每一行可以有许多或尽可能少列的需要,以及列不必须提前定义。

键/值模型是最简单和最容易实现的,但效率低,只有当你在查询或更新的值的一部分感兴趣。这也是难以执行的分布式圈顶更复杂的结构/价值。

文档数据库基本上是下一阶段重点/值,允许嵌套的值与每个键关联。文件数据库支持查询的效率比每次返回了整个BLOB更简单。

Neo4J有一个真正独特的数据模型,对象存储在图和节点和边的关系。对于查询适合这个模型(例如,分层数据),它们可以是1000倍速度比替代品。

Scalaris是独特的,提供跨多个键分布式事务。 (讨论与贸易之间的一致性和可用性权衡超出了这个职位的范围,但另一个方面就是要牢记在评价分布式系统。)

持久性设计

通过持续的设计我的意思是,“如何在内部存储的数据?” 持久性模型告诉我们很多这些数据库能够善于什么样的工作量.

在内存数据库是非常,非常快的(Redis达到每秒超过100,000操作一台计算机上),但不能与数据集的工作,超出可用的RAM。耐久性(保留数据,即使服务器崩溃或断电)也将是一个问题的数据量,可以预期损失之间的冲(复制数据到磁盘)可能非常大。 Scalaris,其他内存数据库,我们的名单上,意向处理与复制耐久性问题,但由于它不支持多个数据中心的数据将仍然容易受到停电的事情一样。

Memtables和SSTables缓存在内存中写入(1“memtable”)后,以书面追加只承诺为耐久性日志。当写够已被接受的memtable排序并写入到磁盘上的所有一次作为“sstable。”这提供近内存中的表现,因为没有涉及要求,同时避免了纯粹的耐久性问题,在内存的方法。 (这是详细描述在第5.3和先前提及的5.4 Bigtable的文件,以及在该日志结构合并树。)

B-树已被用于从数据库中实际上是时间的起点。索引他们提供强大的支持,但表现欠佳的旋转盘(这仍然是迄今为止最具有成本效益,因为多)要求读或写什么工作。

一个有趣的变体是CouchDB的追加,只有B -树,它避免了管理费用的目的在限制CouchDB一写一时间成本.

结论

该NoSQL运动在2009年爆炸地为越来越多的企业全力对付大量数据。在Rackspace云高兴地发挥了NoSQL运动的早期作用,并继续投入资源,Cassandra像NoSQL支持事件。

【编辑推荐】

  1. NoSQL数据库Apache CouchDB 0.11.0发布
  2. Digg与Reddit弃用MySQL 投奔NoSQL阵营 
  3. 详解NoSQL数据库Apache Cassandra的配置
  4. 超越关系型数据库 pureXML技术应用及展望
  5. 新兴数据库打破整个旧规则
  6. 探寻关系数据库和ORM的最佳替代者

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/262483.html<

赞 (0)
管理的头像管理
上一篇2025-05-04 03:07
下一篇 2025-05-04 03:08

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注