我正在研究使用CouchDB的可能性。我听说它和大家都讨厌的Lotus Notes很相似。这是真的吗?
发布于 2008-11-21 11:39:16
Lotus Notes的开发始于20多年前的version 1 released in 1989。它是由微软现任首席软件架构师Ray Ozzie开发的。
Lotus Notes (客户机)和Domino (服务器)已经存在很长时间了,它们都是成熟的、功能强大的产品。它有:
访问的用户。
数据库。
向后兼容性一直是Notes Domino的一个强大特性,为Version3开发的数据库在最新版本中完美运行的情况并不少见。IBM在这方面投入了大量的精力,这对该产品目前的运行方式有很大的影响。
-
CouchDB是由Damien Katz创建的,于2004年开始开发。他之前在IBM的Notes Domino上工作过,开发过模板,并最终完全重写了ND6的一个核心特性,即公式引擎。
CouchDB与Notes Domino拥有的视图共享面向文档的数据库的基本概念。
在这个模型中,“文档”只是任意的值集合,它们是以某种方式存储的。在CouchDB中,文档是任意复杂的JSON对象。在Notes中,值是简单的名称值对,其中的值可以是字符串、数字、日期或这些值的数组。
视图是数据库中文档的索引,显示特定的值,计算其他值,并排除不需要的文档。一旦建立了索引,当数据库中的任何文档发生更改(创建、更新或删除)时,它们都会以增量方式更新。
在CouchDB中,视图是通过在数据库中的每个文档上运行映射函数来构建的。对于要为给定文档创建的每个索引项,映射函数调用一个带有JSON对象的emit方法。这个JSON对象可以是任意复杂的。然后,CouchDB可以在视图的映射索引上运行第二个缩减函数。
在Notes中,Domino视图是通过对数据库中的每个文档运行select函数(用Notes Domino公式语言编写)来构建的。select函数只是定义文档是否应该在视图中。Notes Domino视图设计还为视图定义了许多列。每列都有一个公式,该公式针对选定的文档运行,以确定该列的值。
与Notes Domino相比,CouchDB能够生成更复杂的视图索引。
CouchDB也有一个复制系统。
-
总结( TL;DR ):CouchDB是一个全新的软件,它正在开发一个与Lotus Notes Domino中使用的核心具有类似概念但复杂得多的设计的核心。Lotus Notes Domino是一个功能齐全的成熟产品,现在就可以部署了。CouchDB从头开始,为未来的功能开发奠定了坚实的基础。Lotus Notes Domino正在继续开发新特性,但它是在一个有20年历史的平台上开发的,该平台致力于保持向后兼容性。Notes Domino中有一些您可能希望在CouchDB中具有的特性,但是Notes Domino中也有一些在当今世界中已经过时的特性。
发布于 2008-10-06 08:57:57
人们通常讨厌的是Notes应用程序和UI。而不是背后的架构。
发布于 2008-11-06 21:55:17
Damien Katz在Iris (Lotus)工作,但他不是Notes数据库的幕后黑手。他在Lotus Notes社区中因重新设计Notes Formula Engine而出名。
CouchDB和Lotus Notes之间肯定有一些相似之处,比如它们的面向文档、非关系数据和复制功能,但它们之间的差异大于相似之处。CouchDB是一个数据库服务器,Lotus Notes是一个企业级协作平台。
https://stackoverflow.com/questions/167716
复制相似问题