Categories: 경영과학

강남스타일은 어떻게 유튜브 조회수 측정 서버에 문제를 일으켰나

싸이의 ‘강남스타일’ 인기는 상상을 초월합니다. 적어도 유튜브 코드에 의하면 확실히 그랬죠. 유튜브 조회수가 2,147,483,647 (21억) 을 넘어가면서 조회수를 64비트 숫자로 바꾸어 9,223,372,036,854,775,808(922경)까지 평가할 수 있게 바꾸었죠. 유튜브는 왜 조회수를 21억 이상 셀 수 없었던 걸까요?

답은 컴퓨터가 정보를 계산하는 방법에 있습니다. 숫자가 반도체에 저장되던 하드디스크에 저장되던 모든 숫자는 이진법으로 바뀌어 저장됩니다. 십진법에서는 모든 숫자는 0에서 9까지 10개의 숫자를 써서 나타납니다. 이진법에서는 0과 1 두 숫자를 가지고 숫자를 나타내죠. 십진법에서 세 자리는 각각 100, 10, 1을 나타냅니다. 십진법 세 자리에서 가장 큰 숫자는 999입니다. 이진법에서 세 자리는 각각 4,2,1을 뜻합니다. 세 자릿수로 가장 큰 숫자인 111은 7을 뜻하죠. 8자리 이진법 숫자는 0에서 255까지를 표기할 수 있고, 바이트라고 불립니다. 바이트부터는 각각 제곱수로 올라갑니다. 2바이트 (16비트) 는 0에서 65,535까지, 4바이트(32비트)는 0에서 4,292,967,295까지 표기할 수 있는 식이죠. 유튜브가 처음 만들어졌을 때 프로그래머들은 조회수를 나타내는 숫자에 32비트를 할당하기로 했고, 당시에는 합리적인 결정으로 보였죠.

여기서, 유튜브의 가능한 조회수가 2,147,483,647로 4,294,967,295가 아니라는 데 주목할 필요가 있습니다. 이건 왜 다른 걸까요? 32비트가 양수가 아니기 때문이다. 음수를 표기하기 위해서는 절반인 2,147,483,647을 음수에 할당한 것이죠. 유튜브의 32 비트 숫자는 0에서 4,294,967,295까지 표기하는 대신 -2,147,483,648에서 2,147,483,647까지 표기합니다. 유튜브의 조회는 음수가 될 일이 없지만 일반 데이터베이스나 프로그래밍을 할 때는 음수를 써야 될 때가 있습니다. 따라서 첫 자리는 음수인지 양수인지 판별하는 부호로 읽고 32비트 숫자는 -2,147,483,648로 2,147,483,647 읽는 것이 컴퓨터의 표준 언어지요. 유튜브의 조회수가 20억을 넘어가면서 32비트가 표현할 수 있는 최고 숫자를 넘어가자 더 이상 컴퓨터는 제대로 숫자를 읽을 수가 없었습니다. 결국 유튜브는 조회수를 64비트로 만들고 9,223,372,036,854,775,808(922경)까지 읽게 변환하였죠.

이런 문제를 안고 있는 건 유튜브만이 아닙니다. 수년 전에 지어진 프로그램들은 숫자가 넘쳐흘러 감당하지 못하곤 하죠. 유닉스 시스템이나 이에 기반한 안드로이드, 애플폰, 맥킨토시, 대부분 인터넷 서버는 2038년 1월 19일 03:14:07 시가 되면 더 이상 시간을 계산할 수 없게 됩니다. 유닉스는 1970년 1월 1일부터 모든 시간을 1초 단위로 계산하는데 32비트만 할당하여 2,147,483,647초가 지나면 더 이상 숫자를 읽지 못하는 것이죠. 이는 “2038 버그” 라 하여 밀레니엄 버그에 버금가는 문제로 뽑힙니다. 새로운 버젼들은 시간을 계산하는 숫자를 64로 비트로 바꾸었으나, 오래된 소프트웨어나 기기는 문제를 일으킬 겁니다. 그때가 되면 유튜브 조회수도 922경을 넘어설지도 모르죠. (Economist)

원문보기

heesangju

샌프란시스코에서 프로덕트 매니저로 일하고 있습니다. 기술의 발전과 열린 인터넷이 인류의 진보를 도우리라 믿는 전형적인 실리콘밸리 테크 낙천주의자 너드입니다. 주로 테크/미디어/경영/경제 글을 올립니다만 제3세계, 문화생활, 식음료 관련 글을 쓸 때 더 신나하곤 합니다. 트위터 @heesangju에서 쓸데없는 잡담을 하고 있습니다.

View Comments

  • 사소한 번역오류 발견했습니다. 원문과 감당하는 범위가 1만큼 다르네요. 원문에서는 "from -2,147,483,648 to 2,147,483,647, rather than 0 to 4,294,967,295." 라고 했죠. 컴퓨터 공학도한테는 쉬운 기초 개념입니다 ㅎㅎ..

Recent Posts

[뉴페@스프] ‘미라클 모닝 이렇게 좋은데 왜 다들 안 하냐고요?’ 새해 결심 세우려 한다면…

뉴스페퍼민트는 SBS의 콘텐츠 플랫폼 스브스프리미엄(스프)에 뉴욕타임스 칼럼을 한 편씩 선정해 번역하고, 글에 관한 해설을 쓰고…

2 일 ago

“전쟁 반대” 외치지만… 반대해야 할 가장 큰 이유를 놓치지 않았나요?

우크라이나와 가자지구에서 몇 년째 계속된 전쟁으로 수많은 사람이 목숨을 잃었습니다. 화를 면한 이들도 삶의 터전을…

2 일 ago

[뉴페@스프] 일상 덮친 참사 트라우마… 슬픔을 제대로 받아들이는 법

뉴스페퍼민트는 SBS의 콘텐츠 플랫폼 스브스프리미엄(스프)에 뉴욕타임스 칼럼을 한 편씩 선정해 번역하고, 글에 관한 해설을 쓰고…

4 일 ago

“선 넘는 대통령, 저항은 미미”… 트럼프 ‘독재 야망’ 꺾으려면

뉴욕타임스 칼럼니스트 마샤 게센은 트럼프가 법치(rule of law) 대신 권위주의적 통치에 필요한 법(law of rule)을…

5 일 ago

[뉴페@스프] “지독한 구두쇠” 욕하며 읽었는데 반전… 물질만능 사회에 주는 울림

뉴스페퍼민트는 SBS의 콘텐츠 플랫폼 스브스프리미엄(스프)에 뉴욕타임스 칼럼을 한 편씩 선정해 번역하고, 글에 관한 해설을 쓰고…

7 일 ago

[뉴페@스프] “트럼프, 저 좀 만나주세요”…’얼굴 도장’ 찍으려 줄 선 기업인들

뉴스페퍼민트는 SBS의 콘텐츠 플랫폼 스브스프리미엄(스프)에 뉴욕타임스 칼럼을 한 편씩 선정해 번역하고, 글에 관한 해설을 쓰고…

1 주 ago