Am 28.01.2020 um 12:18 schrieb Richard Hipp:
On 1/28/20, Howard Chu <h...@symas.com> wrote:
Wait, really?
AFAICS embedded means in-process, no IPC required to operate.
Things like MySQL-embedded and H2 run a "server" as a thread instead
of as a separate process. Clients then use Inter-Thread Communication
rather than Inter-Process Communication to send their queries to, and
get their results from, the database thread. So this is really the
same thing as a server using IPC except that the server runs in the
same address space as the client. The point of using the term
"serverless" is to indicate that SQLite does not work that way.
I've always found "serverless" kinda "misleading" (technically).
Technically, SQLite is "embeddable InProcess".
And thus such a Process (similar to what was described for MySQL-
embedded above), could "very well be a DB-Server itself".
Your own Fossil-engine would be a good example for such a Server-App,
since it allows (very server-like):
- concurrent access of multiple Users via sockets...
- to access and manage data, which is stored in an SQLite-DB-File
I guess it boils down to "what amount of config- or coding-efforts"
are needed, to produce/compile a true ServerProcess with the help
of an embeddable "InProcess-Library".
E.g. my COM-wrapper for SQLite is implemented as a Dll as well
(and thus "embeddable InProcess") - but it allows with only two
lines of UserCode (just starting a COM-Lib-internal, threaded socket-
listener), to transform "any Host-Process" into an SQLite-Resultset-
read/write-supporting AppServer (which in many concurrent scenarios
outperforms MySQL and also the MS-SQLServer).
With the WAL-extension SQLite is usable in many different (concurrent)
Server-scenarios (and "Server-Processes") ...with a relative small
amount of "extra-code".
So in that sense, the word "serverless" kinda suggests that "special
usecase only" - which is not (only), what SQLite is used for in reality.
Olaf
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users