Escalabilidade

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Em telecomunicações e na engenharia de software, escalabilidade é uma característica desejável em todo o sistema, em uma rede ou em um processo, que indica sua habilidade de manipular uma porção crescente de trabalho de forma uniforme, ou estar preparado para crescer.[1] Por exemplo, isto pode se referir à capacidade de um sistema em suportar um aumento carga total quando os recursos (normalmente do hardware) são requeridos.

Como característica de um sistema, a escalabilidade é normalmente difícil de definir [2] e, de forma particular, é necessário definir que requerimentos específicos de demanda deverão ser dimensionados para definir a importância da escalabilidade.

A escalabilidade é um assunto extremamente importante em sistemas eletrônicos, bancos de dados, roteadores, redes de computadores, etc, e implica desempenho. Um sistema cujo desempenho aumenta com o acréscimo de hardware, proporcionalmente à capacidade acrescida, é chamado "sistema escalável".

A escalabilidade pode ser medida de vários modos, tais como:

  • Carga de escalabilidade – Quando um sistema distribuído deve ser fácil para ser expandido e usar sua gama de recursos para acomodar tanto exigências do mesmo sendo elas pouca ou excessiva.
  • Geograficamente escalável - Um sistema é geograficamente escalável quando mantém sua utilidade e usabilidade, independentemente de como são usados os seus recursos.
  • Escalabilidade Administrativa - Não importa a variação de informação que diferentes organizações necessitam compartilhar em um único sistema distribuído, este deve permanecer fácil de ser usado e gerenciado.

Por exemplo, um sistema de processamento de transações on-line ou sistema de gerenciamento de banco de dados é escalável quando se pode atualizá-lo, para aumentar o processamento de transações, mediante a adição de novos processadores, mecanismos e dispositivos de estocagem, que podem ser atualizados facilmente e de modo transparente, sem precisar desligar o sistema.

Um protocolo de roteamento é considerável escalável com o tamanho da rede, se o tamanho necessário da tabela de roteamento em cada cresce como O(log N), onde N é o número de nós na rede.

Um freqüente foco do planejamento de um sistema de hardware é a sua escalabilidade.

  • Escalar verticalmente (scale up) significa adicionar recursos em um único nó do sistema (mais memória ou um disco rígido mais rápido).
  • Escalar horizontalmente (scale out) significa adicionar mais nós ao sistema, tais como um novo computador com uma aplicação para clusterizar o software.

[editar] Notas

  1. André B. Bondi, 'Characteristics of scalability and their impact on performance', Proceedings of the 2nd international workshop on Software and performance, Ottawa, Ontário, Canadá, 2000, ISBN 1-58113-195-X, pagina 195 - 203
  2. Veja, por exemplo, Mark D. Hill, 'What is scalability?' no ACM SIGARCH Computer Architecture News, de Dezembro de 1990, Volume 18 Número 4, paginas de 18 a 21, (ISSN 0163-5964) e Leticia Duboc, David S. Rosenblum, Tony Wicks, 'Doctoral symposium: presentations: A framework for modelling and analysis of software sistema escalabilidade' no 28º congresso internacional sobre engenharia de Software ICSE '06, em Maio de 2006. ISBN 1-59593-375-1, paginas de 949 a 952.

[editar] Ver também

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Colaboração
Imprimir/exportar
Ferramentas
Noutras línguas