
1、概念介绍
MySQL:关系型数据库,主要面向OLTP,支持事务,支持二级索引,支持sql,支持主从、Group Replication架构模型(本文全部以Innodb为例,不涉及别的存储引擎)。
HBase:基于HDFS,支持海量数据读写(尤其是写),支持上亿行、上百万列的,面向列的分布式NoSql数据库。天然分布式,主从架构,不支持事务,不支持二级索引,不支持sql。
ElasticSearch:简称ES是一款分布式的全文检索框架,底层基于Lucene技术实现,虽然ES也提供存储,检索功能,但我一直不认为ES是一款数据库,但是随着ES功能越来越强大,与数据库的界限也越来越模糊。分布式,P2P架构,但不支持事务,采用倒排索引提供全文检索。
2、数据存储方式
假设有这样一张人员信息表:

超级会员免费看
本文对比分析了MySQL、HBase和ElasticSearch在数据存储方式、容灾、读写方式和使用场景上的差异。MySQL适合OLTP业务,支持事务和二级索引;HBase适合OLAP,支持海量数据读写,不支持事务;ElasticSearch为全文检索框架,采用倒排索引,适合复杂检索。在容灾方面,MySQL有主从复制和Group Replication,HBase通过HLog实现,ElasticSearch采用主备节点。在读写方式上,MySQL、HBase和ElasticSearch各有特点,ElasticSearch的写入性能较慢,但支持近实时检索。
订阅专栏 解锁全文
2494

被折叠的 条评论
为什么被折叠?



