写点什么

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

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

关注

评论

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

三十未立

阿萌

人生修炼

ClickHouse的实践之路

DataFunTalk

数据库

AWS x 德勤 | “三步走”策略,赋能企业打造洞察驱动型组织

亚马逊云科技 (Amazon Web Services)

云计算 AWS

HTML03 - 表格

Mr.Cactus

html

冰河开始对Dubbo下手了!

冰河

微服务 dubbo 源码解析 服务治理 RPC调用

十三周作业

solike

Socket粘包问题的3种解决方案,最后一种最完美!

王磊

Java socket websocket

数据中心大二层网络技术大揭秘

华为云开发者联盟

服务器 数据中心 虚拟化 大二层网络 VLAN

园区能耗监测平台搭建,能源管控系统管理

t13823115967

能源管控

Rancher年终盘点丨历尽千帆,岁月可期

Rancher

rancher

Angel图神经网络算法在推荐场景下的实践

DataFunTalk

大数据

规避单点故障,MySQL 8.0 MGR软负载怎么选?

dbaplus社群

数据库

为什么计算机经典大头书老是看不进去?

yes

学习 技术书籍 阅读

Vue 3 组件开发:搭建基于 Vite 的在线表格编辑系统(组件集成)

葡萄城技术团队

vue.js Vue SpreadJS vite

12周作业

走走,停停……

13周作业

走走,停停……

SRE灵魂之SLI和SLO

勇往直前的胖子

SRE SLO

NSE交易所系统软件开发|NSE交易所APP开发

系统开发

Go语言分布式系统配置管理实践--go archaius

华为云开发者联盟

分布式 Go 语言

资深首席架构师预测:2021年云计算的8个首要趋势

Rancher

容器 rancher

甲方日常 80

句子

工作 随笔杂谈

IPFS挖矿APP系统开发|IPFS挖矿软件开发

系统开发

HTML04 - 表单

Mr.Cactus

html

智慧警务大数据平台开发,数据可视化分析平台搭建

t13823115967

大数据

浅谈机器学习模型推理性能优化

张凯峰

人工智能 机器学习

HTML01 - 标签

Mr.Cactus

html

第五周 技术选型(一) 学习总结

胡云飞

让你的react代码跑在svelte引擎上

闲鱼技术

HTML02 - 列表

Mr.Cactus

html

揭开KPI异常检测顶级AI模型面纱

华为云开发者联盟

华为 AI 数据 决策树

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