zoukankan      html  css  js  c++  java
  • 老李分享云计算基本概念

    老李分享云计算基本概念

     

      poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200。

    1、NOSQL数据库:

    列族存储:HBase,Hypertable

    文档存储:MongDB,CouchDB

    键值存储:Redis,Memcahed,Berkeley DB

    最终一致的键值存储:Cassandra,Voldermot

    它们各有特色,适用于不同的应用场景。
    Redis是一个高性能的key-value数据库。它的出现很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用,比较适合作为内存数据库。但它的查询功能比较单一,无法实现RDBMS丰富的查询功能,而HBase经过改进后可以实现。

    MongoDB是用C++编写的分布式文件存储数据库。它是一个介于RDBMS和NoSQL之间的产品,是NoSQL当中功能最丰富,最像RDBMS的。MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。因此,用户可以方便地由MySQL迁移到MongoDB,进一步促进MongoDB的流行。

    相比之下,HBase支持的查询语言没有MongoDB丰富,也不支持二级索引, 在易用性方面完败于MongoDB。但HBase是在Hadoop基础上开发的,与Hadoop结合更紧密,数据存储在riDFS巾,对MapReduce框架的支持更好。而且HBase的吞吐率远大于MongoDB,大数据写入性能也遥遥领先。在具体应用上,

    MongoDB更适合于数据变化较快的场景,适用动态的查询,使用索引而不需要MapReduce;而HBase更适合海量数据的实时随机读取。

    不过通过一些方法,比如Solr+Hbase,ITHbase,协处理器等方式,为HBase增加二级索引的话,可以让HBase在功能上不输于MongDB。

    2、分布式文件系统:

    HDFS,GFS等:适合存储大文件。(HDFS对大文件做了优化,关注吞吐量,适合做批处理)

    MogileFS,FastDFS,OpenStack的Swift等。适合存储小文件

    淘宝的TFS。

    注解1 -- 下面是转载来的HDFS和Swift的对比:

    最近在Quora上有人提到一个问题,有关Hadoop分布式文件系统和OpenStack对象存储的不同。问题原文如下:

    “Hadoop分布式文件系统(HDFS)和OpenStack对象存储(OpenStack Object Storage)似乎都有着相似的目的:实现冗余、快速、联网的存储。什么样的技术特性让这两种系统因而不一样?这两种存储系统最终趋于融合是否大有意义?”

    问题提出之后,很快有OpenStack的开发者进行了回复。51CTO在此摘抄了前两名回复进行翻译,以供各位参考。

    排名第一的答案来自RackSpace的OpenStack Swift开发者Chuck Their:

    虽然HDFS与Openstack对象存储(Swift)之间有着一些相似之处,但是这两种系统的总体设计却大不一样。

    1. HDFS使用了中央系统来维护文件元数据(Namenode,名称节点),而在Swift中,元数据呈分布式,跨集群复制。使用一种中央元数据系统对HDFS来说无异于单一故障点,因而扩展到规模非常大的环境显得更困难。

    2. Swift在设计时考虑到了多租户架构,而HDFS没有多租户架构这个概念。

    3. HDFS针对更庞大的文件作了优化(这是处理数据时通常会出现的情况),Swift被设计成了可以存储任何大小的文件。

    4. 在HDFS中,文件写入一次,而且每次只能有一个文件写入;而在Swift中,文件可以写入多次;在并发操作环境下,以最近一次操作为准。

    5. HDFS用Java来编写,而Swift用Python来编写。

    另外,HDFS被设计成了可以存储数量中等的大文件,以支持数据处理,而Swift被设计成了一种比较通用的存储解决方案,能够可靠地存储数量非常多的大小不一的文件

    注解2 -- 下面是转载来的FastDFS和HDFS的对比:

    主要是定位和应用场合不一样。
    hadoop的文件系统HDFS主要解决并行计算中分布式存储数据的问题。其单个数据文件通常很大,采用了分块(切分)存储的方式;
    FastDFS主要用于大中网站,为文件上传和下载提供在线服务。所以在负载均衡、动态扩容等方面都支持得比较好,FastDFS不会对文件进行分快(切分)存储。

    一句话概括就是:HDFS是给超大的数据集设计的, FASTDFS是专为小文件设计的,FASTDFS有JAVA 的API

    注解3: --- 下面是转载来的流行的分布式系统的常见应用场景: 

    应用场景

    可行系统

    大数据离线/在线分析

    HDFS、Swift、GlusterFS

    电子商务

    TFS、FastDFS、Dynamo、Swift、Tair

    社交网络

    TFS、FastDFS、Dynamo、Swift、Tair

    网络硬盘

    HDFS、FastDFS、Swift、GlusterFS

    邮件服务

    TFS、FastDFS、Dynamo、Swift、Tair

    图片服务

    TFS、FastDFS、Dynamo、Swift、Tair

    语音视频服务

    HDFS、FastDFS、Swift、GlusterFS

    虚拟机调度和镜像存储

    HDFS、Swift、GlusterFS

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
      
     

    3、云计算平台/解决方案(提供IaaS)

    CouldStack: Apache的

    OpenStack:  Rackspace 和 NASA 共同开发的,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)

    vCloud Director: VMware开发的用于部署云的平台

  • 相关阅读:
    DRUPAL-PSA-CORE-2014-005 && CVE-2014-3704 Drupal 7.31 SQL Injection Vulnerability /includes/database/database.inc Analysis
    WDCP(WDlinux Control Panel) mysql/add_user.php、mysql/add_db.php Authentication Loss
    Penetration Testing、Security Testing、Automation Testing
    Tomcat Server Configuration Automation Reinforcement
    Xcon2014 && Geekpwn2014
    phpMyadmin /scripts/setup.php Remote Code Injection && Execution CVE-2009-1151
    Linux System Log Collection、Log Integration、Log Analysis System Building Learning
    The Linux Process Principle,NameSpace, PID、TID、PGID、PPID、SID、TID、TTY
    Windows Management Instrumentation WMI Security Technology Learning
    IIS FTP Server Anonymous Writeable Reinforcement, WEBDAV Anonymous Writeable Reinforcement(undone)
  • 原文地址:https://www.cnblogs.com/poptest/p/5210614.html
Copyright © 2011-2022 走看看