sql - 像 Farmville 这样的在线游戏使用什么数据库?

标签 sql database database-design relational-database

<分区>

除了图形功能,网络游戏应该有一个简单的关系数据库结构。我很好奇 FarmvilleMafiaWars 这样的在线游戏使用什么数据库?

对于这种频繁写入的程序,使用基于 SQL 的数据库是否可行?
如果不是,如何存储用户在这些游戏中的关系依赖性?

编辑:正如所指出的,他们使用像 Couchbase 这样的 NOSQL 数据库。 NOSQL 速度快,并发性好(这里确实需要);但是 sotrage 的大小要大得多(由于键/值结构)。 1. 它不会降低系统速度(因为我们需要从磁盘读取大型数据库文件)吗? 2. 我们将非常有限,因为我们没有 SQL 的 JOIN 来连接不同的数据集。

最佳答案

这些数据库扩展到大约 500,000 operations per second ,并且它们分布广泛。 Zynga 仍将 SQL 用于日志,但对于游戏数据,他们目前使用的代码与 Couchbase 基本相同。 .

“Zynga’s objective was simple: we needed a database that could keep up with the challenging demands of our games while minimizing our average, fully-loaded cost per database operation – including capital equipment, management costs and developer productivity. We evaluated many NoSQL database technologies but all fell short of our stringent requirements. Our membase development efforts dovetailed with work being done at NorthScale and NHN and we’re delighted to contribute our code to the open source community and to sponsor continuing efforts to maintain and enhance the software.” - Cadir Lee, Chief Technology Officer, Zynga

关于sql - 像 Farmville 这样的在线游戏使用什么数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9560426/

相关文章:

sql 按一列分组,然后过滤一列并为不同的值创建新列

php - 将编号列表列添加到返回的 MySQL 查询

sql - 如何只选择不在另一个表中的行而不获取另一个表的数据 - PLSQL

sql - pl/pgsql - 如何从另一个表创建一个表

.net - 有人在 SharpDevelop 中使用 System.Data.SQLite 吗?

mysql - 将 CSV 导入 phpmyadmin

database - 重复事件数据库模型

c# - 使用 Entity Framework 6 在数据库中查找等效的嵌套对象

sql-server - SQL Server表关系练习

sql - 如何在 PostgreSQL 中存储和查询同一文档的版本?