【发布时间】:2011-09-28 20:42:02
【问题描述】:
我一直在为我的在线纸牌游戏(PostgreSQL、Oracle 等)寻找不同的数据库,虽然 SOCI + pg 或 Oracle 更强大,但它们也很难编译、集成和做很多事情比我需要做的更多。
很简单,这些是我的要求: 存储用户名、哈希、获胜、失败、电子邮件。很简单。
游戏本身实际上不会经常与数据库通信。当玩家登录时,我将通过用户名检索行来登录他们,并使用他们输入的密码生成的哈希验证哈希。
除此之外,服务器仅访问数据库以添加用户、记录游戏后的输赢或更新个人信息。
鉴于 SQLite 支持有限并发,即使我同时运行 100 个左右的纸牌游戏,这也应该可以满足我的需求。
考虑到上述情况,SQLite 是否适合我,还是我应该认真考虑选择更复杂的解决方案?请记住,数据库不是我的强项。
谢谢
【问题讨论】:
-
为什么不使用 MySQL?它没有并发限制,也没有与企业级解决方案相关的“头痛”。此外,它是开源的,如果你变得流行,它可以很好地扩展到大量游戏。
-
@tafoo85 MySQL 是否只允许我执行 SQL 语句而无需安装其他软件,还是 MySQL 是在 localhost 上运行的服务器?
-
MySQL 只能在 localhost 上运行和侦听连接(请参阅有关 bind-address 和 skip-networking 选项的文档)如果您想进行实验,您还可以使用 libmysqld,它是一个提供 MySQL 作为守护程序的 C++ 库,但不鼓励将其用于一般用途,因为正确使用它很复杂。
标签: c++ c database sqlite soci