- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Microsoft 推出的各种新事物(一)
h t tp :/ /w w w .s he n b o3 7 77 .c om
h t tp :/ /w w w .s he n b o3 7 77 .c om
申博 hh tt tptp :/:/ /w/wwwww.s.s hehe nn bb o3o3 77 7777 .c.c omom
Microsoft
Microsoft
MMiiccrroossoofftt 推出的各种新事物(一)
自从 2000 年宣布 Microsoft.NETFramework 并在 2002 年首次发行以来的过去近十
年中,.NET 开发人员一直努力适应 Microsoft 推出的各种新事物。但这似乎还不够,“社
区”(包含所有开发人员,无论他们是否每天都使用 .NET)也开始行动,创造出更多的新事物
来填补 Microsoft 未覆盖到的空白,对您而言这可能是制造混乱和干扰。
在 Microsoft 的支持 范围之外,该社区所酝酿出的“新”事物之一就是 NoSQL 运动,
一组开发人员公开质疑将所有数据存储于某种形式的关系数据库系统的这种观念。表、行、
列、主键、外键约束、关于 null 的争论以及有关主键是否应该为自然键或非自然键的辩
论……还有什么是神圣不可侵犯的?
在本文及其后续文章中,我将探讨 NoSQL 运动所倡导的主要工具之一:MongoDB,
根据 MongoDB 网站的陈述,该工具的名称源自于“humongous”(并不是我杜撰的)。我基本
上会讨论到与 MongoDB 相关的方方面面:安装、浏览以及在 .NET Framework 中使用
MongoDB。其中包括其提供的 LINQ 支持;在其他环境(桌面应用程序和 Web 应用程序及
服务)中使用 MongoDB;以及如何设置 MongoDB,以免 Windows 生产管理员向您提出严重
抗议。
问题(或者,为何我要再次关注?)
在深入了解 MongoDB 之前,读者自然要问为什么 .NETFramework 开发人员应该牺
牲接下来宝贵的大约半小时时间继续待在电脑前阅读本文。毕竟,SQLServer 有免费、可
再发行的 ExpressEdition,提供比企业或数据中心绑定的传统关系数据库更精简的数据存储
方案,而且毫无疑问,还可以使用大量工具和库来轻松访问 SQLServer 数据库,其中包括
Microsoft 自己的 LINQ 和实体框架。
但问题在于,关系模型(指关系模型本身)的优点也是其最大的缺点。大多数开发人员(无
论是 .NET、Java 还是其他开发人员都在此列)在经历短短几年的开发工作之后,就会一一
痛诉这种表/行/列的“方正”模型如何不能令其满意。尝试对分层数据进行建模的举动甚至能
让最有经验的开发人员完全精神崩溃,类似情况不甚枚举,因此 JoeCelko 还写过一本书
h t tp :/ /w w w .s he n b o3 7 77 .c om
h t tp :/ /w w w .s he n b o3 7 77 .c om
申博 hh tt tptp :/:/ /w/wwwww.s.s hehe nn bb o3o3 77 7777 .c.c omom
《SQLforSmarties,Third Edition》(Morgan-Kaufmann,2005),其中完全是关于在关系模型
中对分层数据建模的概念。如果在此基础之上再增加一个基本前提:关系数据库认为数据的
结构(数据库架构)不灵活,则尝试支持数据的临时“添加”功能将变得十分困难。(快速回答下
面的问题:你们之中有多少人处理过包含一个 Notes 列(乃至 Note1、Note2、Note3……)
的数据库?)
NoSQL 运动中没有任何人会说关系模型没有优点,也没有人会说关系数据库将会消
失,但过去二十年开发人员生涯的一个最基本的事实是,开发人员经常将数据存储到本质上
并非关系模型(有时甚至与这种模型相去甚远)的关系数据库中。
面向文档的数据库便是用于存储“文档”(这是一些紧密结合的数据集合,通常并未关联
到系统中的其他数据元素),而非“关系”。例如,博客系统中的博客条目彼此毫无关联,即
使出现某一篇博客确实引用到另一篇博客的情况,最常用的关联方法也是通过超链接(旨在
由用户浏览器解除引
文档评论(0)