详解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

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

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