Discord Bot 数据库 (JAVASCRIPT)
Database for Discord Bot (JAVASCRIPT)
所以我正在为 Discord 制作一个机器人,我正在使用 ORM、Sequelize,并将 SQLite 作为数据库引擎。我的bot基本上会有一个商店可以买东西,所以我想把东西存到数据库里,所以我就这么想了。
const UserItems = sequelize.define("useritems", {
user_id: Sequelize.STRING,
item_id: Sequelize.STRING,
count: {
type: Sequelize.INTEGER,
defaultValue: 0,
allowNull: false,
},
});
这个问题是我的游戏将有大约 100 个项目,考虑到我的机器人将有大约 1000 个用户,这种存储用户项目的方式不会太重和太慢吗?
很难说您的游戏是否会对系统造成压力。因此,您可以做的是尝试将您的应用程序和基础架构编写为 可扩展。
具体来说,在谈论有关 有状态 组件(数据库、队列等)的可伸缩性时,您会经常发现 Replica Set
和 Sharded Cluster
.
参见:https://dba.stackexchange.com/questions/52632/difference-between-sharding-and-replication-on-mongodb
我发现 litereplica
支持 SQLite Replica Set
。设置起来非常简单,因为您只需要更新 连接字符串 以包含主机数组而不是单个主机。
因此,如果您的应用程序可以有一个动态连接字符串(可以通过环境设置),您将是未来的证明,并且您将能够在需要时添加更多的 SQLite 实例。
所以我正在为 Discord 制作一个机器人,我正在使用 ORM、Sequelize,并将 SQLite 作为数据库引擎。我的bot基本上会有一个商店可以买东西,所以我想把东西存到数据库里,所以我就这么想了。
const UserItems = sequelize.define("useritems", {
user_id: Sequelize.STRING,
item_id: Sequelize.STRING,
count: {
type: Sequelize.INTEGER,
defaultValue: 0,
allowNull: false,
},
});
这个问题是我的游戏将有大约 100 个项目,考虑到我的机器人将有大约 1000 个用户,这种存储用户项目的方式不会太重和太慢吗?
很难说您的游戏是否会对系统造成压力。因此,您可以做的是尝试将您的应用程序和基础架构编写为 可扩展。
具体来说,在谈论有关 有状态 组件(数据库、队列等)的可伸缩性时,您会经常发现 Replica Set
和 Sharded Cluster
.
参见:https://dba.stackexchange.com/questions/52632/difference-between-sharding-and-replication-on-mongodb
我发现 litereplica
支持 SQLite Replica Set
。设置起来非常简单,因为您只需要更新 连接字符串 以包含主机数组而不是单个主机。
因此,如果您的应用程序可以有一个动态连接字符串(可以通过环境设置),您将是未来的证明,并且您将能够在需要时添加更多的 SQLite 实例。