主页 > 新闻资讯 > 大数据培训:常见的分布式数据库场景选型

大数据培训:常见的分布式数据库场景选型

作者:张老师 浏览次数: 2021-06-30 17:15
解决大规模的分布式数据存储问题,离不开分布式数据库,目前市场上开源的分布式数据库产品也不少,作为大数据开发者,对于主流的产品特点及技术选型,也需要熟练地掌握。今天的大数据培训分享,我们来讲讲常见的分布式数据库场景选型。

大数据培训:常见的分布式数据库场景选型

分布式数据库的概念,这里不再阐述。我们先来建立一种认知:为什么选择分布式数据库?

(1)具有灵活的体系结构;

(2)适应分布式的管理和控制机构;

(3)经济性能优越;

(4)系统的可靠性高、可用性好;

(5)局部的应用响应快;

(6)优越的可扩展性,易于集成现有的系统。

那分布式数据库应该怎么用?基于分布式数据库的选型该怎么做?

首先,基于特性,分布式数据库大致可以分为三类:

(1)支持持久化存储的分布式存储系统,如MySQL,OceanBase;

(2)偏向于计算的分布式计算框架,如Hadoop HDFS,Ceph,Swift,Blob,Cinder,Lustre;

(3)分布式消息队列,如Redis,RMQ,CMQ,Kafka。

其次,基于不同的应用场景,根据特性继续细化,又可以分为以下:

(1)分布式协同数据库系统;

(2)分布式任务;

(3)流式计算;

(4)分布式文件系统;

(5)分布式nosql存储;

(6)分布式关系数据库;

(7)分布式消息队列。

如何进行分布式数据库技术路线的选择?

分布式一般分为三条技术路线:分布式访问客户端、分布式中间件模式、分布式数据库模式。

其中分布式访问客户端对应用侵入性大,改造难度很高;分布式中间件则类似MyCAT等产品,在数据库和应用间架一层Proxy,这种方案无法支持分布式事务、也无法支持跨库关联,分布式数据库方案则将分库分表等中间件实现的功能下推到数据库层面来做,对应用透明,应用就像使用单机数据库来使用分布式数据库,同时天然地支持分布式事务。

常用的分布式数据库场景选型

针对以上概述,列举ElasticSearch、Redis、MySQL分布式集群、MongoDB四个分布式数据库进行举例:

ElasticSearch

(1)分布式的搜索引擎和数据分析引擎,全文检索,结构化检索,数据分析;

(2)对海量数据进行近实时的处理,站内搜索(电商,招聘,门户,等等),系统搜索,数据分析

Redis

(1)常规计数:粉丝数,微博数

(2)用户信息变更

(3)缓存处理,作为主数据库的缓存

(4)队列系统,建有优先级的队列系统

MySQL分布式集群

(1)多库冗余;

(2)水平切分表;

(3)自定义分库分表方案;

(4)分布式管理器

MongoDB

(1)网站数据:mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性;

(2)缓存:由于性能很高,mongo也适合作为信息基础设施的缓存层。在系统重启之后,由mongo搭建的持久化缓存可以避免下层的数据源过载;

(3)大尺寸、低价值的数据:使用传统的关系数据库存储一些数据时可能会比较贵,在此之前,很多程序员往往会选择传统的文件进行存储;

(4)高伸缩性的场景:mongo非常适合由数十或者数百台服务器组成的数据库;

(5)用于对象及JSON数据的存储:mongo的BSON数据格式非常适合文档格式化的存储及查询。

关于大数据培训,常见的分布式数据库场景选型,以上就为大家做了基本的介绍了。分布式数据库,这里只例举了常见的几款,对于主流的产品,大家都可以相应地理解和掌握。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频可联系客服获取!
热点排行
推荐文章
立即申请>>