- GreenPlum
- 应用场景:Greenplum适用TB级别数据仓库、集市、ODS、交互式分析数据平台等系统。 不适用于极短的时间处理大量的并发小任务(OLTP)。
- 优点:Master-Slave架构、ShareNothing体系、采用Postgresql作为底层引擎
- 缺点:
1.扩展性差:数据采用Hash分布在各个节点,计算节点和存储紧密耦合,在增加节点后,需要对数据做重分布才能保证数据与节点的紧耦合(重新hash数据),进而保证系统的性能。相反,Hadoop的节点和数据是没有耦合关系的。
2.MPP数据库节点宕机时,系统的性能损耗大于Hadoop节点
- HBase
- 应用场景:
成熟的数据分析主题,查询模式已经确立并且不轻易改变。
传统型关系型数据已经无法承受负荷,高速插入,大量读取。
适合海量的,但同时也是简单的操作。(key-value),不支持JOIN等复杂关 联。 - 优点:分布式的,面向列的开源数据库、键值是排序的、按列存储的。
- 缺点:不支持JOIN等复杂查询,Hbase中不能脱离行键进行查询,需要经过良好的行键设计。
- 为什么Hbase快?
通过rowkey可以快速地位到在那个Region上;键是排好序的;3、按列存储的;
- Redis
- 应用场景:
存储缓存用的数据
需要高速读/写的场合使用它快速读/写 - 优点:完全基于内存,绝大部分请求是纯粹的内存操作,非常快速; 采用单线程; 使用多路I/O复用模型,非阻塞IO;
- 缺点:1.数据量太大不适合;2.数据访问频率太低不适合;
- ElasticSearch
- 应用场景:分布式的搜索引擎和数据分析引擎;对海量数据进行近实时的处理;全文检索,结构化检索,数据分析
- 优点:将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的ES;
- 缺点:占用内存等资源较多。
- 分表分库
- 应用场景:
解决MySql单表数据量过大导致查询及处理性能低下、以及单机资源的限制。 - 优点:相比来说,可利用多服务器的计算资源,及避免数据集中存储,提高性能。
- 缺点:需要引入Mycat/Sharding Jdbc中间件;跨库查询性能低下,MyCat仅支持两张表Join