system-design-interview 책 144쪽에 확장성(Extensibility) 이라는 용어가 나옵니다.
안 그래도 저는 지금까지 확장성이라는 용어가 너무 헷갈렸습니다.
왜냐하면 분산 시스템에서는 Horizontal Scaling 따위가 확장성(Scalability) 이라는 뜻으로 쓰이고
'객체 지향 설계' 혹은 '시스템 아키텍처 설계'를 할 때
유지 보수성(Maintainability)과 확장성(Extensibility) 이 좋은 유연한 설계를 하는 것이 중요하다고 할 때는
또 다른 의미로 쓰이기 때문입니다.
그런데 알고 보니, 영어로는 Scalability와 Extensibility로써 완전히 다른 단어로 명확히 구분이 되더군요.
한글로 번역할 때는, 둘 다 일반적으로 '확장성'이라는 단어로 가장 많이 해석되는 것 같습니다.
이 링크를 읽어보시면, 혹자는 헷갈리지 않게 Scalability를 '규모 가변성'이라고 번역하기도 하고요,
이 링크에서는 헷갈리지 않도록 Extensibility를 '신장성'이라고 번역하기도 합니다. (61쪽 각주 참고)
또한 system-design-interview 책의 161쪽에는 Scalability가 '규모 확장성'으로 번역됩니다.
그러나 실무 현장에서 의사소통 시 일반적으로 많이 쓰이는 단어는 '확장성'인 것 같고
따라서 문맥에 따라 올바르게 해석할 필요가 있을 것 같습니다.
다시 한 번 정리하자면,
Scalability는 '유저 수나 요청 수가 늘어나도 시스템이 그에 맞는 성능을 발휘하는 능력'으로, Scale Out 등을 통해 실현할 수 있고
Extensibility는 '새로운 기능을 추가하기 용이한 정도'라고 할 수 있겠습니다.
연관 챕터
25
조사 내용
system-design-interview 책 144쪽에 확장성(Extensibility) 이라는 용어가 나옵니다. 안 그래도 저는 지금까지 확장성이라는 용어가 너무 헷갈렸습니다. 왜냐하면 분산 시스템에서는 Horizontal Scaling 따위가 확장성(Scalability) 이라는 뜻으로 쓰이고 '객체 지향 설계' 혹은 '시스템 아키텍처 설계'를 할 때 유지 보수성(Maintainability)과 확장성(Extensibility) 이 좋은 유연한 설계를 하는 것이 중요하다고 할 때는 또 다른 의미로 쓰이기 때문입니다.
그런데 알고 보니, 영어로는 Scalability와 Extensibility로써 완전히 다른 단어로 명확히 구분이 되더군요. 한글로 번역할 때는, 둘 다 일반적으로 '확장성'이라는 단어로 가장 많이 해석되는 것 같습니다.
그러나 실무 현장에서 의사소통 시 일반적으로 많이 쓰이는 단어는 '확장성'인 것 같고 따라서 문맥에 따라 올바르게 해석할 필요가 있을 것 같습니다.
다시 한 번 정리하자면, Scalability는 '유저 수나 요청 수가 늘어나도 시스템이 그에 맞는 성능을 발휘하는 능력'으로, Scale Out 등을 통해 실현할 수 있고 Extensibility는 '새로운 기능을 추가하기 용이한 정도'라고 할 수 있겠습니다.
@caffeine-library/readers-system-design-interview