DBA bot Joe. Anatoly Stansler (Postgres.ai)



Como um desenvolvedor de back-end sabe que uma consulta SQL terá um bom desempenho na produção? Em empresas grandes ou de crescimento rápido, nem todos têm acesso ao "produto". E com o acesso, nem todas as consultas podem ser verificadas sem dor, e a criação de uma cópia do banco de dados geralmente leva horas. Para resolver esses problemas, criamos um DBA - Joe artificial. Já foi implementado com sucesso em várias empresas e tem ajudado dezenas de desenvolvedores.



Vídeo:







Olá! Meu nome é Anatoly Stansler. Eu trabalho para a empresa Postgres.ai . Estamos empenhados em acelerar o processo de desenvolvimento removendo atrasos do Postgres de desenvolvedores, DBAs e QAs.



Temos ótimos clientes e hoje parte do relatório será dedicada aos casos que conhecemos enquanto trabalhamos com eles. Vou contar como os ajudamos a resolver alguns problemas muito sérios.





, : « ?». review, , DBA-. – .



, , , . , . , , .





- prod - ? . , ? . , .





– prod. , , , - . prod, .





, . , .



?





staging - prod. prod, . , , staging.



- , . . prod.



?



  • , staging . , - , – , . Staging . , . . , .
  • , , , . . .




, , , - , , . - , , .



, , , - production.





, ? , , .



, ? , .



, , production, , .



, , , , , , . . .





, – . , cloud. 200 . , , . .



, prod .



? , .



.





, , . , 10 , 10 . , , . .





:



  • – 4,5 .



  • 30 .





, . . , .



. .





OpenZFS.





OpenZFS – copy-on-write , . . . .



:



  • LVM,



  • (, Pure Storage).





Database Lab, , . . OpenZFS, LVM .





? , , , , , , .



, - , : «, , - ».



. , .



. , , , , .





, :



  • – , . production. , , . WAL-E, WAL-G Barman. , - Cloud-, , RDS Cloud SQL, . - , , , production, , .



  • – , Database Lab. Cloud, On-premise. , ZFS . .





, , , - dev. dev . , 4,5 , ZFS 3,5 . . dev .



.



  • , DBA , .



  • QA- , prod. environment QA , . , , , , - , .



  • . , , .







:



  1. «», .



  2. , .



  3. , . . , .





  • . prod. .



  • . .





  1. , .


, ?





.



, , , . .



, . , ? .





? , , Slack-. .



? . . . . . , - , . .



Slack . , thread , , DBA, .





, , . , , , , .



, - .



, . . . .



production, .





Postgres . . Postgres, . . Shared Buffer Cache.



, Shared Buffer Cache Postgres , .



.





, , . - Shared Buffer Cache – 25 % , .



, , 4 instance, . . 4 . , , , .



, Buffer Cache , , . . , . , .



, prod , Postgres . , SeqScan. , ?



, Postgres Shared Buffer , effective_cache_size.





Effective_cache_size – , , . . Buffer Cache . . .



Postgres, , - , . , production.



. , , :



  • , prod.



  • .





, , , .



, , prod, , , , . , . . , , – ( ) , .



, Joe .





. – 1 . , 10 .





, . , 2,5 . , .



B Joe , .



, , . - , , .





, . , , . , 142 .





, , index scan , , ( ), .





- , .





, .





, , 2,5 156 , . 6 .





index only scan.



, - . Flame Graphs.





, . Flame Graphs : , , . . .



. , , .





, explain.depesz.com. , - , , .



, , explain.depesz.com, , .





– explain.dalibo.com. , . , , , -, .







, , Slack . , , , , thread Slack .





, . Update Database Lab, open source. Joe . . .



, - , Delphix, enterprise-. , . Postgres. open source. !



. !





! ! , , . . , .



, ? , . , 10 , , 10 . , . . , , ?



. . - , , , , fail-.



, . . . ? . ?



- ttl . , ttl.



, ?



1 , . . idle – 1 . , . , . , – .



, , , . ZFS? LVM? , c LVM . ? , , .



ZFS? , , . . instances . , . , . . LVM?



LVM meetup. – . ZFS . . . ZFS , Linux . . . . ZFS . , , . , , . . . . , . community, . ZFS – .



: ? , . , – . Pure Storage . .



, . – , , . . , .



ZFS . DelPhix, 300 . fortune 100 — 50 , . . NASA . . . open source Core. , open source. , . , . , . SELECT , . , DBA . . , . , . ZFS, . community , open source . .*



! ! . . . ? : , , - , - job . CPU , IO, ? .



. , ZFS , prod ZFS, ext4, . ?



. , . . , staging . , - , - . . prod. - , - – , , , - .



, , . , , , -, . , . , - .



. . , production , , ? - ? – - MySQL?



. , . Joe, , . ? Joe . , . , – . , .



MySQL. , state . Postgres, Postgres. . Postgres. , , . .



, MySQL. . , . .. MySQL . , ZFS.



! . , , , . , ?



, . , Postgres. ?



, , . , , , prod . - . prod, , prod , .



, , . , , .



?



, , , . . . , .



, , , , . , . . .



. cloud- , , Google, Amazon . .



. MySQL . , , , , . , , , , Postgres, , , instance.



. , . , , , . . , . 100 , . ? , , , , ?



, ZFS . , . , . , .



, , , , ?



, .



, , , ?



, .



. ?



, . - . . , . , . . data corruption . , , . . , .



, ! Joe . , . , Explain Analyze, .



. , : «SELECT FROM WHERE email = ». . . , - . . . , , , . - , .



! ! . Slack , - instances, ?



Agora existe um link para o Slack, ou seja, não existe outro mensageiro, mas eu realmente quero apoiar outros mensageiros também. O que você pode fazer? Você pode implantar o DB Lab sem Joe, andar usando a API REST ou usar nossa plataforma e criar clones e se conectar com PSQL. Mas você pode fazer isso se estiver pronto para dar aos seus desenvolvedores acesso aos dados, já que não haverá mais nenhuma tela.



Não preciso dessa camada, mas preciso dessa oportunidade.



Então - sim, isso pode ser feito.




All Articles