1. Hadoop、HBase和Spark
1.1 Hadoop
Hadoop是一种能够对大量数据进行分布式处理的软件框架(分布式系统基础架构)。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
1.2 HBase
HBase(Hadoop Database)是一个分布式的、面向列的开源数据库(Hadoop项目的子项目),HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
1.3 spark
Spark是专为大规模数据处理而设计的快速通用的计算引擎。类Hadoop MapReduce的通用并行框架,但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
PrestoDB
Presto(或 PrestoDB)是一种开源的分布式 SQL 查询引擎,用于针对任何规模的数据进行快速分析查询。
- 既可支持非关系数据源,例如 Hadoop 分布式文件系统 (HDFS)、Amazon S3、Cassandra、MongoDB 和 HBase。
- 又可支持关系数据源,例如 MySQL、PostgreSQL、Amazon Redshift、Microsoft SQL Server 和 Teradata。
Presto 与 Hadoop/HDFS 不同,它没有自己的存储系统。因此,Presto 与 Hadoop 互补。
clickhouse
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。
Phoenix
Phoenix 是构建在 HBase 上的一个 SQL 层,能让我们用标准的 JDBC APIs 而不是 HBase 客户端 APIs 来创建表,插入数据和对 HBase 数据进行查询。
Elasticsearch
Elasticsearch 是一个实时的分布式存储、搜索、分析的引擎。
zookeeper
zookeeper 就是动物园管理员,他是用来管 hadoop(大象)、Hive(蜜蜂)、pig(小 猪)的管理员, Zookeeper: 是一个分布式的、开源的程序协调服务,他提供的主要功 能包括:配置管理、名字服务、分布式锁、集群管理。
Nginx
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。
PostgreSQL、MySQL和Redis
关系型数据库
- PostgreSQL是由加州大学计算机系开发的对象关系型数据库管理系统(ORDBMS),具备更高的可靠性,对数据一致性完整性的支持高于MySQL,因此更加适合严格的企业应用场景(比如金融、电信、ERP、CRM)。
- MySQL是由瑞典MySQL AB 公司开发的关系型数据库管理系统,现属于 Oracle 旗下产品。MySQL查询速度较快,更加适合业务逻辑相对简单、数据可靠性要求较低的互联网场景(比如google、facebook、alibaba)。
非关系型数据库
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。
参考资料
MySQL与PostGreSQL的区别
Presto (PrestoDB) 简介
什么是ClickHouse?
HBase - Phoenix的安装使用教程1(基本介绍、安装部署)
什么是 Elasticsearch?一篇搞懂
Nginx中文文档