我知道 hadoop 用于以较低的成本存储(分布式)数据,而我们可以将结构化,非结构化和半结构化数据存储到 HDFS 之后,我想到一个问题,YouTube提供了视频和文本数据,因此他们必须使用HDFS,但是当我用google搜索时,我惊讶的是他们正在使用Vitess,BigTable和MariaDB。所以我的问题是,为什么HDFS无法满足要求?为什么不使用HDFS? 以及数据如何像视频用户数据注释等一样存储在youtube中,它们是使用结构化/非结构化还是半结构化架构来存储所有不同类型的数据。 如果我错了,请告诉我,正确的方法是什么?
答案 0 :(得分:1)
HDFS是否满足要求?为什么不使用HDFS?
Hadoop / HDFS仅支持批处理。读取或写入数据时,响应时间更长。在某些情况下,一分钟或几秒钟的响应对于业务至关重要,因此必须实时处理大量数据会受到打击。在那儿,具有实时用例的公司通常更喜欢低延迟和高可用性的工具/应用程序,而不是直接写入hdfs。
说过,Hadoop / HDFS确实满足了大公司的大多数数据仓库需求。这里的问题是您正在尝试使用hadoop / hdfs解决什么问题。如果您在大公司中并且要处理PB级的数据,通常公司会设置跨多个节点的大型集群,然后使用spark / mapreduce批量处理该系统中存储的数据。在多个用例中,公司使用本地大数据集群(通常是hdfs,map-reduce,hive等)来处理其数据。
数据如何像视频用户数据注释等一样存储在youtube中,它们是使用结构化/非结构化还是半结构化模式存储所有不同类型的数据。
随着公司拥有本地Hadoop系统的节点和集群的增加,管理这些集群变得越来越困难。因此,出现了云计算,其中管理基础架构的工作在云提供商上,而在希望构建数据解决方案的公司上则更少。这是大公司倾向于降低其基础架构成本并转向云解决方案而不使用内部部署基础架构的主要原因之一。 像GCP,AWS这样的云提供商拥有Google BigTable,BigQuery等应用程序,这些应用程序支持存储大量记录(PetaByte规模)并在需要更多节点/集群时自动扩展。
像youtube这样的视频流媒体平台,netflix确实利用了Cloud基础架构和应用程序来流传输其内容。 Netflix确实将AWS与Cassandra和MySQL一起用作其存储和处理引擎。 Youtube,尽管我不确定,但请使用Google云存储和Bigtable。
希望这会有所帮助:)
答案 1 :(得分:0)
大公司正在结合不同的数据存储技术,因为没有一种万能的解决方案。
Hadoop和HDFS非常强大,可以以分布式方式以长计算时间(分钟为度量单位)来弹性地存储和处理大量结构化和非结构化数据(Tera字节和Peta字节)。 背后的原理是能够在短期内存储任何类型的数据,并在以后进行批处理并将结果以结构化的方式存储在sql或nosql数据库中,以将其呈现给最终用户。在这种情况下,hadoop将与其他类型的数据库结合使用。
Nosql数据库也是处理大量数据的非常好的解决方案,因为与传统的rdbms相比,它们具有分布和可伸缩性,因此具有查询更大数量的结构化数据的能力。但是,它们缺乏适当管理非结构化数据的能力。
知道要处理的数据适合nosql数据库或rdbms的存储和处理能力的公司,将首选这种解决方案,而不是hadoop,因为它们易于管理,使用和查询。
现在,Hadoop / HDFS是用于数据存储和处理的低级解决方案。公司将需要一个高级接口来进行数据存储和处理,并且将倾向于由大数据专家在云中或本地运行的打包好的解决方案,而不必担心hadoop集群的复杂配置和体系结构。在这里我们可以找到Google大表/查询,Amazon dynamo db或cloudera / hortonworks解决方案,这些解决方案可以立即使用并得到适当的支持。