写点什么

无模式数据库 MongoDB 1.0 版发布

  • 2009-09-03
  • 本文字数:990 字

    阅读完需:约 3 分钟

Mongo 是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键 / 值存储方式。Mongo 使用 C++ 开发,提供了以下功能:

  • 面向集合的存储:适合存储对象及 JSON 形式的数据。
  • 动态查询:Mongo 支持丰富的查询表达式。查询指令使用 JSON 形式的标记,可轻易查询文档中内嵌的对象及数组。
  • 完整的索引支持:包括文档内嵌对象及数组。Mongo 的查询优化器会分析查询表达式,并生成一个高效的查询计划。
  • 查询监视:Mongo 包含一个监视工具用于分析数据库操作的性能。
  • 复制及自动故障转移:Mongo 数据库支持服务器之间的数据复制,支持主 - 从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。
  • 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。
  • 自动分片以支持云级别的伸缩性(处于早期 alpha 阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。

MongoDB 的主要目标是在键 / 值存储方式(提供了高性能和高度伸缩性)以及传统的 RDBMS 系统(丰富的功能)架起一座桥梁,集两者的优势于一身。根据官方网站的描述,Mongo 适合用于以下场景:

  • 网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
  • 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层。在系统重启之后,由 Mongo 搭建的持久化缓存层可以避免下层的数据源过载。
  • 大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
  • 高伸缩性的场景:Mongo 非常适合由数十或数百台服务器组成的数据库。Mongo 的路线图中已经包含对 MapReduce 引擎的内置支持。
  • 用于对象及 JSON 数据的存储:Mongo 的 BSON 数据格式非常适合文档化格式的存储及查询。

自然,MongoDB 的使用也会有一些限制,例如它不适合:

  • 高度事务性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。
  • 传统的商业智能应用:针对特定问题的 BI 数据库会对产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。
  • 需要 SQL 的问题

MongoDB 支持 OS X、Linux 及 Windows 等操作系统,并提供了 Python,PHP,Ruby,Java 及 C++ 语言的驱动程序,社区中也提供了对 Erlang 及.NET 等平台的驱动程序。

如果您对 MongoDB 感兴趣,可访问其官方网站了解更多信息。

2009-09-03 06:289739
用户头像

发布了 157 篇内容, 共 60.1 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

即时通讯技术文集(第10期):IM通信协议该选TCP还是UDP [共12篇]

JackJiang

独家Java架构师题,面试再不过找我来要赔偿,谢谢

Java你猿哥

架构 面试 ssm 面经 java实战

机器学习算法(二): 基于鸢尾花数据集的朴素贝叶斯(Naive Bayes)预测分类

汀丶人工智能

数据挖掘 机器学习

熬了一个月肝完这份阿里P8的Java面试手册,我从20K变成了30K

Java你猿哥

Java 面经 校招 春招 八股文

使用 Metabase 连接 Databend Cloud 实现大屏展示

Databend

视频编辑场景下的文字模版技术方案

百度Geek说

企业号 3 月 PK 榜 视频编辑 端渲染 富文本素材

这一次,NineData新功能上线,真的是拼了

NineData

人工智能 sql 开发规范 数据复制服务 企业开发系统

人工智能打造充满创造力的新世界,华为云开发者日无锡站成功举办

华为云开发者联盟

人工智能 华为云 元宇宙 华为云开发者联盟 企业号 3 月 PK 榜

源码中常见的 where 1=1 是一种高级优化技巧?

Java你猿哥

Java 源码 ssm

JDK20正式发布了GA版本,短期维护支持,以及JDK21预览

小小怪下士

Java 程序员 jdk 后端

C#/VB.NET:如何将PDF转为PDF/A

在下毛毛雨

C# .net PDF 文档转换 PDF/A

详解MyBatis加载映射文件和动态代理

Java mybatis

喜讯:祝贺行云绽放荣获深圳市专精特新企业称号

行云管家

云计算 深圳 专精特新

模块9作业

梁山伯

卷起来了!阿里最新出品“微服务全阶笔记”,涵盖微服务全部操作

程序员小毕

Java 程序员 微服务 SpringCloud springcloudAlibaba

狂刷《Java权威面试指南(阿里版)》,冲击“金三银四”有望了

Java java面试 Java八股文 Java面试题 Java面试八股文

五分钟带你学会微服务熔断原理分析与源码解读

Java你猿哥

微服务 ssm 微服务实战 微服务熔断

医疗卫生机构等保测评法律依据有哪些?多久要测评一次?

行云管家

医疗 等保

太全了!马士兵内部共享—1658页《Java面试突击核心讲》

Java java面试 Java八股文 Java面试题 Java面试八股文

RabbitMQ 延迟消息实战

Java 消息队列 消息中间件 Rabbit MQ

我有一篇Java Stream使用手册,学了就是你的了!

知乎三天点击破亿!四天精通springcloud微服务架构

Java你猿哥

微服务 微服务架构 Spring Cloud 从分层架构到微服务架构

JVM级别的本地缓存框架Guava Cache:探寻实现细节与核心机制

Java你猿哥

Java JVM ssm Guava Cache

大顶堆的实现(基于数组存储的完全二叉树)

Java你猿哥

Java 二叉树 ssm 实战

软件工程中建模的底层逻辑

阿里技术

软件工程 建模

阿里是如何使用分布式架构的?阿里内部学习手册分享

Java你猿哥

分布式 ssm 分布式架构 分布式实战

人工智能打造充满创造力的新世界,华为云开发者日无锡站成功举办

极客天地

软件测试/测试开发丨app自动化测试之Appium WebView 技术原理

测试人

软件测试 自动化测试 测试开发 appium

流批一体在 AI 核心电商领域的探索与实践

Apache Flink

大数据 flink 实时计算

Github点击破百万!这部《从零开始学架构》神书就此霸榜

Java你猿哥

Java 架构 ssm 面经 架构实战

精品!阿里P7爆款《K8s+Jenkins》技术笔记,高质量干货必收藏

Java Kubernetes k8s jenkins

无模式数据库MongoDB 1.0版发布_架构_赵劼_InfoQ精选文章