游戏人生,python飞机大战源码大战Java究竟谁是胜者

没有更多推荐了,
不良信息举报
举报内容:
Cassandra与HBase的大数据对决 谁是胜者?
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!Cassandra与HBase的大数据对决 谁是胜者_百度知道
Cassandra与HBase的大数据对决 谁是胜者
我有更好的答案
众多基于Bigtable技术的开源项目正在通过不同的方式实现高扩展性、高灵活性、分布式及宽列数据存储等功能,Cassandra和HBase就是其中的代表。在大数据这一全新的领域里,Bigtable数据库技术非常值得我们关注,因为这一技术是由谷歌的工程发明的,而谷歌是一家公认的非常擅长管理海量数据的公司。如果你对此非常了解,那么你一家知道也熟悉Cassandra和HBase这两个Apache数据库项目。谷歌在2006年的一份研究报告中首次对Bigtable进行了阐述。有意思的是,这份报告当时并没有将Bigtable作为数据库技术,而是将其作为一种“稀疏的分布式多维度”映射技术以存储拍字节级数据,并在商用硬件上运行它们。行先是以一种非常独特的方式被索引,随后Bigtable利用行键对数据进行分割,将它们分布到集群中。列可以被迅速地定义在行中,让Bigtable适用于大多数的非模式环境。Cassandra和HBase都在很大程度上借鉴了早期Bigtable的定义。实际上,Cassandra起源于Bigtable和亚马逊的Dynamo技术,HBase将自身定位为“开源Bigtable工具”。就其本身而论,这两个项目既有许多相同的特点,同时又有许多重大区别。
同为大数据而生
Cassandra与HBase都是NoSQL数据库。总体上看,这意味着用户无法使用SQL数据库。不过,Cassandra使用的是CQL(Cassandra 查询语言),其语法有明显模仿SQL的痕迹。
两者都被设计用于管理非常大的数据集。HBase文件声称一个HBase数据库可以拥有数亿个,甚至是数十亿个行。此外,用户还被建议继续使用关系型数据库。
两者都是分布式数据库,不仅仅是在数据的存储方式上,在数据访问方式上亦是如此。客户端可以与集群中的任意节点相连,并访问任意的数据。
两者都宣称拥有近似于线型的扩展能力。想要管理两倍规模的数据吗?用户只需将集群中的节点扩展两倍即可。两者都是通过复制来防止集群节点故障而导致出现数据损失。被写入数据库的行主要由单个集群节点负责(行至节点映射取决于用户所使用的分区模式)。数据会被镜像到称之为冗余节点的其他集群成员当中(用户可配置的复制因子会显示数量)。如果主要节点出现了故障,那么数据仍然可以从另外的冗余节点中被读取。两者都被称之为列式数据库。由于它们的名字听起来像是关系型数据库,因此用户在接触中需要在思想上进行调整,这导致用户对它们的认知会出现混淆。最容易出现混淆的地方是,数据在表面上最初是由行进行排列的,表的主要键是行键。但是与关系型数据库不同,在列式数据库中,没两个行需要相同的列。正如上面所说的那样,在表被创建后,用户能够快速在行中加入列。实际上,你能够向一行中增加许多列。虽然最高上限值难以被准确地计算出来,但是用户几乎不可能达到这样的上限,即便他们加入大量列的情况下也是如此。
除了这些源于Bigtable定义的特点外,Cassandra和HBase还有一些其他的相似之处。首先,两者都使用相似的写入路径,即首先将写入操作记录在日志文件中以确保持久性。即便出现写入失败的提示,保存在日志当中的操作记录可以被重新开始。随后,数据被写入内存缓存中。最后,数据被通过大量的一系列写入操作写入到磁盘中(实际上是将内存缓存的副本拷贝至磁盘中)。Cassandra和HBase所使用的内存和磁盘数据结构在某种程度上都是日志结构的合并树。Cassandra的磁盘组件是SSTable,HBase中磁盘组件的是HFile。
两者提供JRuby语言的命令行外壳。两者都通过Java语言被大量写入,这是访问它们的主要编程语言,尽管在许多其他的编程语言中都有适合两者的客户端包。
当然,Cassandra 和 HBase都是Apache软件基金会管理的开源项目,两者都可以通过Apache License version 2.0许可证免费获取。
相似与差别
尽管两者有着众多相似之处,但是它们之间还是存在着许多重大的区别。尽管Cassandra和HBase中的节点都是对称的,这意味着客户端能够与集群中的任意节点相连,但是这种对称是不完全的。Cassandra需要用户将一些节点作为种子节点,让它们在集群间通信中扮演集流点的角色。在HBase中,用户必须让一些节点充当主节点,它们的功能是监控和协调地区服务器的行动。为了确保高可用性,Cassandra采取方式是允许在集群中设置多个种子节点;HBase则是利用备用主节点,如果当前的主节点发生故障,那么备份主节点将成为新的主节点。Cassandra在节点间通信中使用的是Gossip协议。目前Gossip服务已经与Cassandra软件整合到了一起。HBase则依托完全独立的分布式应用Zookeeper来处理相应的任务。尽管HBase与Zookeeper一同出货,但是用户常常会使用预置在HBase数据库中的Zookeeper。虽然Cassandra和HBase都不支持实时交易控制,但是两者都提供了一定程度的一致性控制。HBase向用户提供记录级(也就是行级)的一致性。实际上,HBase在每行都支持ACID级语义。用户可以在HBase中锁定一行,但是这种行为并不被鼓励,因为这不仅影响到并发性,同时行锁定还会导致无法进行区域分割操作。此外,HBase还可以执行“检查与写入”操作,该操作在单个数据元上提供了“读取-修改-写入”的语义。
Cassandra免费的DataStax社区版包含有一个DataStax 操作中心。该中心提供了集群监控与管理功能,它可以检测数据库模式,提示键空间是否能够被编辑,以及是否可以增加或删除列族。
尽管Cassandra被描述为拥有“终极”一致性,但是读取和写入一致性可以在级别和区间方面进行调整。也就是说,你不仅可以配置必须成功完成操作的冗余节点数量,还可以设置参与的冗余节点是否跨数据中心。此外,Cassandra还在其计算机指令系统中增加了一些轻量级的交易。Cassandra的轻量级交易采用的是“比较与集合”机制,相当于HBase的“检查与写入”功能。不过,对于HBase的“读取-修改-写入”操作功能,Cassandra则缺乏相对应的功能。最终,Cassandra的2.0版本增加了单独的行级写入功能。如果一个客户端在一行中更新了多个列,那么其他的客户端将会看到所有未更新的部分,或所有更新的部分。在Cassandra和HBase当中,主索引是行键,但是数据被存储在磁盘中,这导致列族成员相互间非常接近。因此仔细规划列族组织非常重要。为了保持高查询性能,有着相同访问模式的列应该被放在在相同的列族当中。Cassandra允许用户创建关于列值的额外次索引。这一举措提升了对那些值具有高重复性的列(例如存储客户电子邮件地址中国家地区的列)的数据访问。HBase虽然缺乏对次索引的内置支持,但是它们有一些能够提供次索引功能的机制。这些都在HBase的在线参考指南和HBase社区博客中被提及。如前所述,两个数据库都有发布数据操作命令的命令行外壳。由于HBase和Cassandra的壳都是以JRuby壳为基础,因此用户可以编写一些脚本,让这些脚本能够调用JRuby壳的所有资源与数据库所提供的特定API进行交互。此外,Cassandra还定义了模仿自SQL的CQL。与HBase所使用的查询语言相比,CQL的功能更加丰富,并且可以在Cassandra的壳内直接执行。尽管Cassandra仍然支持Thrift API,但实际上Cassandra一直在推动让CQL成为数据库的主要编辑接口。Cassandra的文档列入了一些针对Java、C#和Python等使用CQL version 3的驱动。最终,Cassandra将可获得一个JDBC驱动。该驱动用CQL替代了SQL,将CQL作为数据定义与数据管理语言。HBase也支持Thrift接口和RESTful Web服务接口,不过HBase原生的Java API向编程人员提供了丰富的功能。虽然HBase的数据操作命令没有CQL丰富,但是HBase拥有一个“筛选”功能,该功能可以在会话的服务器端执行,大幅提升了扫描(搜索)的吞吐量。
HBase还引入了“协处理器”(coprocessors)这一概念,允许在HBase进程中执行用户代码。这基本上与关系型数据库中的触发和预存进程相同。目前,Cassandra还没有类似HBase协处理器的功能。
Cassandra的文档较HBase的更加醒目,并且拥有更加扁平化的学习曲线。设置一个开发用的Cassandra集群比设置HBase集群要更加简单。当然,这仅对于开发与测试目的来说非常重要。
在必须为特定应用调整集群时,用户需要做一些工作。在指定数据集大小、创建与管理多节点集群(通常会跨多个数据中心)的复杂度后,调整工作将变得非常棘手。用户需要深刻理解集群的内存缓存、磁盘存储和节点间通信之间相互影响,仔细监控集群的活动。
HBase对Zookeeper的依赖会带来一些额外的故障点。虽然Cassandra避开了这一问题,但这并不意味着Cassandra集群的调整难度会大幅下降。我们对两个数据库的集群调整难点进行了对比(如附表所示)。需要说明的是,这里并没有确定谁是胜出者,谁是失败者。每个数据库的支持者都会找到一些证据来证明他们的系统优于对方。通常用户需要对两个数据库进行测试,然后才能确定它们执行目标应用的情况。
为您推荐:
其他类似问题
您可能关注的内容
勃兰兑斯的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。领导休息室规定_百度知道
领导休息室规定
领导休息室规定
我有更好的答案
部级和省级政府机关领导服务用房,也即休息室,人均范围7到9平方米。至于县市级领导没有具体规定。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。80、90后de儿时游戏千万不要点开,会戳泪……80、90后de儿时游戏千万不要点开,会戳泪……澹台和裕百家号80后、90后的老玩家们经常会怀念小时候,那时候我们没有手机、没有电脑,那时候我们经常和小伙伴一起去河里抓鱼,一起和小伙伴们玩纸牌、烤红薯……那时候还没有“宅男宅女”这一名词,还没有游戏机,但是大多数的老玩家们还是怀念小时候那种纯真无邪的快乐。我们小时候玩过的、用过的、吃过的东西,你还记得吗?六一节日!让我们一起怀童年念吧,致我们逝去的青春!那些年只属于我们的游戏【打弹珠】“打”的时候要全神贯注,我永远也忘不了那一天,我带了100颗玻璃珠,最后输的一颗不剩的回家【东南西北】用一张纸折成四个角,然后写上各种好的坏的人,当年最喜欢抽到小燕子,最害怕抽到容嬷嬷!【翻花绳】你翻一下,我翻一下,看谁能坚持到最后,看看谁翻出的花样最多!【抓石子】小手一翻,那石子儿就稳稳当当落在手背上,丝毫不在意手黑得像老鹰爪子。【踢毽子】灵巧、机敏、身手不凡。那个时候的我们用塑料袋也可以做一个毽子!【弹弓】对男孩来说,弹弓的魅力是无与伦比的,玩上一手好弹弓,是可以证明自己是个有骑士精神的神枪手。【跳房子】找块空地,画上方格,快乐的笑声就会响起。【跳马】先猜拳,谁输谁弯腰。赢的人像体操运动员一样,双手撑着输者的背上跳过去。【滚铁环】推着圈圈到处跑,两个小时都乐此不疲【丢沙包】一个小布包里装满沙子或者米,就能开展一场趣味十足的“战斗”。【跳皮筋】那个时候下课铃声一响,就开始跳绳,“我有一顶小草帽,红红的小草帽...【打陀螺】拿着一根绳子,使劲的打陀螺,让它一直保持平衡转。【老鹰抓小鸡】这可算是体育课上的奢侈游戏了【挑棍子】把竹棍或者木棍一把撒开,然后用手挑,不能碰到其他棍子,看谁最后挑的多。【别说你没用这个电过女生,反正我不信~】【那些年,我们的“凶器”】【纸飞机】小时候最喜欢拿不用的书折成纸飞机,然后对着嘴巴哈一口气,看看谁的飞的远!为什么要哈一口气呢【吹泡泡】一个泡泡胶就能吹出好大的泡泡。【四大经典小游戏】没有玩过的人只能说你没有童年,哈哈!后来那个吹泡泡的女孩长大了小时候,老师经常会问:你的梦想是什么?音乐家、画家、科学家,医生、老师、护士、警察......答案往往都是千篇一律的。那时候,没有电脑,没有网络,没有手机,没有人问静静是谁!童年一去不复返,但这些美好的回忆,还是值得我们留在心里,每每想起来,觉得那时候的自己是那么地天真快乐~本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。澹台和裕百家号最近更新:简介:生命不等于是呼吸,生命是活动。作者最新文章相关文章这是什么电视剧_百度知道
这是什么电视剧
我有更好的答案
这是电视剧《错爱2》中的图片,图左一是演员何政军,左二女演员是温峥嵘,如有帮助,希望采纳,万分感谢。
采纳率:91%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
电视剧的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 python飞机大战素材 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信