mongodb最新版本,mongodb 企业版
3月25日
MongoDB(来自“Humongous”)发布于1.4版本。
不久之后,其创始人德怀特梅里曼(DoubleClick前CEO/CTO)宣布了10gen。
MongoDB(一个开源文档数据库)背后的公司将为其提供业务培训和支持。
InfoQ借此机会采访了Merriman,了解了MongoDB的特点、适用性以及在NoSQL数据库社区中的地位,文中适当引用了他的一些回答。
回答。
MongoDB简介
MongoDB是一个可扩展的高性能下一代数据库。MongoDB中的数据存储为文档,因此复杂的关系可以在单个数据对象中表示。该文档可以是
它由以下部分组成:独立的基本类型属性,“嵌入文档”或文档数组。
这种灵活性允许开发人员以易于管理和灵活的方式对大量问题进行建模,而不必将数据分散到不同的数据表中。在数据不应被构建为单独文档的情况下
接下来,MongoDB有了“DBRef”的概念,DBRef是从一个文档的一个属性指向另一个文档的指针。
从MongoDB数据库获取和查询数据非常灵活。——您可以基于主文档、文档中的任何属性、任何嵌入文档以及数组中的任何文档来动态查询文档。能
使用“点”符号访问嵌入的文档。
用C开发的MongoDB有以下特点:
面向文档的存储模式(发挥JSON风格的数据模式的功能和灵活性)
对象、嵌入式阵列、地理空间信息
支持完整索引,包括辅助索引。
快速、就地更新
高效存储二进制大数据对象(如照片和视频)
支持复制和故障转移
云级别扩展的自动碎片化(alpha阶段)
用于复杂聚合的MapReduce
商业、培训和咨询
起源和目的
MongoDB的博客
以下是如何介绍他们的目标:
一直以来,MongoDB的目标都不是处理少数问题的专用数据库,而是能够为开发者解决大量实际问题的新型数据库。
MongoDB项目的重点是将非关系模型的优点与传统数据库的常见重要特性结合起来。前者包括高可扩展性、高性能、易开发,后者有重要的操作类型。
它在存储方面非常有用。
MongoDB不是在实验室中设计的,而是源于我们自己构建大规模高可用性系统的经验。
16个月前,即2009年2月11日,MongoDB发布了第一个正式版本。背后的哲学
告诉你,虽然出于可扩展性
而对性和性能的考虑削弱了事务语义。人们仍然需要一个更强大的工具来处理常见问题,而不仅仅是纯粹的键值存储。
与DDD的关系
文档化范式是持久化复杂对象结构的一种有趣方式。尤其是领域驱动的设计(DDD)
提议的聚合
概念,只有根。
体能与其他实体相连,依赖的实体和值只能通过根来访问。在DDD项目中,基于MongoDB的仓库
可以方便地用于提供持久的工作。
是的。另外,还有一个相关的观点。说到业务实体,文档总是在业务领域被提及。因此,使用文档作为内部表示可能比使用其他数据结构或对象更合适。
在非模态文档数据库中,数据建模仍然非常重要。在创建文档之前有许多关系。
需要仔细检查
否则会导致数据重复、性能不佳等问题。
示例和教程
例如,在关系数据库中,一个博客(包括文章内容、评论和评论的投票)会分散在多个数据表中。在MongoDB中,文档可以用来表示博客、评论
上和表决作为一个文件数组,放在主文件的文本中。这使得数据更容易管理,并消除了传统关系数据库中影响性能和水平可伸缩性的“连接”操作。
db.blogposts.save({ title:我的第一篇帖子,作者:{name : Jane ,id :1},
评论:[{ by: Abe ,text: First },
{ by : Ada ,text:好帖子 }]
})
db . blog posts . find({ author . name : Jane })
db.blogposts.findOne({ title:我的第一篇帖子, author.name: Jane ,
评论:[{ by: Abe ,text: First },
{ by : Ada ,text:好帖子 } ]
})
db . blog posts . find({ comments . by : Ada })
db . blog posts . ensure index({ comments . by :1 });
您可以直接在交互式MongoDB Web控制台外壳中
这个例子中也嵌入了在线教程。
首席技术官亚历克斯波佩斯库,InfoQ首席技术官
在myNoSQL中
放了很多新闻、评论和多个NoSQL数据存储(包括MongoDB
),可以参考他的制作环境笔记。
教我编码
发布了三个视频。
,介绍了MongoDB的很多特性。
Pivotallabs提供了10gen的Michael Dirolf的介绍性发言。
视频。凯尔也可以在Slideshare上找到。
Banker在MongoDB上做了一个比较完整的演示。
安装和集成
MongoDB数据库遵循枪AGPL 3.0版协议。
问题
,mongodb.org
提供的驱动程序符合Apache License v2.0。你可以从github得到它
得到它。
c源代码
意大利建立在操作系统之上
它。
也可以使用二进制包。
安装在Linux、MacOS X、Windows和Solaris上。
MongoDB .
MongodB本身就把MongoD当MongoD了
作为守护进程运行,它是核心数据库服务器,
然后通过各种驱动程序访问它。mongos提供了分段支持和数据库路由功能
提供服务。
几乎所有编程语言都支持MongoDB。它由多种语言驱动。
:C
、C
、C#。网
,冷融合
、二郎
、因素
、Java
、Javascript
、PHP
、Python
、红宝石
、Perl
诸如此类。
MongoDB还支持其他框架,比如gremlin。
数据库)的“蓝图”连接器库。Debasish Ghosh整合了它。
到可扩展的Actor框架Akka
作为一个持久模块。
操作和可扩展性
从操作的角度来看,MongoDB可以根据应用程序的需要以两种模式运行。第一种是“单身业主”(单身
主)模式下,只有一个主服务器来处理所有的写操作。读操作可以与之分离,读操作可以由任意数量的从服务器进行,有利于提高读的可扩展性(使用
场景:Sourceforge)。
对于那些写数据量大或者写频率太高单个主服务器无法处理的应用,可以使用MongoDB的自动切片模式(在alpha阶段)。用这种模式写。
操作会自动分配给任意数量的“片”(一般是一个或一组MongoDB服务器),负责读写这部分数据集。
无论使用哪种模式,MongoDB都将采用“强一致性”
“方法(你可以把MongoDB想象成一个CAP。
理论上的C-P系统)。
通过将数据复制到多个MongoDB节点来实现高可用性,每个节点都可以及时成为碎片化的主服务器。——MongoDB将自动处理故障转移。这将允许您
对于某些用例来说,在保持相当高的写入可用性的同时保持高度的一致性是非常重要的。
mongodb站点中有一个管理员中心。
提供以下操作信息:
管理员操作界面
护理中心
导入工具
监控和诊断
,Shell中的DBA操作
数据库分析
分成几部分
,复制
生产环境注释
安全性和身份验证
架构和组件
支持
,故障排除
,耐用性和维修
文档、支持和培训
MongoDB的文档位于mongodb.org的Wiki上。
遵守知识共享许可协议。
10gen设计MongoDB是为了解决应用开发社区的大量实际问题。我们可以使用MongoDB作为许多具有数据库后端的应用程序的数据存储。
存储部分,实际客户部署情况也证明了这一点。
今天,10gen支持在生产应用程序中使用MongoDB的客户。
,咨询和培训。在不久的将来,10gen将提供基于云的服务(如托管
MongoDB服务)和大规模MongoDB集群的高级管理工具。
的当前用法
MongoDB 1.3版本已经广泛应用于生产系统中,是一个众所周知的用例。
有:
盒装冰
一套合作式软件开发管理系统
贾斯汀. tv
开源代码库
商业内幕
迪斯克斯
当然,还有很多其他的用例。
未来发展规划
MongoDB团队在数据存储方面的视野非常广阔。他们认为目前的1.4版本包含了他们想要的一半功能,明年他们还会继续努力。
更好的复制能力:实时、复制集、更多数据持久性选项
可在生产环境中使用的切片
嵌入式文档中的更多功能
更新更多原子的运算符。
单台服务器耐用性
查看英文原文:
MongoDB成长:1.4版和第10代的商业支持
转自:http://www.infoq.com/cn/news/2010/04/mongodb