Notícias

UB CLOUD MANAGED HOST

POR QUE DIMENSIONAR SEU BD?

Blog Single

O banco de dados do seu aplicativo deve ser capaz de expandir ou contrair seus recursos de computação para atender às necessidades dinâmicas do aplicativo. Por exemplo, seu banco de dados deve ser capaz de escalar verticalmente para lidar com um aumento repentino no tráfego. Além disso, quando não estiver em condições, seu banco de dados deve ser capaz de contratar para economizar recursos.

Aqui estão alguns cenários em que a escalabilidade do banco de dados é necessária:

   Seu aplicativo está desatualizado e você deseja migrar para um sistema em nuvem

   Seu aplicativo sofre altas cargas

   Seu aplicativo precisa estar em conformidade com os regulamentos

   Você deseja uma carga de trabalho equilibrada que possa atender a usuários em todo o mundo

Soluções de dimensionamento de banco de dados

1. Cache de consultas de banco de dados

Uma das maneiras mais diretas de melhorar a capacidade de manipulação de carga do seu banco de dados é armazenar em cache as consultas do banco de dados. Normalmente, um aplicativo tem apenas um punhado de consultas que compõem a maior parte das solicitações feitas. Você pode armazenar em cache essas consultas para que, no futuro, essas solicitações sejam lidas do cache. Isso elimina a necessidade de buscar dados do banco de dados toda vez que essas solicitações comuns são feitas. O usuário é servido com os dados necessários rapidamente. Dessa forma, o cache ajuda a melhorar o desempenho do seu banco de dados.

O Amazon ElastiCache é um serviço de armazenamento em cache que ajuda você a armazenar em cache seu banco de dados. Com o Amazon ElastiCache, você pode dimensionar com cache na memória. O Amazon ElastiCache oferece suporte a casos de uso em tempo real. Veja a seguir os casos de uso ideais para o Amazon ElastiCache:

   Placares de jogos

   Análise

   Transmissão

2. Índices de banco de dados

um banco de dados nem sempre significa adicionar mais bancos de dados à configuração existente. Às vezes, otimizando o banco de dados atual, você pode dimensionar até certo ponto. É aqui que a indexação de banco de dados entra em ação. Usando a técnica de indexação de banco de dados, você está estruturando os dados para melhorar a velocidade de recuperação de dados da tabela de banco de dados.

3. Replicação de dados

A replicação de dados é uma estratégia usada para fazer cópias idênticas do banco de dados para criar máquinas adicionais. Uma estratégia de replicação é benéfica para lidar com cargas de pico. À medida que os dados são replicados, as consultas podem ser espalhadas por vários bancos de dados e isso, por sua vez, reduzirá a carga em um único banco de dados. Além disso, no caso improvável de falha de um dispositivo de armazenamento, os dados replicados serão úteis e o sistema ainda estará totalmente funcional.

4. Fragmentação

Um dos principais gargalos no dimensionamento de seu banco de dados é o banco de dados projetado incorretamente. Para garantir que você não enfrente esse gargalo, é essencial começar escolhendo o banco de dados correto para o aplicativo de negócios correto. Por exemplo:

   Um banco deve escolher SGBD relacional para garantir ACID (atomicidade, consistência, isolamento, durabilidade) para seus dados estruturados

   Um jogo multiplayer online pode contar com valor-chave sem banco de dados SQL

Não importa qual banco de dados você selecione, certifique-se de que ele tenha um recurso de fragmentação. Sharding significa dividir um único grande pedaço do banco de dados em pedaços menores de dados, conhecidos como shards, que podem ser armazenados em vários bancos de dados. Existem dois tipos de fragmentação:

   Fragmentação horizontal

   Fragmentação vertical

A fragmentação horizontal é eficaz quando suas consultas de banco de dados retornam um subconjunto de linhas de dados. Essas linhas geralmente são agrupadas. Por exemplo, as consultas nas quais os dados são filtrados são baseadas em intervalos de datas curtos.

A fragmentação vertical se mostra eficaz quando suas consultas de banco de dados retornam um subconjunto de colunas de dados. Por exemplo, se algumas consultas de banco de dados solicitam apenas nomes, enquanto outras desejam apenas cidades, a fragmentação vertical se mostra eficaz nesses casos.

Os fragmentos têm duas vantagens principais:

   A capacidade geral de armazenamento do sistema é diretamente proporcional ao número de fragmentos de banco de dados.

   Se um estilhaço estiver offline, você ainda poderá contar com o pool de estilhaços para recuperar e armazenar seus dados. Quando um estilhaço fica offline, apenas uma parte do conjunto de dados geral fica indisponível no momento. Portanto, não afetará significativamente a operação do sistema.

Conclusão

O banco de dados é um elemento crucial de qualquer aplicativo. Se você quiser dimensionar seu aplicativo, não poderá fazê-lo sem dimensionar o banco de dados.

Notícias