scalability - tecnologia - significado de la palabra escalable
¿Qué significa escalabilidad? (4)
La escalabilidad es el rasgo en el que una solución de software puede manejar mayores cargas de trabajo. Esto puede ser conjuntos de datos más grandes, tasas de solicitud más altas, combinación de tamaño y velocidad, etc.
Cuando hablamos de escalabilidad de sistemas, solemos diferenciar entre
- "Escalar": la capacidad de crecer mediante el uso de hardware más fuerte
- "Escalar": la capacidad de crecer agregando más hardware
Una solución que puede escalar puede generalmente crecer a cargas de lager de una manera más rentable. Una cosa importante que debe saberse aquí es la ley de Amdahl que establece que la capacidad de escalar está limitada por la parte secuencial del software.
Leí muchos artículos que comparaban lenguajes de programación.
Hay una palabra que viene a menudo: escalabilidad. De hecho, traté de buscar una explicación simple y clara, pero no la encontré.
¿Puedes explicar qué significa la escalabilidad?
Gracias.
La escalabilidad es la capacidad de un programa para escalar. Por ejemplo, si puede hacer algo en una base de datos pequeña (digamos menos de 1000 registros), un programa que sea altamente escalable funcionaría bien en un conjunto pequeño y funcionaría bien en un conjunto grande (digamos millones o miles de millones de registros) )
Como dijo gap, tendría un crecimiento lineal de los requisitos de recursos. Busque la notación de Big-O para obtener más detalles sobre cómo los programas pueden requerir más cálculos cuanto más grande sea la entrada de datos. Algo parabólico como Big-O (x ^ 2) es mucho menos eficiente con grandes entradas x que algo lineal como Big-O (x).
Según entiendo, significa que un aumento lineal en la producción solicitada solo exige un aumento lineal de los recursos .
Ya hay excelentes respuestas aquí, solo quería agregar algunas cosas aquí.
La escalabilidad se puede lograr de 2 maneras:
Vertical: de esta forma, agrega más hardware, como más RAM, procesador o más nodos. También introduce el equilibrador de carga, que ayudará a enrutar las llamadas entrantes a varios servidores según el algoritmo de enrutamiento utilizado. La aplicación ahora puede manejar más carga a medida que se comparte la carga en los servidores.
Horizontal: en el escalamiento horizontal, usted puede diseñar / diseñar la aplicación de manera que se comporte bien en caso de tráfico más paralelo. Verificas cómo estás administrando la memoria, las sesiones, el caché y el estado, etc. Si estás utilizando la sesión para mantener la información del usuario, bajo una gran carga el servidor único podría estar más ocupado administrando los servidores, por lo que en este caso puedes verificar la posibilidad de pasando a ser apátrida. También puede responder a las solicitudes entrantes del mismo usuario en paralelo, en lugar de a las respuestas seriales que se producen si se utilizan sesiones.