De fato, começa certo, e é bom ressaltar que o SQLite só sofre com muitas ESCRITAS concorrentes, mas é absurdamente rápido em leitura, que é a operação que mais acontece na maioria das aplicações. E estamos falando de concorrência real, o que ocorre menos do que as pessoas imaginam. Quantas escritas por segundo você acha que a Wikipedia faz? Você vai se surpreender como é bem menos do que imagina.
Sempre teve soluções para gerenciar essas escritas concorrentes, agora tem softwares prontos que fazem a fila para você. Você pode pensar que fila deixa mais lento, mas na verdade é mais rápido enfileirar do que fazer concorrência real. Então se a pessoa souber o que está fazendo a maioria das escritas será mais rápida que em outros DBs.
PDO é uma tragédia que eu só não falo que não devia existir porque tem casos legítimos para seu uso, mas quase sempre não tem vantagem.
As pessoas usam porque podem trocar de banco de dados, mas vai trocar porque? Não está escalando? E você acha que as queries que você otimizou para um banco de dados vai rodar melhor em outro banco de dados? Claro que não, o PDO é o responsável pelo gargalo. Leia: https://pt.stackoverflow.com/a/401729/101.
Não seja ingênuo, a abstração do banco de dados é o problema de performance. Se quer poder trabalhar com mais sde um banco de dados entenda que ou terá perda de performance ou terá que escrever todas as queries duas ou mais vezes (depende de quantos bancos de dados você vai aceitar). E pode ter que mexer outras partes do código para manter a performance alta.
S2
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).