3

我对 SQL 和关系数据库非常陌生(上周刚开始学习),我正在升级我的网站,目前将所有数据保存在 XML 文件中。它可以工作,但是从我听说关系数据库可以做的事情来看,新站点会更适合,而且看起来 SQLite 最适合我。我担心的一个问题是并发性,即使 99% 的数据在 99% 的情况下都是只读的(我理解 SQLite 非常擅长)。其他事情,例如某些页面的页面查看计数器将不断需要少量写入。我仍在学习数据库设计,并希望做对。为大量写入的内容创建单独的数据库是否有意义,这样可以使主数据库更不容易受到并发问题的影响?是否可以做一个“外键” 跨数据库的类型引用(我还没有使用外键,但认为我理解它们)?因为每个视图计数都会指向主数据库中的某个主键。谢谢你的帮助!

4

1 回答 1

1

SQLite 非常适合用于嵌入式系统(如手机和平板电脑)和小型桌面应用程序(Chrome、Firefox、Thunderbird 等)。但是,当您需要有许多并发的读取器和写入器时(典型的网站),您不应该使用它。

即使您将数据拆分到多个数据库中,也会产生很多操作开销。例如,很难连接来自不同数据库的数据 - 您必须使用ATTACH,并且默认情况下您最多只能ATTACH使用 10 个数据库。并发问题仍然不会 100% 消失。

相反,使用真正的数据库,如 PostgreSQL 或 MySQL。这些数据库不仅速度更快,而且通过网络提供对数据的真正并发访问,这是 SQLite 无法做到的。

我个人的偏好是 PostgreSQL,但如果你的虚拟主机不提供 PostgreSQL,你可以使用 MySQL,但请使用像 InnoDB 这样的完全事务引擎。

于 2013-09-01T06:02:10.340 回答