数据存储TDW、Apache Tajo、Apache HBase、Hadoop介绍

以下为你介绍的数据存储软件都可用在Linux系统上:TDW(腾讯分布式数据仓库)、Apache Tajo(分布式数据仓库系统)、Apache HBase(分布式数据库)、Hadoop(分布式系统基础架构)。

1、TDW(腾讯分布式数据仓库)

腾讯分布式数据仓库项目,在Hadoop和hive的基础上开发的腾讯内部最大的离线数据处理平台。TDW支持Oracle功能兼容的SQL语法,支持PB级的存储和TB级的计算等。

这个项目主要的应用场景是构建低成本的数据仓库。我们知道传统的数据仓库需要专用的硬件和昂贵的软件授权,使用TDW,可以基于廉价的PC Server构建数据仓库。我们希望通过开源的TDW,降低数据仓库的成本和建设门槛,促进企业对数据价值的发掘,提升国内企业的信息化水平。

TDW在过去几年的设计思路一直是“开源软件”+“腾讯定制和优化”。使用开源软件,大大节省了我们的研发成本和时间,可以快速搭建起原型,比如TDW核心的查询引擎,是基于apache hive这个开源软件。但是仅仅使用开源软件,又不能完全满足腾讯的业务需求,因此,我们需要再开源软件基础上,根据腾讯的业务特点,进行定制和优化。在TDW的研发过程中,我们基于hive和hadoop,依次经历了数据仓库功能完善、易用性建设、高可用和稳定性加强,性能和成本优化,安全建设等定制和优化。

TDW是腾讯海量数据处理平台中最核心的模块,它有以下几个作用:

1]、提供海量的离线计算和存储服务。TDW是腾讯内部规模最大的离线数据处理平台,公司内大多数业务的产品报表、运营分析、数据挖掘等的存储和计算都是在TDW中进行。这是TDW提供的最基础的服务。

2]、数据集中于共享功能。腾讯产品线较长,数据丰富,为了挖掘数据价值,经常需要访问多个产品的数据。TDW是腾讯公司级的数据仓库,这里集中了大多数业务的数据,业务在这里可以方便的进行数据共享和管理。

3]、TDW为其他大数据服提供基础和平台。这有两个含义,首先是TDW对腾讯内部开放各种API接口,很多业务的数应用、数据处理平台可以基于TDW之上,由TDW提供最基础的存储于计算,业务在 TDW之上定制个性化的数据产品。其次,TDW内存放了腾讯大量有价值的数据,对于这些数据,各个业务有可能有一些不同的需求,这些需求可以抽象出一些固定的数据服务,如海量数据点查询、快速多维分析、流式计算等,这些服务是TDW衍生出来的精细化的服务。

与其他商业数据库比,当然是成本优势。与社区的hive+hadoop比,TDW包含了大量功能,稳定性和性能优化,并且经过了腾讯生产环境的验证。

在架构上,TDW并没有对开源软件做大的修改。TDW的存储和计算,主要采用hadoop的HDFS和MapReduce,TDW的SQL查询引擎主要基于Hive。

下载地址:https://github.com/amutu/tdw

2、Apache Tajo(分布式数据仓库系统)

数据存储TDW、Apache Tajo、Apache HBase、Hadoop介绍

Tajo 是一个分布式数据仓库系统,基于 Hadoop 实现,特点是低延迟、高可伸缩,提供专用查询和 ETL 工具。

特点:

1]、可伸缩性和低延迟

完全分布式的 SQL 查询处理,基于存储雨 HDFS 的大数据集。

超低响应时间(约100毫秒),在合理数据范围内的简单查询。

2]、支持长时间运行的查询

容错支持,避免某些任务失败后的查询重启。

动态调度,处理和异构集群节点故障。

3]、ETL

ETL 可实现不同数据格式之间的转换。

支持多种文件格式,如 CSV、RCFile 和 RowFile。

4]、扩展性

支持用户自定义函数。

提供自定义文件格式的 Scanner/Appender 接口。

5]、兼容性

遵循 ANSI/ISO SQL 标准,非标准方面遵循 PostgreSQL 规范。

支持 HiveQL 模式。

在 HCatalog 和 Hive MetaStore 实现表访问。

支持 JDBC 驱动。

6]、简单

提供交互式 Shell 来提交 SQL 查询到 Tajo 集群。

提供备份和恢复工具。

异步/同步 Java API 来提交 SQL 查询到 Tajo 集群。

下载地址:http://tajo.apache.org/

3、Apache HBase(分布式数据库)

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统,Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据,Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。

数据存储TDW、Apache Tajo、Apache HBase、Hadoop介绍

上图描述了Hadoop EcoSystem中的各层系统,其中HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。

此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

HBase访问接口:

1].Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据。

2].HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用。

3].Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据。

4].REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制。

5].Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计。

6].Hive,当前Hive的Release版本尚没有加入对HBase的支持,但在Hive 0.7.0版本中会支持HBase,可以使用类似SQL语言来访问HBase。

下载地址:https://hbase.apache.org/

4、Hadoop(分布式系统基础架构)

数据存储TDW、Apache Tajo、Apache HBase、Hadoop介绍

上图是Hadoop的体系结构。

Hadoop 是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

下载地址:http://hadoop.apache.org/

注明

以上就是数据存储TDW、Apache Tajo、Apache HBase、Hadoop的介绍内容,这些数据存储软件都能使用在Linux操作系统中。

栏目相关文章