写点什么

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

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

关注

评论

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

2.1如何设计可扩展架构

程序员小张

「架构实战营」

喜报 | 秒云获评2022(第二届)“金信通”金融科技创新应用优秀案例

MIAOYUN

金融科技 解决方案 信创

自定义函数实现IoT数据编解码、格式处理与业务告警

EMQ映云科技

物联网 IoT 自定义函数 12 月 PK 榜 增值服务

Databend 索引结构说明

Databend

校招Java岗学到什么程度,才能找到所谓的好工作呢?

Java永远的神

Java 程序员 面试 程序人生 秋招

用户面对面 | 对话某新能源汽车行业工程师:如何落地Atlassian工具?

龙智—DevSecOps解决方案

代码质量与安全 | 如何应对网络安全威胁,保障软件安全?

龙智—DevSecOps解决方案

软件安全 安全软件开发生命周期 网络安全威胁

最全数据分类分级标准汇编,有必要了解一下!

极盾科技

版本控制 | 如何将UnrealGameSync与Perforce Helix Core结合使用

龙智—DevSecOps解决方案

虚拟引擎 UnrealGameSync

基于人眼视觉模型,实现码率、质量、成本的最优均衡

阿里云CloudImagine

云计算 阿里云

对于Getaverse,灵魂绑定和去中心化身份是什么?

Geek_Web3

Web3 Daily 去中心化信任 #区块链# did

十亿国民新宠:皮皮App线上派对新社交

联营汇聚

时间复杂度和空间复杂度

C++后台开发

数据结构 算法 网络编程 linux开发 C++开发

【附视频】在线研讨会回顾|龙智引入自动化测试工具,帮助企业优化DevSecOps工具链,提升QA效率

龙智—DevSecOps解决方案

自动化测试

架构实战营 2-4 架构质量提升随堂练习

西山薄凉

「架构实战营」

中台+低代码 企业数字化转型新范式

力软低代码开发平台

7天搞定一门新技术!5个含金量很高的短篇课程推荐

博文视点Broadview

软件测试丨Git分支管理实操,搞定在线合并和本地合并

测试人

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

空间音频技术与生态发展高峰论坛成功举办,业界首个Audio Vivid创作工具花瓣三维声亮相

HarmonyOS SDK

HMS Core

数据库运维 | 携程分布式图数据库NebulaGraph运维治理实践

NebulaGraph

图数据库 数据库运维

Github限时开源!Alibaba最新版亿级高并发系统架构(全彩小册)

架构师之道

Java 编程 程序员 计算机

通过 NFTScan 实时监控钱包地址和 NFT 合约地址

NFT Research

区块链 数据分析 NFT

数字化转型的十大优势

优秀

数字化转型 数字化升级

Elasticsearch Head插件使用小结

京东科技开发者

elasticsearch 索引 chorme 数据库· 数据查询

Karmada多云多集群生产实践专场圆满落幕|CNDC南京站

科技热闻

《2022年数据库大调查》正式启动,共同助力国产数据库发展

墨天轮

数据库 oracle TiDB 问卷调查 国产数据库

华为侯金龙:能源流与信息流融合,共建绿色低碳城市

Geek_2d6073

4000道Java面试真题合集,助你搞定面试官

钟奕礼

Java 程序员 java编程

GitHub上标星65k+超火的《Java大厂面试》,分享整理的PDF版本

钟奕礼

Java 程序员 java面试 java编程

iQOO11 国内安卓首发背景音过滤,人声更突显,通话更隐私

Geek_2d6073

模型精度再被提升,统一跨任务小样本学习算法 UPT 给出解法!

阿里云大数据AI技术

人工智能 自然语言处理 机器学习 模型 12 月 PK 榜

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