[Desafio] – 10 Desafios Simples de System Design: Resolução 0/9 (Separar um Banco de Dados em Dois)

Conteúdo Original em https://twitter.com/zanfranceschi/status/1639309447918157824

Ei dev,

Proposta de resolução do Desafio 0/9 dos 10 Desafios Simples de Design System que postei recentemente.

https://twitter.com/zanfranceschi/status/16382…


This content originally appeared on DEV Community and was authored by Francisco Zanfranceschi

Conteúdo Original em https://twitter.com/zanfranceschi/status/1639309447918157824

Ei dev,

Proposta de resolução do Desafio 0/9 dos 10 Desafios Simples de Design System que postei recentemente.

Image

https://twitter.com/zanfranceschi/status/1638232583057313792

A principal coisa que você deveria considerar num desafio assim é o motivo da separação. Quando passei por isso, era literalmente para aliviar o banco, deixá-lo com menos registros para que ficasse mais rápido. O banco tinha muitos milhões de registros.

A solução foi simples.

- Criação duma Rotina Diária de Movimentação de Dados

Criei uma rotina diária para fazer a movimentação dos registros mais antigos que X tempo para o banco histórico. Claro, a definição de X foi feita depois de uma análise das consultas mais comuns em termos de período.

- Modificação nas Rotinas de ETL

Esse banco servia de insumo para relatórios. E essa foi a parte mais chata pois foi necessário fazer joins para os relatórios que contivessem dados dos dois bancos (informações anuais, por exemplo).

- Modificação na Experiência do Usuário

Seria complexo e contra o propósito da separação dos banco continuar oferencendo aos usuários dados antigos de forma transparente. Por isso, simplesmente foi adicionada uma funcionalidade nova e separada de consulta de registros antigos.

Essa funcionalidade de consulta de dados antigos funcionava de forma assíncrona – uma planilha era gerada após o processamento. Assim, foi fácil manter o banco histórico com poucos recursos computacionais e com bom controle de demanda de acessos.

Se na funcionalidade de consulta já existente fosse detectada uma consulta maior que o período X definido, era mostrada uma mensagem sobre a opção da consulta histórica.

E essa foi a solução adotada para esse desfio – funcionou muito bem.


This content originally appeared on DEV Community and was authored by Francisco Zanfranceschi


Print Share Comment Cite Upload Translate Updates
APA

Francisco Zanfranceschi | Sciencx (2023-03-24T17:37:01+00:00) [Desafio] – 10 Desafios Simples de System Design: Resolução 0/9 (Separar um Banco de Dados em Dois). Retrieved from https://www.scien.cx/2023/03/24/desafio-10-desafios-simples-de-system-design-resolucao-0-9-separar-um-banco-de-dados-em-dois/

MLA
" » [Desafio] – 10 Desafios Simples de System Design: Resolução 0/9 (Separar um Banco de Dados em Dois)." Francisco Zanfranceschi | Sciencx - Friday March 24, 2023, https://www.scien.cx/2023/03/24/desafio-10-desafios-simples-de-system-design-resolucao-0-9-separar-um-banco-de-dados-em-dois/
HARVARD
Francisco Zanfranceschi | Sciencx Friday March 24, 2023 » [Desafio] – 10 Desafios Simples de System Design: Resolução 0/9 (Separar um Banco de Dados em Dois)., viewed ,<https://www.scien.cx/2023/03/24/desafio-10-desafios-simples-de-system-design-resolucao-0-9-separar-um-banco-de-dados-em-dois/>
VANCOUVER
Francisco Zanfranceschi | Sciencx - » [Desafio] – 10 Desafios Simples de System Design: Resolução 0/9 (Separar um Banco de Dados em Dois). [Internet]. [Accessed ]. Available from: https://www.scien.cx/2023/03/24/desafio-10-desafios-simples-de-system-design-resolucao-0-9-separar-um-banco-de-dados-em-dois/
CHICAGO
" » [Desafio] – 10 Desafios Simples de System Design: Resolução 0/9 (Separar um Banco de Dados em Dois)." Francisco Zanfranceschi | Sciencx - Accessed . https://www.scien.cx/2023/03/24/desafio-10-desafios-simples-de-system-design-resolucao-0-9-separar-um-banco-de-dados-em-dois/
IEEE
" » [Desafio] – 10 Desafios Simples de System Design: Resolução 0/9 (Separar um Banco de Dados em Dois)." Francisco Zanfranceschi | Sciencx [Online]. Available: https://www.scien.cx/2023/03/24/desafio-10-desafios-simples-de-system-design-resolucao-0-9-separar-um-banco-de-dados-em-dois/. [Accessed: ]
rf:citation
» [Desafio] – 10 Desafios Simples de System Design: Resolução 0/9 (Separar um Banco de Dados em Dois) | Francisco Zanfranceschi | Sciencx | https://www.scien.cx/2023/03/24/desafio-10-desafios-simples-de-system-design-resolucao-0-9-separar-um-banco-de-dados-em-dois/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.