云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

分布式存储_阿里云主机学生_三重好礼

小七 141 0

NoSQL:CouchDB与CloudBees和Cloudant

(警告:这个博客有点像教程,所以如果你觉得无聊的话,可以让你目不转睛-它将展示使用合作伙伴服务构建应用程序是多么容易,在本教程中,我将构建一个基于CouchDB的url shortener服务()CouchDB使用CloudBees和Cloudant.CouchDB的服务/附加平台是一个流行的NoSQLdatabase,特别是你可以称之为"文档数据库",也就是说,它是关于存储由一组字段组成的文档在JSOND文档中。没有模式—文档可以由任何JSONstructure组成—不需要在每个文档中显示相同的字段,而不是RDBMS中的行。当然,NoSQLdatabases还有很多其他的好处:高可伸缩性和使用Cloudant提供优秀的托管CouchDB服务。这处理了您通常需要做的CouchDB的所有管理工作—压缩、备份和更多。建筑URL shortener URL shortener就是一个长而乱的URL,生成一个令牌/更短的URL,您可以通过它绕来绕去。一步一步1: 得到一个cloudbees.com网站账户,注册免费运行@cloud服务。步骤2: 转到grandcentral.cloudbees.com/subscriptions-然后选择云朵。台阶3: 创建新的web应用骷髅。为了我要用这个剧本!框架-一个用于构建restfulweb应用的简单框架。我可以使用命令play new urlshort——与scalaThis一起使用scala创建一个空项目。部署到cloudbees-一个方便的方法是将cloudbees0.2.1添加到依赖文件中(不要担心,可以查看源repo)数据库。来自grandcentral.cloudbees.com/services-您可以导航到Cloudant/CouchDB控制台。当您需要返回CouchDB控制台时,您可以从中进行导航grandcentral。这个显示了"Futon"网络界面来浏览你的数据,这是一个非常方便的工具。在这里你可以创建一个新的数据库-我叫我的"urly"。一旦你有了一个数据库,你可以在左上角看到一个图标,它将带你进入Cloudant管理屏幕-点击到新创建的数据库,你将能够设置权限,并生成一个api关键:重要的位是记录api密钥的详细信息(您将在应用程序中使用的用户名和密码)。刚刚生成的用户还应该获得对数据库的读/写访问权限(用复选框设置)配置中这个案子,因为我在用这个剧本!框架-配置位于应用程序.conf. 我设置的键是:#CloudBees detailsbees.api.key=部署密钥bees.api.secret=部署的秘密bees.api.domain=迈克尔维多bees.api.name=urly#Cloudant细节couch.user=apikey用户couch.password=apikey密码我将CloudBees的详细信息放在那里以便于部署,但从技术上讲,您不必(您可以将它们传递给第6步:与CouchDBOne讨论CouchDB真正的好处是,您不需要任何驱动程序或依赖项来与它对话—https是它的"本机"api。所以所需要的只是一个简单的http/REST/WS客户端.url是如何处理内容的-您可以将文档存储在指定的键中,例如,通过将JSON主体https://michaelvideo.cloudbees.cloudant.com/urly/(urly是数据库的名称)。对数据的更新要求您将数据的当前版本标记(JSON主体中的字段)指定为乐观的形式锁定。获取数据返回是一个简单的获取!(很明显,如果你需要的话,你可以读到更多的东西)。在这种情况下-关键是随机产生的"弹头"形成短URL.步骤7: 接通应用程序。降序从山顶,一个简单的代码库可以生成随机的url"slug",然后执行适当的http重定向(这里也有)https://github.com/michaelneale/URL-shortener):CouchDB的身份验证使用的是基于SSL的httpbasic(使用前面提到的api密钥)!CloudBeesplugin-谢谢Ivan!)然后我设置了一个域和一个指向应用程序主机的记录,运行在无需迁移任何数据,也无需设置模式(只需按名称创建数据库-我也可以通过编程方式完成),数据安全地存储在CouchDB中(下面用Futon浏览):Map Reduce和viewsA further增强功能是创建视图。CouchDB使用Map-Reduce模型来提供视图和聚合计算,视图与关系数据库提供的类似,只需要提供一个Map函数。缩减是一个更复杂的主题,我不想展示它,但它可以用来计算聚合(在某些文档范围内求和或求平均值)。Map-Reduce模型的优点是计算可以分布,并且可以与数据并行运行-非常适合于非常大的数据集数据上面的Map函数只需获取一个文档并发出另一个由slug和代理字符串组成的文档(每个浏览器提供一个代理字符串)。本例中的关键是我们存储的url—这意味着我们可以(如果需要的话)基于url查找段塞(与我们之前所做的相反)。请注意,由于每个文档中的字段都是可选的-即使没有代理字段,上面的视图仍然可以工作(只是在视图输出中没有代理字段)。函数是用javascript编写的,它们本身作为文档存储(有一个特殊的命名约定)。访问这些视图的结果与您编写数据的普通文档相同希望如此从这里你可以领略到CouchDB的便利性和强大功能克劳蒙特,你可以在此处注册CloudBees(如果您没有帐户)和Cloudant服务:https://cloudbees.com/platform-服务-cloudant.cb--迈克尔·尼尔,精英开发商和建筑师