数据仓库里面存储引擎是非常重要的,存储引擎的好坏,基本决定了整个数仓的基础。
kudu目标
cloudera公司最近发布了一个kudu存储引擎。按照cloudera的想法,kudu的出现是为了解决,hbase,parquet不能兼顾分析和更新的需求,所以需要一个新的存储引擎可以同时支持高吞吐的分析应用以及少量更新的应用。cloudera 的设计目标是:(http://blog.cloudera.com/blog/2015/09/kudu-new-apache-hadoop-storage-for-fast-analytics-on-fast-data/)
• Strong performance for both scan and random access to help customers simplify complex hybrid architectures
在扫描和随机访问两种场景下都有很强的性能,帮助客户简化混合架构。
• High CPU efficiency in order to maximize the return on investment that our customers are making in modern processors
高cpu利用率
• High IO efficiency in order to leverage modern persistent storage
高io效率充分利用现代存储
• The ability to update data in place, to avoid extraneous processing and data movement
支持数据原地更新
• The ability to support active-active replicated clusters that span multiple data centers in geographically distant locations
支持双活复制集群
kudu核心机制
Cloudera有一篇论文描述kudu的机制,Kudu: Storage for Fast Analytics on Fast Data 。可以从http://getkudu.io/kudu.pdf下载。这里简单说下kudu的关键机制。
-
模仿数据库,以二维表的形式组织数据,创建表的时候需要指定schema。所以只支持结构化数据。
-
每个表指定一个或多个主键。
-
支持insert/update/delete,这些修改操作全部要指定主键。
-
read操作,只支持scan原语。
-
一致性模型,默认支持snapshot ,这个可以保证scan和单个客户端 read-you-writes一致性保证。更强的一致性保证,提供manually propagate timestamps between clients或者commit-wait。
-
cluster类似hbase简单的M-S结构,master支持备份。
-
单个表支持水平分割,partitions叫tablets,单行一定在一个tablets里面,支持范围,以及list等更灵活的分区键。
-
使用Raft 协议,可以根据SLA指定备份块数量。
-
列式存储
-
delta flushes,数据先更新到内存中,最后在合并到最终存储中,有专门到后台进程负责。
-
Lazy Materialization ,对一些选择性谓词,可以帮助跳过很多不必要的数据。
-
支持和MR/SPARK/IMPALA等集成,支持Locality ,Columnar Projection ,Predicate pushdown 等。
总结
为应对BI领域少量更新和大量扫描分析场景,kudu 借鉴了很多传统数仓等技术。对这个领域目前是impala+kudu/Hive/Spark SQL/Greenplum MPP数据库在混战,未来这个会走向融合,传统的mpp数据库个人认为会是一个过渡产品。
微信扫一扫
关注该公众号
相关推荐
而比较特别之处在于采用了最新的大数据仓库-Kudu存储引擎,这让课程在一定程度更加得到升华。Kudu是Cloudera开源的新型列式存储系统,是Apache Hadoop生态圈的成员之一(incubating),专门为了对快速变化的数据进行...
【Impala-Kudu-HBase-Spark安装文档】是关于在分布式计算环境中集成多个组件的详细指南,主要包括四个关键部分:Impala、Kudu、HBase和Spark。这些组件都是大数据处理和分析的重要工具,用于构建高效的数据仓库和...
第一章Kudu入门,第二章CDH环境安装,第三章系统搭建,第四章报表开发,第五章商圈库开发,第六章用户标签开发,及课程资料六部分组成。而比较特别之处在于采用了最新的大数据仓库-Kudu存储引擎。
- **Hive**:一种基于Hadoop的数据仓库工具,可以将SQL查询转化为MapReduce任务进行执行,极大地简化了对Hadoop中数据的查询和管理。 - **HBase**:建立在HDFS之上的分布式列族存储系统,适合处理半结构化或非结构化...
在实际应用中,这个集成可以帮助企业实现实时数据仓库,将来自各种源的实时数据流高效地存储到Kudu中,以便进行快速的分析查询。同时,由于Flink支持复杂的事件时间和窗口操作,因此可以在Kudu中实现复杂的数据处理...
Kudu,作为一款开源的分布式存储系统,由Cloudera公司开发,旨在提供快速的在线分析处理(OLAP)和实时写入能力,广泛应用于大数据领域的实时数据仓库和流处理应用。在Kudu 1.14版本中,我们看到了一些关键的改进和...
Hadoop生态基础服务是其核心,包括HDFS(分布式文件系统)、YARN(资源管理系统)、HBase(列式数据库)、Hive(数据仓库工具)、Spark(快速大数据处理引擎)、Impala(实时查询系统)和Kudu(用于实时分析的数据...
Kudu的快速随机访问和分析性能使其在需要实时数据处理的应用场景中尤其有用,如实时数据仓库、在线分析处理(OLAP)以及物联网(IoT)等。Kudu提供了一种独特的数据存储方式,能够同时兼顾快速查询和大数据处理的...
《Kudu:构建近实时分析系统》 Kudu,由Cloudera开发并开源的一款分布式存储系统,旨在解决大数据分析中的实时...它不仅提升了大数据分析的时效性,也保持了数据仓库的灵活性和可扩展性,是大数据领域的重要创新之一。
3. **快速扫描**:Kudu 提供高效的全表扫描功能,允许数据仓库工具快速查询大量数据,适合大数据分析。 4. **多主复制**:Kudu 的多主复制机制允许在多个节点上同时写入,提高数据写入的可用性和性能。 5. **灵活...
- **Hive**:数据仓库工具,支持SQL查询大数据。 - **Impala/Kudu/Cloudera Manager**:高性能数据查询和管理工具。 - **Flume/Idea**:日志收集和传输。 - **Kafka**:实时数据流处理,与KafkaManager和...
- 为了充分利用Hadoop技术的特点,“海王星”平台还开发了一系列模型设计方法论、标准化的数据处理算法以及自动化工具,这些都为构建高质量的大数据仓库模型奠定了坚实的基础。 #### 三、案例背景与挑战 随着大数据...
然而,大数据技术也存在挑战,如从传统数据仓库升级到大数据仓库需要重构,以及功能和性能上的妥协,如HDFS不支持文件修改,Hive对更新和删除操作有严格限制等。尽管如此,大数据离线计算仍有效地解决了传统BI的容量...
- **Hive 2.3.6**:基于Hadoop的数据仓库工具,支持通过SQL查询方式来分析存储在Hadoop中的数据。 - **Tez 0.9.2**:构建在YARN之上的应用程序框架,支持复杂的数据处理流程。 - **HBase 1.4.10**:分布式的、面向列...
全量离线接入可以将业务数据从各类数据源(MySQL、Oracle、PostgreSQL、MongoDB等)离线导入数据仓库,以及其他相关大数据环境。关系型数据库和日志的增量实时/准实时接入分别使用了自研的NDC系统和DataStream,将...
Impala在网易大数据中的使用和优化实践主要体现在数据处理中的角色、数据仓库建模方式、查询性能优化、高可用性设计等方面,并且Impala的优化实践主要体现在Impala管理服务器、元数据同步增强、基于zk的服务高可用、...
* Hive2.3.6基于Hadoop的数据仓库工具,支持通过Hive SQL查询方式来分析存储在Hadoop分布式文件系统中的数据。 * Tez0.9.2构建在YARN之上的应用程序框架,允许使用复杂的有向无环图来处理数据。 * HBase1.4.10分布式...
- **仓库技术架构**:包括存储(如Kudu、MPP数据库、Redis、Oracle RDB、HDFS、Hadoop、HBase、Hive)、计算(如流式计算Kafka、Storm、数据挖掘MLlib、内存计算、批量计算MapReduce、Spark、Mahout)。 - **仓库...
CDH版本框架讲解包括CM的安装部署、Hadoop、Zookeeper、Hive、Flume、Kafka、Oozie、Impala、HUE、Kudu、Spark的安装配置,透彻了解不同版本框架的区别联系,将大数据全生态系统前沿技术一网打尽。在过程中对大数据...