5分钟用上毫秒级NoSQL数据库,让你提前下班

举报
荻花子 发表于 2018/06/11 12:26:26 2018/06/11
【摘要】 NoSQL数据库这么火,时序数据库这么火,轨迹数据怎么存?领导吩咐要调研一下HBase/OpenTSDB/GeoMesa。卷起袖子开始做,可是加班加点过了两三天,环境还没搭建好,又遇到一个BUG,正在潜心研究,领导过来问:“HBase/OpenTSDB究竟是否符合需求?”,“还在搭环境呢”,老板嘟哝”不就是开源软件嘛,拿过来用一用,这么难“,顺便带着鄙视的小眼神看着你。此时你是有苦说不出啊...

 


NoSQL数据库这么火,时序数据库这么火,轨迹数据怎么存?领导吩咐要调研一下HBase/OpenTSDB/GeoMesa。卷起袖子开始做,可是加班加点过了两三天,环境还没搭建好,又遇到一个BUG,正在潜心研究,领导过来问:“HBase/OpenTSDB究竟是否符合需求?”,“还在搭环境呢”,老板嘟哝”不就是开源软件嘛,拿过来用一用,这么难“,顺便带着鄙视的小眼神看着你。


此时你是有苦说不出啊。兄弟,让你5分钟就能使用上毫秒级的NoSQL数据库(CloudTable,支持HBase/OpenTSDB/GeoMesa接口),让你专注于业务开发,提前下班,了解一下?



从零开始使用

开源Hadoop/HBase的故事


Google在03年到06年发表了划时代意义的三篇论文:Google File System(GFS),MapReduce和BigTable,开启了大数据时代的阀门。接下来基于GFS和MapReduce的开源实现Hadoop和 BigTable的开源实现HBase,算是真正引领了大数据的潮流。


大概7年前,也就是2011年,那时候的Hadoop刚刚过了少年期,逐步进入青年期,互联网行业争先恐后开始实践基于Hadoop及其生态的大数据应用。当时正在读研究生的我也是努力想要将Hadoop和HBase应用到GIS(Geographic Information System)领域。


那么第一步就是要安装一套Hadoop和HBase的环境,存储一些GIS相关的数据进行一些试验。就这第一步,当时我和另外一个同学折腾了2个星期才将环境搭建完成。首先是在自己的windows机器上使用免费的VMware虚拟出三个虚拟机,然后下载安装Hadoop和HBase。


在这个过程中,国内几乎很少有关于Hadoop和HBase的中文资料,安装流程都是需要自己去看官网,偏偏官网资料非常有限,软件版本也是有许多bug,安装过程中遇到问题,只能去搜索issues和mail,作为一个非计算机专业的学生,当时的编码能力和英文能力都是硬生生被逼上了一个台阶,也算是一件好事,后来毕业之后从事跟HBase相关的工作,遇到了许许多多初入门的同行,发现为了搭建一个集群耗时2周很是稀松平常的事情。当然随着大数据的不断发展,现在的资料也是越来越多,越来越完善,为大家刚开始使用降低了门槛。


集群搭建好了之后,在使用开源软件的过程中,也常常会碰到一些使用上的问题以及软件bug,这些问题的解决又会耗费许多时间和精力,个中滋味恐怕只有经历过的程序员们才能体会了。以上这些“体验”还仅仅将HBase搭建起来,如果是真正要使用这些开源软件搭建一个生产系统,并且对用户提供一套稳定可靠的服务或者软件系统,那其中的维护和学习成本又跟这2周的“体验成本”完全不是一个数量级了。

091632fsrcio9zmprn84z2.png


正是大数据的火热以及开源软件的维护和学习成本之高,因此各大厂商都推出了基于Hadoop及其生态系统(后续提到Hadoop都是泛指Hadoop和相关生态的开源组件,而不仅仅指Hadoop本身)大数据的企业版本,比如Cloudera的CDH、华为的FusionInsight等等,使得Hadoop在私有云中的应用非常广泛。


