首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于转弯的iOS多机CouchDB和IrisCouch实现

基于转弯的iOS多机CouchDB和IrisCouch实现
EN

Stack Overflow用户
提问于 2012-04-29 17:25:05
回答 2查看 1.1K关注 0票数 4

我和我的初创应用公司正在开发一个基于转弯的多人iPhone应用程序。让我们说,我们都没有任何数据库或服务器,任何知识。不过,我们愿意学习。

游戏流程将类似于这样的游戏: WordFeud,WordsWithFriends,Rumble等。

让我先从网上大量的搜索让我们开始:

我们决定使用CouchDB作为存储用户、游戏会话和其他信息的工具。CouchDB是一个开源的noSQL数据库系统。原因是,我们已经被教导,它应该支持大量的同意用户。此外,它的规模-我们希望去大,当然。

我们的CouchDB是托管在IrisCouch上的。IrisCouch是为运行CouchDb而设计的“云中”托管服务。

因此,我们已经启动并运行了一个CouchDB服务器,并且我们知道如何从服务器查询数据的基本知识。

我们现在最大的困惑是,我们应该如何根据最佳实践来建立这个系统。现在,我们处于能够接收数据并向服务器提交数据的阶段。

我们的游戏应该有Facebook的整合,这样用户就可以通过我们的应用程序或者通过Facebook注册。之后,他们可以与随机匹配的对手,或与朋友玩。比赛开始后,一名玩家将得到一组问题,在他回答完后,应通过推送通知通知另一名玩家该轮到他们了。经过几轮比赛,比赛结束了。

此时,我们认为这可能是应用程序流的最佳解决方案:

  1. 用户连接到另一个用户->,游戏会话作为一个名为“游戏”的数据库中的文档打开。
  2. 新创建的文档包含玩家姓名、问题、答案等。
  3. 一个名为"whos_turn“的字段决定了这两位玩家中的哪一位。
  4. 游戏结束后,会话被删除。

再一次,正如你可能看到的,我们在如何真正做到这一点上处于黑暗之中,但这是一个普遍的想法。

因此,我的问题如下:

是直接从iPhone应用程序查询数据还是通过web服务查询数据?

什么是建立数据库、最好地管理应用程序流的最好方法?

任何可能使我们更亲近的信息,我们都将欣然接受:)

提前,谢谢!

奥拉夫·冈德森

EDIT#1 :我们的目标-C程序员设法用CouchDb连接了两个iPhone设备。iPhone应用程序由一个表视图组成,该视图与数据库具有并发连接,因此当有人发布到数据库时,它将显示在所有其他连接电话的表视图上。看:一个严重无效的聊天系统.

EN

回答 2

Stack Overflow用户

发布于 2012-04-30 04:31:23

如果是一个多人游戏,你需要有应用程序来与远程iriscouch.db通信,但我担心的是,你说你和你的朋友都没有任何数据库经验。你愿意学习,所以我认为最好的起点是:

http://guide.couchdb.org/editions/1/en/index.html

如果您计划持续删除文档,您可能会发现可伸缩性的几个问题。在couchdb上,DB大小可能相当大,您需要定期对数据库进行压缩和清理。但我不认为这是一个主要的问题,因为这是一个开始的水平。

“建立数据库和最佳管理应用程序流的最佳方法”问题应该由您的团队来解决。如果你没有具有任何数据库经验的人,你应该设法找一个愿意帮助你的人。应该是在数据库方面有丰富经验的人。你可能会在http://www.odesk.com找到一些相当合理的专业人士

老实说,我不认为你会成功,如果你没有这样一个数字-作为一个自由职业者或撰稿人-帮助你有一个坚实的数据库逻辑在游戏中,将确保一个伟大的用户体验。

例如:您是否考虑过使用基于美国的数据库(爱尔兰式数据库)的延迟问题,而不是您的用户所在的位置?

出于这个原因,您可能希望尽可能多地使用客户端(嵌入式数据库,如sqlite或touchDB,本质上是couchDB For iPhone)。

对于iPhone应用程序,您可能想要尝试为该https://github.com/couchbaselabs/TouchDB-iOS而创建的TouchDB (警告:如果您需要连接来检查轮转等等,这可能不是理想的解决方案,但它可以在本地存储一些信息)。

要解决这个问题,您需要有使用couchdb经验的人来设置一个合适的、可用的应用程序。对你的想法充满热情是没有错的,但是要使它成功,你需要在数据库方面有一个技术头脑。当然,你可能很有能力亲自学习这一点。在阅读了CouchDB书籍之后,您应该能够创建一个基本的流程来满足您的需要。

当然,其他更有经验的用户可能会提供更全面的答案或示例布局,但我不认为是最好的方法。即使有人发布了文档结构的完整布局,以及如何查询它,如果某个应用程序出了问题,您将如何服务,例如会话不被删除、冲突等等?因此,我真诚地建议你为你的案子获得一些特别的专业知识。

这也可能导致分析合适的替代品。我认为您不应该相信CouchDB可以扩展,因此是您最好的/唯一的选择(当然,这很可能是事实,如果您觉得这是一个很好的option..go )。例如,twitter、google和许多其他在线应用程序都在使用mysql存储数据,因此CouchDB不是唯一可以扩展的数据库!

票数 5
EN

Stack Overflow用户

发布于 2013-07-09 14:57:30

我认为这个演示应用程序可以成为一个很好的例子:iOS Couchbase演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10374225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档