![]() |
1
14
如果一个关系数据库感觉受到限制(您发现模式太死板,无法将数据库引擎工作分散到大量服务器等),那么CouchDB值得考虑(它是当今出现的许多非关系数据库中最有趣的一个)。 但是如果你所有的工作都很适合关系型数据库,那么你可能想继续将其用于生产工作(尽管与一些非关系型数据库“玩耍”仍然值得你花时间,只是为了个人成长和熏陶,这与从关系型数据库转移大型生产系统完全不同。数据库!-)。 |
![]() |
2
13
|
![]() |
3
1
CouchDB为数据存储提供了与传统关系数据库不同的模型,因为它不将数据表示为表中的行,而是以JSON格式将数据存储为“文档”。 数据存储模型中的这种差异是数据库与MySQL和SQL Server等产品的不同之处。 在对couchdb的编程访问方面,它公开了一个RESTAPI,您可以通过从代码发送HTTP请求来访问它。 我希望这对我有所帮助,尽管我承认这可能不是我对产品最基本的了解。 |
![]() |
4
1
我远不是一个专家(我所做的只是玩弄它一些…),但下面是我使用它的想法: 通常,当我设计一个应用程序时,我在负载均衡器后面有很多应用服务器。通常情况下,我会有一些粘性的会话,以便每个用户在会话期间返回到同一个应用服务器。我想做的是在每个应用服务器上绑定一个CouchDB实例。 这样,您就可以使用本地CouchDB访问用户首选项、产品数据……无论您拥有什么数据,这些数据都不必完全是最新的。 所以……现在你有了关于这些地方政府的数据。CouchDB允许复制。所以,在每个固定的时间段内,将数据合并回去(每隔x秒?)让他们跟上时代。 总的来说,您不必担心冲突b/c每个AppServer都有自己的couchdb,并且用户都连接到AppServer,并且您最终获得了一致性,因为您有了复制。 那能回答你的问题吗? |
![]() |
5
1
一个很好的例子是,当你说必须在一个网站或应用程序中处理人们的数据时。如果您开始希望设计数据并将个人信息分开,那么CouchDB就是一个很好的例子,它将数据存储在文档而不是关系表中。在生产部署中,我的用户可能最终会添加10%左右的临时数据,以及其他一些有趣的细节,以供选择的5%。在关系上下文中,这可能会增加冗余负载,但对于couchdb则不是。 这不仅仅是因为couchdb是非关系型的:如果你过于关注它,你就错过了要点。couchdb已经接入网络,您只需要从创建和生成查询的HTTP(get/put/post/delete…)开始,它是一个很安静的平台,而且它是可移植的,非常适合对等共享。它还可以为Web应用程序提供所谓的“couchapps”服务,couchdb完全将图像、CSS和标记作为存储在称为设计文档的特殊文档下的数据来保存。 |