Shevek
2018-03-01 07:24:05 UTC
Hi,
I would like to have truly concurrent access to an sqlite database, that
is, the ability for multiple connections to read from the database
simultaneously. I'm using Java with xerial's sqlite-jdbc, customized to
let me mmap the entire database into RAM, and with additional debugging
symbols for perf. The database is about 30Gb, fully read-only, and the
connections are opened as such.
What I think is happening is that either a pthread mutex or a database
lock is serializing the accesses, so each thread blocks the others.
Queries are taking a few seconds, even with covering indexes, and I have
the RAM bandwidth available, so I'd really like to use it.
Any pointers?
Thank you.
S.
I would like to have truly concurrent access to an sqlite database, that
is, the ability for multiple connections to read from the database
simultaneously. I'm using Java with xerial's sqlite-jdbc, customized to
let me mmap the entire database into RAM, and with additional debugging
symbols for perf. The database is about 30Gb, fully read-only, and the
connections are opened as such.
What I think is happening is that either a pthread mutex or a database
lock is serializing the accesses, so each thread blocks the others.
Queries are taking a few seconds, even with covering indexes, and I have
the RAM bandwidth available, so I'd really like to use it.
Any pointers?
Thank you.
S.