Impala和hBASE的区别
1. Impala: Impala是一个运行在Hadoop上的查询引擎。它对存储在Hadoop中的数据提供高性能、低延迟的SQL查询。它是一个开源的软件。它支持内存中的数据处理。它率先使用了Parquet文件格式,这是一种列式存储布局,为数据仓库场景中典型的大规模查询进行了优化。
2. HBase: 该模型用于提供对大量结构化数据的随机访问。它建立在hadoop文件系统的基础上,本质上是面向列的。它用于存储HDFS中的数据。它是开源的数据库,提供数据复制。
编号 | 参数 | Impala | HBase |
---|---|---|---|
0 | 基础知识 | Impala是Hadoop的分析型数据库管理系统(DBMS)。 | 基于Apache Hadoop和BigTable概念的宽列数据库。 |
1 | 开发者 | 它由Cloudera开发。 | 由Apache软件基金会开发。 |
2 | 发布年份 | Impala是在2013年发布的。 | HBase是在2008年发布的。 |
3 | 网站 | www.cloudera.com/products/open-source/apache-hadoop/impala.html | hbase.apache.org |
4 | 文档 | docs.cloudera.com/documentation/enterprise/latest/topics/impala.html | hbase.apache.org |
5 | 实现语言 | Impala使用C++编程语言实现。 | HBase使用JAVA编程语言实现。 |
6 | 服务器操作系统(Operating System) | Linux是Impala的唯一服务器操作系统。 | Linux、Unix和Windows是HBase的服务器操作系统。 |
7 | 主要数据库模型 | 它使用关系型数据库管理系统(RDBMS)。 | 它使用面向列的模型。 |
8 | 二级数据库模型 | 它使用文档存储作为二级数据库模型。 | 它不使用任何二级数据库模型。 |
9 | SQL | 它支持SQL,如DML和DDL语句。 | 它不支持SQL(结构化查询语言)。 |
10 | 触发器 | Impala中不使用触发器。 | 触发器在HBase中使用。 |
11 | 支持的编程语言 | 所有支持JDBC/ODBC的语言。 | C, C#, C++, Java, PHP, Python, Scala |
12 | API | JDBC和ODBC是Impala中使用的API和访问方法。 | Java API、RESTful HTTP API、Thrift是Impala中使用的API和访问方法。 |
13 | 复制方法 | Impala中使用的复制方法是可选择的复制因子。 | HBase中使用的复制方法是主-主复制、主-从复制。 |
14 | 一致性 | 最终一致性 | 即时一致性或最终一致性 |
15 | 内存功能 | 不支持内存功能。 | 它支持内存功能。 |
16 | 使用 | Impala与BI工具配合得很好。列入标准ANSI SQL使得UDFs/UDAs、相关子查询、嵌套类型等功能成为可能。Impala支持各种数据类型,包括整数和浮点类型、STRING、CHAR、VARCHAR和TIMESTAMP。对于BI风格的查询,快速实施,使用认证机制的企业级安全,局部数据分析中,实时性。 | 用于大数据的随机、实时读/写访问。有助于在商品硬件集群上托管非常大的表。医学领域;体育领域;电子商务。 |
17 | 主要客户 | 耐克、花旗集团、脸书 | 推特、雅虎 |