1、数据采集
Flume:分布式的海量日志采集、聚合和传输的系统,支持在日志系统中定制各类数据发送方,用于收集数据;提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
Logstash:免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
SQL:是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
Beat:用于单用途数据托运人的平台。它们以轻量级代理的形式安装,并将来自成百上千台机器的数据发送到Logstash或Elasticsearch。
2、数据同步
CDC:变化数据捕获简称CDC,抽取处理需要重点考虑增量抽取,假设一个数据仓库系统,在每天夜里的业务低峰时间从操作型源系统抽取数据,那么增量抽取只需要过去24小时内发生变化的数据。
OGG:在一个典型的OGG环境中,会有两个数据库存在,同时也会有两个GG实例运行,主要包括四个核心对象:源数据库、目标数据库、源GG、目标GG。数据复制运行流程大概如下:源数据库在运行过程中,LGWR进程会源源不断地把日志记录到联机日志中(online log)。源GG的工作起点或者整个GG数据库流的起点也就是从源数据库的联机日志开始。
Kettle:一款开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Informatica:Informatica PowerCenter用于访问和集成几乎任何业务系统、任何格式的数据,它可以按任意速度在企业内交付数据,具有高性能、高可扩展性、高可用性的特点。主要功能组件包括:数据清洗和匹配、数据屏蔽、数据验证、Teradata双负载、企业网格、元数据交换、下推优化(Pushdown Optimization)、团队开发和非结构化数据等。
Sqoop:是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
存储过程:是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升。
Kafka:是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
3、数据库
Mysql:是一个关系型数据库管理系统。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
Oracle
DB2
Greenplum
Neo4j
Mongodb
Postgresql
GemFire
sqlserver
access
redis
4、数据分析
帆软
永洪
Tableu
SAS
smartBI
Excel
5、数据检索
Elasticsearch
Solr
6、数据可视化
Kibana
Grafana
7、数据计算
Spark Streaming
Storm
samza
8、Hadoop
HDFS
Hbase
Spark SQL
Kylin
MapReduce
Zookeeper
Hive
Impala