使用Spring-MongoDB连接全球分布数据库Cosmos DB

Posted StevenLian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Spring-MongoDB连接全球分布数据库Cosmos DB相关的知识,希望对你有一定的参考价值。

分布式系统一直都是非常复杂的,尤其是分布式数据库系统,你如何保证数据的一致性?你如何保证其性能和延迟?你如何实现全球分布而不需要客户做复杂的配置?在CAP的定理之下,如何设计并对分布式数据库系统做取舍?Azure Cosmos DB以最简单使用方式为客户提供了全球分布式数据库服务,支持自定义的一致性,保证延迟,而Spring是Java开发者最喜欢的开源框架之一,本文主要介绍如何使用Spring MongoDB来访问Azure Cosmos DB MongoDB模型:

  • 如何创建和配置Azure Cosmos DB的MongoDB数据库
  • 如何使用标准的Spring-MongoDB框架和Spring Boot访问Cosmos DB
  • 如何配置Azure Cosmos DB的全球分发模式
  • Spring应用和MongoDB工具如何访问Cosmos DB的分发数据库

Azure Cosmos DB简介

Azure的Cosmos DB是微软提供的一个全球分布的,大规模扩展的,多模型支持的数据库服务,目前流行的物联网服务,互联网应用,电子商务网站等应用都可以使用Cosmos DB来支持,Cosmos DB目前支持Table接口,Gremlin的graph计算,MongoDB接口,SQL接口等等:

Spring Boot和Spring MongoDB

而对于Java开发者来讲,Spring框架可能是最为流行的开源框架了,基于IOC和AOP思想的优雅的编程框架的无数子项目和开源框架,极大的简化了Java开发人员的开发流程和工作量,而目前Spring社区大力推广的Spring Boot更进一步的推动了Spring应用的快速构建开发模型:

 

创建和配置Azure Cosmos DB的MongoDB数据库

 

1. 登录世纪互联运营的中国Azure(https://portal.azure.cn),当然如果你有海外Azure的账号也是一样的,选择新建,数据库,选择Azure Cosmos DB创建"create":

2. 在ID部分输入你的Cosmos DB名称,就如之前介绍的,Cosmos DB是多模型数据库,所以在API部分请选择"MongoDB",然后输入资源组名称,选择位置,点击确定即可创建:

3. 在创建完成后,会自动跳转到数据库管理主页,在主页选择"添加集合",来新建数据库和集合:

请注意:

  • CosmosDB对于容量大小并没有限制,默认最高为10TB,但如果需要更高的存储,可以提交支持请求增加
  • 初始吞吐量是预先分配给集合的请求单元,默认最高为100000 RU/S, 但如果需要更高的存储,可以提交支持请求增加
  • 在创建和配置数据库的过程中,分区键是唯一的,非常重要的配置项,在后续的篇章我会专门讲,在此使用设备号作为partition key

     

 

4. 创建完后后,我们需要获取链接到CosmosDB的字符串,一个方式是在界面的左侧选择"连接字符串",你可以看到主机,用户名,端口,密码等等;另外一个方式是CosmosDB提供的更为便捷的方式,选择"快速入门",针对不同的语言,直接提供初始化方式和连接字符串:

 

 

下一部分介绍如何使用Spring开发,使用Spring-MongoDB访问Azure Cosmos DB.

以上是关于使用Spring-MongoDB连接全球分布数据库Cosmos DB的主要内容,如果未能解决你的问题,请参考以下文章

全球部署的分布式数据库 YugabyteDB,了解一下?

[原创.数据可视化系列之二]使用cesium三维地图展示美国全球军事基地分布

IPFS就是一个分布式文件系统

全球部署的分布式数据库 YugabyteDB,了解一下?

分布式存储技术:数据分布与数据复制

全球最高性能分布式存储系统幕后黑科技