Blog
Voltar
Compartilhe

Sistemas são dados: 4 fatores para uma base de dados consistente

Tecnologia e Inovação
calendar 20.3.2017

Se a linguagem é um patrimônio da humanidade, a informação é o auge da era tecnológica. Sendo assim, a maneira como armazenamos os dados não é algo que possa ser ignorado ou meramente desqualificado. Por isso, vou apresentar aqui 4 fatores que fazem uma base de dados consistente.

Às vezes não paramos para pensar no que de fato acontece por trás dos aplicativos que mais utilizamos.

Mas também por que isso seria importante?! O lado bom é consumir os recursos que o software tem, o resto deve ser mesmo desnecessário.

Por outro lado, para algumas pessoas, esses eventos invisíveis geram “partículas” maiores do que tudo que um app pode oferecer.

Enquanto você passa um tempo na sua rede social preferida, posta fotos, faz compras pela internet ou lê artigos como esse, um universo desconhecido não para de expandir.

Ele não é abstrato, habitado por seres fantásticos em um lugar distante da nossa galáxia. Ou talvez seja.

No mundo da informação, nesse caso, o seu lado pragmático é chamado de:

Base de dados

Uma base de dados é uma coleção de dados estruturados de determinada maneira que permite a sua manipulação e outros tipos de processamento.

Ou seja, é um repositório de informação relacionado com determinado assunto ou finalidade.

Ok! Eu falei “dados” e “informação”. Qual a diferença?

A literatura está repleta de definições para informação, mas ainda não existe um senso comum entre os estudiosos.

Não querendo ser simplista, mas ilustrativo: enquanto um átomo é considerado uma unidade básica da matéria, analogamente os dados são pequenas partículas que compõem um sistema informatizado.

Para Setzer, um grande teórico do campo da ciência e tecnologias, a diferença entre dado e informação é que o primeiro é simplesmente sintático e o segundo contém obrigatoriamente semântica.

Observe os seguintes termos: “13”, “maio”, “de” e “rua”.

Isoladamente podem ter diversos significados, mas, quando normalizados da maneira apropriada, forma-se “rua 13 de maio”, que em algum lugar da base de dados é o endereço do “Eduardo”, um consumidor ansioso por seu novo game.

Quando os dados são o problema

Se a linguagem é um patrimônio da humanidade, a informação é o auge da era tecnológica.

É papel de qualquer profissional de TI interpretar, manipular e perpetuar a massa de dados, que é gerada por ações de usuários de um sistema.

Como dizia Platão, que não foi profissional de TI, mas é um cara respeitado:

“A parte que ignoramos é maior que tudo aquilo que sabemos”.

Quando olhamos pra informação como conhecimento nada pode passar despercebido.

Analistas de Teste procuram evitar que falhas no sistema cheguem até o usuário final.

Ou se algo também pode ter escapado da perspicácia do programador e uma onda de colapsos irá desequilibrar o universo do banco de dados, dando origem aos “bugs”.

Aparentemente o que parece algo ruim, para os mais iluminados é o que torna a gestão de falhas um processo de constante aperfeiçoamento, com ciclos de maturidade que podem demorar anos para serem alcançados.

Aqueles que buscam a qualidade de um software devem se abster da inovação e usar, dessa vez, a criatividade para compreender fluxos que não foram previstos.

Modelar situações e problemas exige um olhar clínico para encontrar a melhor solução.

O objetivo é fazer isso de uma forma que possa ser automatizada, determinando padrões que preveem situações para um plano de ação com foco no resultado esperado.

Sendo assim, a maneira como armazenamos os dados não é algo que possa ser ignorado ou meramente desqualificado.

4 fatores para uma base de dados consistente

1. Atomicidade

Ao completar um pedido em uma loja virtual, vários eventos ordenados devem ocorrer para que tudo saia bem e a sua compra chegue com segurança no destino.

Da mesma maneira, nesse momento é gerado o cadastro do consumidor, a ordem de pagamento e, posteriormente, a lista de itens da compra será utilizada pela logística. Se algumas dessas transações falharem, o resultado final não será alcançado.

Em um banco de dados essas transações devem ocorrer tão precisamente que todos os dados sejam executados ou nenhuma dessas transações será executada.

Muitas vezes alguns processos com falhas acabam armazenando dados inacabados que, ao serem carregados na aplicação, perturbam a ordem natural do programa e isso pode ser considerado um bug.

O programador investe um tempo considerável analisando as rotinas codificadas, enquanto, na verdade, o problema está na qualidade dos dados em si.

2. Consistência

Um pedido se limita a uma unidade do “item A”, então não pode aparecer no pedido duas unidades do “item B”.

No mínimo, isso irá gerar estresse para ambas as partes: você através do SAC dizendo que comprou uma coisa e o atendente do outro lado com outra versão da história.

Quando uma transação for concluída ela deverá permanecer em um estado onde regras serão aplicadas para garantir a integridade dos dados.

Na verdade, seu pedido pode até ter sido gravado corretamente, porém um código de produto duplicado na base de dados pode ter feito o sistema despreparado exibir posteriormente o item errado.

3. Isolamento

Simultaneamente, várias pessoas consultam o CEP em uma base de endereços.

Quando você solicita pelo número, não é necessário que outra pessoa seja impedida de consumir a mesma informação.

Trata-se de uma transação de leitura, diferente de várias transações simultâneas que irão modificar os dados diretamente.

Uma serialização é aplicada para que a informação não corrompa.

4. Durabilidade

A vida útil de um dado vai ser determinada por sua necessidade dentro da aplicação e no tipo do banco que será armazenado.

E é obrigatório que esteja disponível permanentemente.

Só que existem soluções de armazenamento tão voláteis que, na menor queda de energia, tudo pode ser perdido.

Bancos de dados com essa volatilidade se tornaram tecnologias acessíveis.

Sua real característica é auxiliar no carregamento da informação com maior velocidade, sem se preocupar com a persistência a longo prazo.

Além disso, pode ser novamente reabastecido quando houver necessidade.

Confira também…

A segurança da informação é outro fator que contribui para garantir a integridade dos dados, mas esse será assunto para outras publicações.

Mineração de dados e processamento de linguagem natural serão alguns dos próximos conteúdos!

Acesse nossos materiais educativos

557 posts
newsletter

Assine nosso blog

Fique por dentro do mundo do atendimento ao cliente. É de graça!