Conteúdo original nessa thread do Twitter
Dev,
Conhecer possibilidades de escalonamento de bancos relacionais é um assunto fundamental!
Só escala verticalmente? Dá pra escalar horizontalmente tbm?
Hoje vamos conhecer a história de Amy e como as dificuldades a fizeram muito mais forte.
cc @sseraphini @_amyport
🧵
Amy era uma típica banco de dados relacional muito tranquila, com um padrão de acesso equilibrado entre leituras e escritas.
Atendia muito bem a uma demanda pequena.
Um dia, Amy ficou sabendo que a empresa onde trabalhara receberia alguns bilhões de investimento e isso faria com que o padrão de acesso fosse alterado drasticamente.
Amy sabia de suas limitações – era pequena para tal demanda.
Amy era muito estudiosa e manjava dos paranauês – logo colocou-se a pensar numa solução.
Com a expansão da empresa, o padrão de acessos seria diferente. A demanda por escrita seria intensa e constante. Entretanto, a demanda por leitura seria sazonalmente intensa.
Amy sabia que para escrita é muito complicado escalar um banco relacional horizontalmente (adicionar novos nós); sabia que teria que escalar verticalmente para poder atender a alta demanda de escrita.
Começou a malhar loucamente para crescer e ganhar mais CPU, Memória, Disco.
Amy – que agora era Maromba – ainda precisava resolver a questão da sazonalidade das leituras intensas.
Amy Maromba sabia que, ao contrário da escrita, para leitura era possível adicionar nós conforme necessário para distribuir a carga. Ela sabia que poderia escalar horizontalmente para leitura, pois existem mecanismos de sincronização de dados para as instâncias!
Além do mais, Amy sabia da necessidade de segregar as conexões que seriam para leitura e para escrita. Um load balancer talvez fosse uma boa solução – pensou.
Depois de pronta a solução, Amy olhou orgulhosa para seu trabalho – ela sabia que tinha resolvido o problema que o crescimento traria.
Essa thread foi inspirada numa entrevista que fiz anos atrás em que uma das perguntas foi "Como você escalaria um banco de dados relacional?" Respondi seco "Verticalmente!". Senti que alguma coisa estava errada em minha resposta. Ela estava apenas meio certa.
Gostaria de agradecer imensamente a
@_amyport por ter topado pagar esse mico e pelas ideias! Segue ela também.
E você dá um abraço aqui por ter lido tudo! 🤗
Top comments (0)