Escalabilidade
Origem: Wikipédia, a enciclopédia livre.
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 o crescimento do mesmo.[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. Um significado análogo está relacionado quando a palavra é usada em termos comerciais, onde a escalabilidade de uma empresa implica em um modelo de negócio que oferece potencial de crescimento econômico dentro da empresa.
A Escalabilidade, como característica de um sistema, é normalmente difícil de se definir [2] e de forma particular é necessário definir que requerimentos específicos de demanda deveram 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".
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 ele mantém sua utilidade e usabilidade, não obstante 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, ele 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 atualiza-los para aumentar o processamento de transações se adicionando novos processadores, mecanismos e dispositivos de estocagem, e que pode ser atualizados facilmente e transparentemente 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 nó cresce como O(log N), onde N é o número de nós na rede.
Escalável verticalmente (scale up), significa adicionar recursos em um único nó do sistema (mais memória ou um disco rígido mais rápido). E Escalável Horizontalmente (scale out), significa adicionar mais nós ao sistema, tais como adicionar um novo computador com uma aplicação para clusterizar o software.
É um freqüente foco do planejamento de um sistema de hardware é a sua capacidade da sua escalabilidade. Isto é normalmente um típico cheaper a ser adicionado em um novo nós do sistema de forma a aumentar a performance tanto do partake in ajuste do desempenho para aumentar a capacidade a ser manipulada em cada nó.
[editar] Notas
- ↑ 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
- ↑ 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
- Lei de Amdahl
- Complexidade asimptotica
- balanceamento de carga
- Lock (ciência da computação)
- Paralelismo
- Ilidades