写点什么

无模式数据库 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:289835
用户头像

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

关注

评论

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

灞桥论“健” 共话康养 灞桥康养论坛取得圆满成功

联营汇聚

活动报名 | Modern Data Stack Meetup 北京首站启动!与三大开源社区共同探索现代数据栈的最佳实践

tapdata

数据采集 数据集成 Tapdata 现代数据栈 云数仓

喜讯!云起无垠获评软件供应链安全技能竞赛“团队优秀奖”

云起无垠

DAPP区块链公链代币智能合约质押挖矿系统开发

l8l259l3365

OpenHarmony创新赛 | 您有一份创新激励奖待领取 请查收!

OpenHarmony开发者

OpenHarmony

浅入深出的微前端MicroApp | 京东云技术团队

京东科技开发者

前端 React 微前端 企业号9月PK榜

openEuler 亮相全球顶级开源盛会 OSSUMMIT 2023,持续推动智能化未来的实现

openEuler

Linux 开源 openEuler 资讯

开源框架中的责任链模式实践

vivo互联网技术

dubbo 设计模式 sentinel 责任链

华为云CodeArts Check代码检查服务用户声音反馈集锦(6)

软件开发 华为云 代码检查

供应链和物流的跨链代币开发 数字货币开发

区块链软件开发推广运营

数字藏品开发 dapp开发 区块链开发 链游开发 NFT开发

搜索技术领域的“奥林匹克”,飞桨支持“第二届百度搜索创新大赛”正式启动!

飞桨PaddlePaddle

百度 飞桨 AI Studio

Mobpush上线跨时区推送功能,助力中国开发者应用出海

MobTech袤博科技

智能推送 跨时区 app运营 应用出海

HarmonyOS创作激励计划启动:助力技术创作突破边界

HarmonyOS开发者

HarmonyOS

亮相华为全联接大会,用友荣获“华为云技术领航最佳实践伙伴”奖项

用友BIP

华为云

一文给你讲清楚BeanFactory 和 FactoryBean 的关联与区别

华为云开发者联盟

spring 开发 华为云 华为云开发者联盟 企业号9月PK榜

大连英歌石科技公司与华为云签署盘古大模型大连实验室框架合作协议

新消费日报

新生产力范式,重塑工作效率

百度开发者中心

人工智能 ChatGPT 生成式AI

数智赋能,提质增效 | 用友流程制造行业解决方案全新发布!

用友BIP

流程制造

三步实现BERT模型迁移部署到昇腾

华为云开发者联盟

人工智能 华为云 昇腾 华为云开发者联盟 企业号9月PK榜

乙烯裂解工艺可视化2D组态系统

2D3D前端可视化开发

物联网 组态软件 工业组态 乙烯裂解工艺 乙烯裂解组态图

openEuler与Linaro携手参加OSSUMMIT 2023

openEuler

Linux 开源 openEuler 资讯

小项目想当大Boss? 你该读读《孙子兵法》 | 京东云技术团队

京东科技开发者

项目管理 项目经理 企业号9月PK榜

企业诊断屋:二手车交易平台APP如何用AB测试赋能业务

字节跳动数据平台

大数据 ab测试 对比实验 数字化增长 企业号9月PK榜

站群服务器提升多网站管理效率的不二之选

一只扑棱蛾子

站群服务器

中移链交易模块介绍

BSN研习社

CocoaPods 在iOS开发中养活了这么多项目,它到底是个啥? | 京东云技术团队

京东科技开发者

ios CocoaPods 移动开发 企业号9月PK榜

文心一言 VS 讯飞星火 VS chatgpt (97)-- 算法导论9.3 3题

福大大架构师每日一题

福大大架构师每日一题

上升到人生法则的贝叶斯理论

小魏写代码

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