相信了解过大数据的小伙伴们,对大数据架构的各个组件的名称和大致作用肯定有一定的了解。那我们来看看那些属于存储系统吧1.hadoop,毫无疑问,它肯定是存储系统,用来存储分布式文件的。从存取速度角度来说,它的速度并不快。从数据量来说,海亮数据存储说的就是以它为鼻祖的组件。他并不擅长存取大量的小文件。适合存储大文件。因为文件的元数据信息保存在namenode的内存中,这个数据结构决定了不能存储太多小文件。 2.hive,它不是存储系统,它是一个基于hadoop的数据仓库,即可以讲存储在hadoop上的结构化文件的内容转化为数据库的逻辑结构。没有了hadoop,hive将无法运行。 3.hbase,他是一个存储系统,不基于hadoop运行,它有自己的文件存储实现。适合来做大量数据的随机读。它需要借助于zookeeper来提供集群管理。 4.kafka,它是一个就是的消息中间件,是一个存储系统。它将发送到它的消息以顺序的形式写入文件,故可以提供快速的磁盘读。它不能存储文件,而是存储消息。 5.zookeeper,它是一个分布式协调服务,它的内部可以存储数据,但不存储文件。而且设计的原理就是为了分布式协调而来,故对文件化存储不支持,也不要用它来做这个。 6.spark,flink等计算框架,这些计算框架里不支持数据存储,它们是做为调用存储系统中的数据,计算后写入存储的一个系统。 7.其他数据库组件,其他关于数据库的组件,基本都是有自己数据存储的模块实现,如es,CK,doris,kudu等。这里就不做一一介绍了。 当然了,也还有其他组件,去数据湖组件,我这边基本没有接触过。有兴趣的小伙伴可以留言。我这里会做相应的分享。
|