如何选择大数据服务提供商


提到私有云,怎能不提当前更加火热的公有云,国外的微软Azure、AWS、Google Cloud Platform等公有云厂商都提供了托管的Hadoop相关服务,值得一提的是Google Cloud的BigTable服务也支持了HBase的接口,可见开源HBase的影响力。国内的阿里、腾讯、百度、华为等公有云厂商也都提供了Hadoop及生态的服务。


问题来了

我们真正要使用大数据基础服务的时候,我们到底是自建还是选择大数据服务提供商,到底是选择公有云、私有云还是混合云呢?


如果自建大数据基础服务,好处就是不用付license费用,但是前期的安装部署、使用、优化,后期的维护、升级、补丁,这些成本非常高,前面我的2周还仅仅是搭建,可以说是万里长征的第一步。因此笔者建议如果不是自身要做大数据服务,最好还是选择一个靠谱的大数据服务提供商,毕竟社会分工,让专业的人做专业的事,企业做好自己想要赚钱的业务是王道。


如果要选择大数据服务提供商,到底是选择公有云、私有云还是混合云呢?先介绍一下这三者的概念和区别,或许大家就会心中有数了。



什么是公有云?


一般来说,公有云的资源是由第三方云服务提供商拥有和运营的,所有的硬件、软件等基础设置都归云服务商所有,所有的租户共享计算、存储和网络这些基础设施。


华为云是一个典型的公有云代表。租户可以使用浏览器访问服务和管理账户。公有云是当前部署云计算最常见的方式,也是当前最火的方式。未来的公有云的竞争不是简单的一个线上服务的竞争,而是一个全堆栈的竞争,客户希望是一个透明的IT基础设施。


尤其是人工智能、IoT、以及视频等技术对原有IT基础设施架构的重构已经产生了积极的推动作用,而重构IT基础设施,需要从芯片、硬件到系统,做垂直优化的设计。华为在过去这么多年,围绕芯片、硬件、系统、数据库、操作系统等投资,是非常深的,也是非常宽的。华为致力于做”黑土地”,期望为企业提供更好的云服务。


公有云通常有几点优势:

1) 免运维。维护都是有云服务提供商提供。

2) 高可靠性。具备众多服务器,确保免受故障影响,并且云服务提供商都会通过一系列手段进行虚拟化,使得磁盘、服务器故障而不影响上层业务。

3) 更好的扩展性。提供按需的资源,包括存储、计算、网络等,更好的满足业务的不确定性以及快速增长。

4) 更低的成本。不需要预先购置硬件、软件,仅仅需要对使用的服务付费。


什么是私有云?


私有云是一个企业或者组织独自拥有云计算的资源,一般来说物理上是位于企业或组织自己的数据中心,也存在让第三方服务商托管的情况,这种情况也可以称之为托管云,不过也是私有云的一种。


在国内私有云销售第一的华为FusionInsight是私有云的一个示例。在私有云中,服务和基础设施都在私有网络中维护。使用私有云比较多的一般是政府机构、金融机构以及希望对环境拥有更大控制权的中型到大型组织。


私有云通常具备的优势:

1) 更高的灵活性。组织可自定义整个云环境以满足特定业务需求。

2) 更高的安全性。基础资源完全不与其他组织共享,从而实现更高的控制性和安全性级别。


什么是混合云?


混合云一般就是私有云和公有云的结合,被认为是“两全其美”,将本地基础架构或私有云与公有云相结合。在混合云中,数据和应用程序可在私有云和公有云之间移动,从而可提供更大灵活性和更多部署选项。在混合云中,还可选择“云爆发”。应用程序或资源在私有云中运行出现需求高峰时可选择“云爆发”,此时可“冲破”私有云至公有云以使用其他计算资源。


混合云通常具备的优势:

1) 更好的控制性。组织可针对敏感资产维持私有基础结构。

2) 较好的灵活性 。在云爆发的时候需要时可利用公有云中的其他资源,但是搭建的复杂度肯定比公有云更高。

