我从另一个question拿走了这个。
在sqlite的适当用途下,它有:
SQLite正常运行的情况
•网站
SQLite通常会很好用 低到中的数据库引擎 交通网站(也就是说, 99.9%的网站)。 SQLite可以处理的Web流量 当然,取决于多大程度 网站使用其数据库。通常 说,任何减少的网站 超过100K点击/天应该工作正常 与SQLite。 100K点击/天的数字 是一个保守估计,而不是一个难 上限。 SQLite一直都是 证明可以使用10次 那个流量。
另一个RDBMS的情况可能 更好地工作
•客户端/服务器应用程序
如果您有许多客户端程序 通过访问公共数据库 网络,你应该考虑使用 客户/服务器数据库引擎代替 SQLite SQLite将适用于 网络文件系统,但因为 与大多数网络相关的延迟 文件系统,性能不会 大。另外,文件锁定逻辑 许多网络文件系统 实现包含错误(两者都有 Unix和Windows)。如果文件锁定 它可能不会像它应该的那样工作 可以为两个或更多客户 程序修改相同的部分 同一个数据库, 导致数据库损坏。 因为这个问题是由bug引起的 在底层文件系统中 实施,没有什么 SQLite可以做到这一点。
一个好的经验法则是你 应该避免使用SQLite 数据库相同的情况 将同时访问 网络上的许多计算机 文件系统。
我将在这里展示我的无知,但这两者之间的区别是什么?
答案 0 :(得分:19)
“Web应用程序”是指浏览器通常用作客户端的应用程序。 Web应用程序是客户端/服务器应用程序。换句话说,您可以将客户端/服务器应用程序视为超类,其中Web应用程序是子类。
答案 1 :(得分:9)
“web”应用程序意味着浏览器是客户端
客户端/服务器应用意味着自定义客户端应用。认为Outlook挂钩交换,而它可能使用网络连接,它是自己的客户端到交换服务器。
修改强>
更具体的是您发布的sqlite文本,它们的意思是客户端应用程序不应该直接访问您的sqllite数据库,而应该使用某种服务器端接口(即json Web服务)
但在我看来,这个经验法则适用于所有数据库引擎。如果我使用的是SQL Server或Oracle,我肯定会避免将客户端应用程序直接连接到数据库,这有很多潜在的问题,首先是安全问题。
答案 2 :(得分:7)
注意事项有一些不同之处:
Web应用程序假设客户端是Web浏览器,客户端和服务器之间的通信是无状态的(HTTP)。它还倾向于假设客户端“瘦”并且在浏览器中完成很少的信息处理。
客户端 - 服务器应用程序假设客户端是“胖”客户端,并且客户端和服务器之间的通信保持状态(这不一定是真的)。通信几乎可以是任何协议。老式的客户端服务器或2层应用程序确实让每个客户端直接连接到数据库 - 我会建议不要出于各种原因,排名第一的是安全性。这可能就是你说SQLite不合适时所发布的来源。
3 +层类型的应用程序仍然可以具有状态客户端 - 服务器通信,但中间层将处理实际的数据库通信。在这种情况下,网络上的延迟并不重要,SQLite可以工作(因为它更像是一个Web应用程序)。
答案 3 :(得分:1)
差异b / n客户端/服务器应用程序和Web应用程序服务器
1)客户端服务器应用程序跟进双层体系结构,但Web服务器应用程序遵循三层或'n'tier体系结构。
2)在客户端服务器应用程序中,我们不会使用Web服务器,但在Web服务器应用程序中将使用相同的服务器。
3)客户端服务器应用程序主要用于Intranet区域,但用于Internet区域的Web服务器应用程序。
4)客户端服务器中的Securiry问题非常少,因为有最小用户,但在Web服务器中,安全性问题是最大的,因为最终用户更多。
5)客户端服务器不会考虑性能问题,但会考虑Web服务器应用程序。
答案 4 :(得分:0)
http://webvsclientserverbysujan.blogspot.in/2014/01/WebVsDesktoApppbysujan.blogspot.com.html