On 1/21/19 4:38 PM, James K. Lowden wrote:
> On Sun, 20 Jan 2019 17:01:25 -0700
> "Keith Medcalf" <kmedc...@dessus.com> wrote:
>
>> SQLite3 however has latencies on the order of microseconds 
> Is that really true?  Are there machines for which SQLite's throughput
> can be measured in transactions per millisecond?  
>
> I think you're referring to the latency of the function-call overhead,
> as opposed to using a network interface.  But since DBMSs are basically
> I/O machines, and the most interesting operations involve I/O, it's not
> clear to me why function-call overhead is a relevant measure.  
>
>> [SQLite] does not have the same opportunity for opportunistic
>> behaviour as does a client/server database which may be serving
>> thousands of concurrent (but different) applications.
> That I think is the relevant measure.  It's the number of clients, not
> latency, that makes SQLite's lock-the-whole database feasible.  On a
> large machine supporting thousands of clients, the latency advantage
> would be overwhelmed by the concurrency disadvantage, depending of
> course on the rate of updates.  
>
> --jkl

SQLite is NOT intended to be used over a network, and in fact there are
warnings about accessing the database file over a network file system,
as this often doesn't support the assumed locking primitives. SQLite is
intended to be accessed over the local file system. Some operations can
be order of microseconds if the data resides in cache, slightly longer
if the database is in flash memory, and perhaps 100s of microseconds to
milliseconds if the database is on spinning rust, and the operation
needs to access the drive to get the needed data.

-- 
Richard Damon

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to