GP\HBase\Redis\ES\分库分表比较

  • 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
上一篇:.NET Core word文档插入图片导出


下一篇:统一处理labelme标注的json文件名