Sqlite 还是 MySql?如何决定? [关闭]
Posted
技术标签:
【中文标题】Sqlite 还是 MySql?如何决定? [关闭]【英文标题】:Sqlite or MySql? How to decide? [closed] 【发布时间】:2011-06-16 09:07:27 【问题描述】:关于如何决定使用这两者中的哪一个,有什么好的经验法则吗?
而且,如果你接管了一个 Sqlite 数据库,并且系统预计会“变得更大”,那么如何决定是坚持使用它还是迁移到 mysql?
【问题讨论】:
考虑 FirebirdEmbedded,它是两者的强大组合。 投票结束过于广泛。可能的重复已删除:***.com/questions/3630/sqlite-vs-mysql 它现在很宽泛,但是,当发布这种问题时,是可以接受的,或者至少是可以容忍的。我希望问题不要被删除,就像可能的重复一样,以便其他人仍然可以阅读讨论和建议。 很遗憾,那些具有高影响力和知名度的问题(请看下面的投票数)正在被本网站的“监视器”关闭。这使得整个监控过程和监控选择非常值得怀疑。 网站的标准、价值观和目标多年来一直在变化。 “主要基于意见”不再可接受。如果我今天想问这个问题,我会在softwarerecs.stackexchange.com 上问,而不是在这里,并会列出我对数据库的要求并接受建议。我明白为什么我的问题被关闭了,但我仍然怀念我们曾经有一个books 标签的时代,标题中的“最佳”一词并不意味着立即关闭:-/ YMMV 【参考方案1】:我对以前的优秀回复的几分钱。 网站 www.sqlite.org 在 sqlite 数据库上工作。这是作者(Richard Hipp)回复类似问题时的link。
【讨论】:
感谢您的链接,同一作者继续使用an own workbench 他在 Athlon 1600 上进行了测试。1GB RAM。 5400RPM IDE 磁盘。红帽 7.3。他总结道:“我现在认为 SQLite 适合用作每天点击量高达 100 万次的网站的主数据库。”【参考方案2】:开箱即用的 SQLite 在并发方面并没有真正的完整功能。如果您有数百个 Web 请求访问同一个 SQLite 数据库,您将遇到麻烦。
您绝对应该使用 MySQL 或 PostgreSQL。
如果是单人项目,SQLite 会更容易设置。
【讨论】:
为简单起见,我总是有一个软件是唯一允许访问数据库的用户,即使对于使用 MySql 数据库的网络应用程序也是如此,但是,显然,尤其是对于 Sqlite。 【参考方案3】:sqlite 团队发表了一篇解释 when to use sqlite 的文章,非常值得阅读。基本上,当您有大量写入并发或需要扩展到 TB 级数据时,您希望避免使用 sqlite。在许多其他情况下,sqlite 是 MySQL 等“传统”数据库的一个出奇的好替代品。
【讨论】:
【参考方案4】:它们的功能集完全不同。 Sqlite 是一个没有网络功能的嵌入式数据库(除非你添加它们)。所以你不能在网络上使用它。
如果你需要
网络访问——例如从另一台机器访问; 任何实际程度的并发 - 例如,如果您认为您可能希望同时运行多个查询,或者运行具有大量选择和少量更新的工作负载,并希望它们顺利进行等等。 大量内存使用,例如,在 32G 内存中缓冲 1Tb 数据库的部分内容。您需要使用 mysql 或其他一些基于服务器的 RDBMS。
请注意,MySQL 不是唯一的选择,还有很多其他选择可能更适合新应用程序(例如 pgSQL)。
Sqlite 是一款非常非常棒的软件,但它从未声称可以做 RDBMS 服务器所做的任何事情。这是一个在本地文件上运行 SQL 的小型库(使用锁定来确保多个进程不会搞砸文件)。它经过了很好的测试,我非常喜欢它。
此外,如果您自己无法正确选择此选项,您可能需要在您的团队中聘请能够做到这一点的人。
【讨论】:
所以基本上 sqllite 是 ms 访问文件的替代品。 这三点正是理查德·希普所说的:youtu.be/Jib2AmRb_rk?t=1693 为简单起见,我总是有一个软件是唯一允许访问数据库的用户,即使对于使用 MySql 数据库的联网应用程序也是如此。以上是关于Sqlite 还是 MySql?如何决定? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Sqlite3 vs Postgres vs Mysql - Rails [关闭]
Django:用于开发的 sqlite,用于生产的 mysql? [关闭]
将 SQLite3 迁移到 MySQL 的快速简便方法? [关闭]