Project management 向管理层推广网络数据库
我对CouchDB 0.10运行了一系列有点残酷的测试,它处理得很好(例如,服务器的netstack崩溃了,但我能告诉你CouchDB仍在运行)。不幸的是,如果我不能说服客户和雇主允许我使用它,这些都不重要 我听说过的普遍恐惧Project management 向管理层推广网络数据库,project-management,couchdb,Project Management,Couchdb,我对CouchDB 0.10运行了一系列有点残酷的测试,它处理得很好(例如,服务器的netstack崩溃了,但我能告诉你CouchDB仍在运行)。不幸的是,如果我不能说服客户和雇主允许我使用它,这些都不重要 我听说过的普遍恐惧 “这是唯一的.10版本,甚至不是生产版本!!!” “但是[MySQL | PostGres | Oracle]对于[object metadata storage | literal“document”storage |等]来说效果很好!” 与XYZ相比,这似乎过于复杂(
**先发制人地认为这与编程有关,因为如果管理层不能/不会看到跳出已知范围的好处,那么工具的性能会有多好并不重要。为什么不换一个功能大致相同但测试更像的数据库呢 额外好处:它不在erlang中,所以当只使用1个核心机器时,它已经很快了。
(显然,erlang在16或32核之后开始发光)虽然肯定很难回答,但我会问自己,如果必须做出决定,我需要听到什么。哪些因素重要(可靠性、性能、成本),哪些因素不重要 我想每个做我们工作的人迟早都会遇到这样的人。。坐在程序员的后座,更好地了解一切,等等,但决不能让微观管理和“假定的知识”改变基于硬事实(比如你的测试)的决定 G'day 你有没有从CouchDB社区的网站上回答过这个问题 虽然我对二郎很感兴趣,所以我是一个潜伏者,但他们似乎相当活跃 编辑:Ooh。我刚刚浏览了一下O'Reilly CouchDB新书的粗略剪辑,有一个很好的章节,叫做“”,里面有一些很好的信息。也许值得一读 注意,正如O'Reilly在他们的网站上所说,“这本书正在进行中。”因此,如果有拼写错误或语法错误,不要感到惊讶。(-):
HTH我认为客户有一系列有效的问题和恐惧。仅仅对数据库运行一组测试并不能保证 a) 随着时间的推移,代码中不会出现错误。您是否确保每段代码中的每个函数都经过测试?您是否运行了所有可能的查询?即使是微软和IBM,拥有自己的源代码,庞大的测试团队,他们的软件仍然有缺陷。是什么让你认为你可以保证代码中没有bug b) 被更多用户使用的软件有更好的机会产生更少的bug。这就是beta测试背后的想法。但是,拥有庞大的用户群更好。因此,他们关于使用PostGres/etc的问题是正确的 c) 他们说的是接吻——这也是一个合理的问题。你应该能回答 d) erlang到底是什么?再说一次,你应该能够回答它
软件就像正义——仅仅可靠是不够的,还必须让人觉得可靠。那是你工作的一部分。用户正在尝试管理他的风险。如果你不能回答这些问题,那么他为什么要信任你的软件呢?几年前,我在说服客户使用python+postgreSQL进行web而不是asp、php或其他任何东西时遇到了同样的问题 对我来说,除了解释技术优势外,还有一些成功案例 在CouchDB案例中,您可以引用:
- 英国广播公司:
- 米波
- Ubuntu:
- Mozilla
对我来说,最引人注目的事情仍然是将数据输入CouchDB是多么容易。这不会阻碍我们的任何努力,当我们提出模式和调整ORM时,我们只需立即插入数据并根据需要添加索引,这是一个更高效的循环。我最喜欢的CouchDB背后的KISS原理说明之一,它与“所有代码路径都经过测试了吗?”CouchDB大约有15k行代码,而ActiveRecord、Rails的ORM大约有25k行代码(上次我检查时),只是为了让RDBMS与OO语言对话。虽然这显然是在比较苹果和平房,但它应该表明CouchDB本身相对简单,代码大小可以管理。(所有这些都很重要,因为每行代码的bug数量是恒定的) CouchDB的另一个优点是它是一个Apache项目。它确保了一个稳定的社区(不一定是软件:)和长寿,在为一个将使用多年的项目投入资金之前,了解这一点很重要 @雷尼尔:是什么让你认为MongoDB测试得更好?而且,Erlang在单核上非常棒,而且它在2、4或更多核上都不会变跛。这并不是说您只在使用单个cpu时获得好处。Erlang的设计