是否可以将SQLite用作客户端服务器数据库?[关闭]


32

在中等大小/流量/并发数据库环境中,是否有任何技术或工具可用于SQLite?


3
您能给出一个为什么这将是有用的理由吗?否则,我认为值得关闭不是一个真正的问题。SQLite不是客户端服务器数据库,实际上是向不需要客户端服务器数据库的人群销售的。
jcolebrand

1
@Eelke,尽管从3.7版开始在WAL模式下不再适用-一次只能写入一次,但是“读者不会阻止作家,而作家也不会阻止读者”
Jack Douglas

1
顺便说一句,维基百科目前似乎有此错误
杰克·道格拉斯

2
为什么?我认为您应该定义您的需求...也许您会找到一个更合适的数据库...
AK_13年

3
@AK_的主要要求是完整的ACID和非常简单的数据库来开发和使用。我们构建了一个自定义版本以用作客户端服务器,其结果简直令人赞叹!人们低估了SQLite的能力,并高估了对小型公司的并发需求。人们需要开放思想。遵循食谱不是唯一的方法。现在,我们的产品在市场上没有竞争。
2013年

Answers:


25

SQLite是嵌入式数据库,不能用作客户端/服务器数据库。如果确实需要,可以使用SQLitening

什么是SQLitening

SQLitening是非常流行的SQLite数据库的客户端/服务器实现。

SQLitening是标准Win32 DLL形式的程序员库。它作为标准Windows服务安装。除了客户端/服务器模式外,该库还允许程序员以本地模式访问SQLite数据库。在任何一种模式(本地或客户端/服务器)下,数据库都非常快速和强大。-来源:http : //www.planetsquires.com/sqlite_client_server.htm


4
您能否详细说明或提供“什么是SQLitening”链接?该链接转到一个论坛,并且没有透露其实际含义。
develCuy 2014年

17

如前所述,sqlite不是客户端服务器应用程序,也不是为高度并发操作而构建的。

但是,如果使用ssh,则可以“使其成为客户端服务器”。

ssh user@host sqlite3 databasefile select * from table

作品。


1
因为您已加密连接,这是否被视为“客户端服务器”?
罗伯特·哈维

不,这仅是因为托管数据库的计算机与访问数据库的计算机之间存在网络。
ddeimeke '18年

4

不,SQLite不提供网络端点-只能通过文件系统访问。它确实支持从同一台计算机上的多个进程进行并发访问,但是访问级别非常粗(DML锁定整个表)。因此,您可以有十二个Apache httpd进程,所有进程都在本地磁盘上打开一个SQLite数据库,并且都执行SELECTs,并且工作正常。但是实际上,这是工作的错误工具- 在这种情况下,我会使用Postgres


1
锁定整个表只有当您在其上书写时,如果不读很多
处理器,便

3

Paradigma Software推出了Valentina Server 6.0(目前处于Beta测试):三分之三:

  • 瓦伦蒂娜数据库服务器
  • Valentina SQLite服务器
  • 瓦伦蒂娜报告服务器

SQLite Server使用SQLite引擎,无需更改,启用WAL。SQLite Server可在以下3种操作系统运行:Mac,Win,Linux

您可以使用Valentina Studio(免费)应用程序来管理此DB Server,以及mySQL,postgreSQL,SQLite,MS SQL。它还可以在3 OS上作为本机C ++制作的应用程序使用。

SQLite Server包含以下功能:SSL,ACL,备份,REST API,通知通道,JSON,XML。

现在可以通过C ++,Xojo和LiveCode来访问该服务器。不久将添加PHP,Java,.NET。

免费版的Valentina Server包括

  • 与SQLite数据库的10个连接
  • 5与瓦伦蒂娜数据库的连接
  • 5与瓦伦蒂娜报告的联系

您可以在文章中阅读详细信息。



1

您可以使用netcat一起破解某些东西,但我无法想象这将是一个非常优雅的解决方案。


-5

您可以使用类似于dropbox的服务。有自托管的解决方案。但是,未为客户端-服务器模型创建SQLite3。您最好使用由客户端-服务器模型完全开发的其他解决方案。


5
Dropbox和其他文件同步服务不是此问题的解决方案。对于合并多个用户正在同时写入的数据库中的更改,Dropbox不包含任何逻辑。最终结果将是丢失数据,工作和时间。
jptros
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.