SQLite和并发性

前端之家收集整理的这篇文章主要介绍了SQLite和并发性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在我们的产品中集成一个数据库,我不知道哪一个更适合我们的需求(易于自动部署,没有管理,良好的性能),而且sqlite似乎是一个很好的解决方案。问题是数据库可能面临高并发问题:每次客户端连接到运行数据库的服务器时,它都可以通过PHP(Apache)进行访问。一个客户端每10秒将服务器近似地连接(并执行一个INSERT查询),并且可能有超过100个客户端运行。

执行INSERT查询时,sqlite将在一定时间内将整个数据库锁定一段时间。有没有办法计算持续时间?如果这是不可能的,你认为sqlite(v3.3.7)是否仍然适应上述条件?

我不认为sqlite将是这些要求的一个很好的解决方案。 sqlite仅为本地和轻量级使用而设计,不提供数百个请求。

我会推荐一些其他解决方案,例如MysqL或Postgresql,都可以很好地编写脚本。所以,如果我是你,我会把我的努力放在安装脚本中。

为了避免sqlite信徒和仇恨者之间的火焰战争,让我吸引您注意经常提及的SQLite When-To-Use文档(我认为它被认为是可信的来源)。这里他们说:

Situations Where A Client/Server RDBMS May Work Better

High Concurrency

sqlite supports an unlimited number of simultaneous readers,but it will only allow one writer at any instant in time. For many situations,this is not a problem. Writer queue up. Each application does its database work quickly and moves on,and no lock lasts for more than a few dozen milliseconds. But there are some applications that require more concurrency,and those applications may need to seek a different solution.

我认为在提到的问题涉及许多写作,如果OP将用于sqlite,它将导致不可扩展的解决方案。

原文链接:https://www.f2er.com/sqlite/197931.html

猜你在找的Sqlite相关文章