1. Kafka比对其它MQ中间件
- kafka对比其他MQ的优点
| 可扩展 | Kafka集群可以透明的扩展,增加新的服务器进集群。 |
|---|---|
| 高性能 | Kafka性能远超过传统的ActiveMQ、RabbitMQ等,Kafka支持Batch操作。 |
| 容错性 | Kafka每个Partition数据会复制到几台服务器,当某个Broker失效时,Zookeeper将通知生产者和消费者从而使用其他的Broker。 |
- kafka对比其他MQ的缺点
| 重复消息 | Kafka保证每条消息至少送达一次,虽然几率很小,但一条消息可能被送达多次。 |
|---|---|
| 消息乱序 | Kafka某一个固定的Partition内部的消息是保证有序的,如果一个Topic有多个Partition,partition之间的消息送达不保证有序。 |
| 复杂性 | Kafka需要Zookeeper的支持,Topic一般需要人工创建,部署和维护比一般MQ成本更高。 |
- kafka对比其他MQ的使用场景
| Kafka | 主要用于处理活跃的流式数据,大数据量的数据处理上 |
|---|---|
| 其他MQ | 用在对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量还在其次,更适合于企业级的开发 |
- 总结
| 数据可靠性 | 延迟 | 单机吞吐 | 社区 | 客户端 | |
|---|---|---|---|---|---|
| ActiveMQ | 中 | / | 万级 | 不太活跃 | 支持全面 |
| RabbitMQ | 高 | 微秒级 | 万级 | 活跃 | 支持全面 |
| Kafka | 高 | 毫秒级 | 十万级 | 活跃 | 支持全面 |
| RocketMQ | 高 | 毫秒级 | 十万级 | 有待加强 | 有待加强 |
2. 分布式计算比对
- 如果对延迟要求不高的情况下,可以使用 Spark Streaming,它拥有丰富的高级 API,使用简单,并且 Spark 生态也比较成熟,吞吐量大,部署简单,社区活跃度较高,从 GitHub 的 star 数量也可以看得出来现在公司用 Spark 还是居多的,并且在新版本还引入了 Structured Streaming,这也会让 Spark 的体系更加完善。
- 如果对延迟性要求非常高的话,可以使用当下最火的流处理框架 Flink,采用原生的流处理系统,保证了低延迟性,在 API 和容错性方面做的也比较完善,使用和部署相对来说也是比较简单的,加上国内阿里贡献的 Blink,相信接下来 Flink 的功能将会更加完善,发展也会更加好,社区问题的响应速度也是非常快的,另外还有专门的钉钉大群和中文列表供大家提问,每周还会有专家进行直播讲解和答疑。
3. 海量数据存储比对
- Kudu对比其他列式存储(Hbase、HDFS)
| HDFS | 使用列式存储格式Apache Parquet,Apache ORC,适合离线分析,不支持单条纪录级别的update操作,随机读写性能差 |
|---|---|
| HBASE | 可以进行高效随机读写,却并不适用于基于SQL的数据分析方向,大批量数据获取时的性能较差。 |
| KUDU | KUDU较好的解决了HDFS与HBASE的这些缺点,它不及HDFS批处理快,也不及HBase随机读写能力强,但是反过来它比HBase批处理快(适用于OLAP的分析场景),而且比HDFS随机读写能力强(适用于实时写入或者更新的场景),这就是它能解决的问题。 |
4. ClickHouse与其他的OLAP框架的比较
| 商业OLAP数据库 | 例如:HP Vertica, Actian the Vector。区别:ClickHouse是开源而且免费的。 |
|---|---|
| 云解决方案 | 例如:亚马逊RedShift和谷歌的BigQuery 区别:ClickHouse可以使用自己机器部署,无需为云付费 |
| Hadoop生态软件 | 例如:Cloudera Impala, Spark SQL, Facebook Presto , Apache Drill 区别: ClickHouse支持实时的高并发系统\ClickHouse不依赖于Hadoop生态软件和基础、ClickHouse支持分布式机房的部署 |
| 开源OLAP数据库 | 例如:InfiniDB, MonetDB, LucidDB 区别:这些项目的应用的规模较小,并没有应用在大型的互联网服务当中,相比之下,ClickHouse的成熟度和稳定性远远超过这些软件 |
| 开源分析 | 例如:Druid , Apache Kylin 区别:ClickHouse可以支持从原始数据的直接查询,ClickHouse支持类SQL语言,提供了传统关系型数据的便利 |