How SQLite Scales Read Concurrency