全球旧事资料 分类
高可用的Mo
goDB集群
1序言
Mo
goDB是一个可扩展的高性能开源模式自由面向文档的数据库。它使用C编写。Mo
goDB包含一下特点
面向集合的存储适合存储对象及JSON形式的数据。l动态查询Mo
go支持丰富的查询方式查询指令使用JSON形式的标记可轻易
查询文档中内嵌的对象及数组。l完整的索引支持包括文档内嵌对象及数组。Mo
go的查询优化器会分析查询表
达式并生成一个高效的查询计划。l查询监视Mo
go包含一个监控工具用于分析数据库操作性能。l复制及自动故障转移Mo
go数据库支持服务器之间的数据复制支持主从模式
及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移。l高效的传统存储方式支持二进制数据及大型对象如照片或图片。l自动分片以支持云级别的伸缩性自动分片功能支持水平的数据库集群可动态添
加额外的机器。l
2背景
Mo
goDB的主要目标是在键值对存储方式提供了高性能和高度伸缩性以及传统的RDBMS关系性数据库系统集两者的优势于一身。Mo
go使用一下场景
网站数据Mo
go非常适合实时的插入更新与查询并具备网站实时数据存储所需的复制及高度伸缩性。l
缓存由于性能很高Mo
go也适合作为信息基础设施的缓存层。在系统重启之后由Mo
go搭建的持久化缓存可以避免下层的数据源过载。l
大尺寸低价值的数据使用传统的关系数据库存储一些数据时可能会比较贵在此之前很多程序员往往会选择传统的文件进行存储。l
高伸缩性的场景Mo
go非常适合由数十或数百台服务器组成的数据库l
用于对象及JSON数据的存储Mo
go的BSON数据格式非常适合文档格式化的存储及查询。l
f注这里需要说明下本文旨在介绍高可用的Mo
goDB集群这里不讨论Hadoop平台的HDFS。可根据公司实际业务需求选择合适的存储系统。
当然Mo
gDB也有不适合的场景高度事务性的系统例如银行或会计系统。传统的关系型数据库目前还是更适用于需
要大量原子性复制事物的应用程序。l传统的商业智能应用针对特定问题的BI数据库会对产生高度优化的查询方式。
对于此类应用数据仓库可能时更适合的选择如Hadoop套件中的Hive。l需要SQL的问题。l
3搭建
31环境准备
在Mo
go的官网下载Li
ux版本安装包然后解压到对应的目录下由于资源有限我们采用ReplicaSetsShardi
g方式来配置高可用。结构图如下所示
f这里我说明下这个图所表达的意思。
Shard服务器使用ReplicaSets确保每个数据节点都具有备份、自动容错转移、自动恢复的能力r
好听全球资料 返回顶部