3) 较低的成本效益。具备扩展至公有云的能力,在需要时支付额外的计算能力。

4) 容易轻松 。 无需费时费力即可转换至云,因为可根据时间按工作负荷逐步迁移。


毫秒级NoSQL数据库

CloudTable的介绍


根据以上介绍,那么如果要更快更轻松的用上大数据服务,当然是优先选择公有云上的云服务。华为云的表格存储服务CloudTable是基于Google三驾马车之一的HBase及其生态构建的毫秒级NoSQL数据库,致力于为企业用户提供更加便捷、更高性能的HBase及其生态的服务,当前集成了OpenTSDB和GeoMesa以更好的支持时序数据和时空数据的存储和查询。接下来剖析一下CloudTable相对自建HBase/OpenTSDB/GeoMesa有什么优势呢?


内核深度优化


华为从2010开始做Hadoop,拥有社区核心的PMC和committer,第一届亚洲HBaseCon就是2017年在深圳天安云谷由华为主办的。CloudTable中的HBase内核版本是我们经过多年内部和私有云的打磨的版本。


基于社区HBase 1.3版本进行深度内核优化,修复社区关键BUG,优化HBase运行参数。兼容原生HBase常规表操作/数据读写接。


OpenTSDB/GeoMesa也是经过内核专家经历了物联网应用,包括华为内部的物联网应用打磨之后的版本,包括性能优化、bug修复、参数优化等。部分场景性能相比社区提升60%,部分场景提升100%,基本都能保证30%-300%的性能提升。


深度优化的云上架构


下图是一个云上CloudTable的基本架构图,从下面架构图也可以清晰的看出来一些优势的。

091848i9eoavxy9btvfcxd.png


CloudTable公测上线就采用了存储和计算分离的架构,计算CU部署在公有云的计算域,数据存储在存储域,可以为用户带来更好的灵活性,更低的成本。


更高的灵活性


针对于海量数据存储的Hadoop系统以及HBase这类型的NoSQL数据库,我们在做集群规划的时候,其中非常关键的一步就是匹配计算量与存储量,以实现资源的更好利用以及更优的性能。而把计算与存储分离后,集群规划则变得简单很多,计算层的资源只需要根据吞吐量和访问时延等性能指标进行估算,存储资源完全不需要提前估算,真正做到了按需使用。


不仅如此,存储计算分离之后,计算层可以做到秒级扩容,存储层的毫秒级扩容,存储和计算层的扩容相互不影响,应用不感知,使得系统变得非常灵活。


更低的成本


对于HBase来说,计算CU占用的内存、CPU资源并不是很多(相对于spark这种计算型的组件来说),占用的存储资源可能会很多,对带宽的资源要求较高。存储和计算分离之后,存储资源完全按需收费,不需要提前规划存储资源,计算资源不需要过高规格。同时相对于基于EVS搭建HBase集群而言,EVS的3备份和HDFS的3备份叠加,会导致数据保存9备份,而引入华为DLC存储架构之后,底层存储默认只会保存3备份,存储成本下降2/3。


更高的性能


对于数据库来讲,性能是至关重要的,因此CloudTable做了许多事情来提升性能。包括对HBase/OpenTSDB/GeoMesa的内核的修改。包括底层架构上,比如计算域和存储域之间是专用的网卡,提供6*40GE的带宽。包括对OpenTSDB和HBase性能影响大的compaction操作下沉等。


健全的安全机制


包括云上的账号密码、VPC隔离、计算CU只开放了指定的端口。CloudTable的计算CU是基于容器的,存储是基于物理机的,容器和物理机之间网络完全隔离。CloudTable商用之后会提供基于AK/SK认证,HTTPS访问等以遵循华为安全认证。


最后:

这个让你可以提前下班的方法,欢迎大家试用CloudTable,当前CloudTable还在公测免费中。单击下方链接,可立即参与!

https://www.huaweicloud.cn/product/cloudtable.html


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。