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

“설마설마했는데 결국?”… 이 사람이 트럼프의 미래일까

트럼프 2기 행정부를 가장 잘 예측할 수 있는 지표나 역사적 사례, 본보기가 있다면 어떤 게…

15 시간 ago

[뉴페@스프] “돈 때문이 아니다” 최고 부자들이 트럼프에게 정치 후원금을 내는 이유

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

3 일 ago

‘백신 음모론자’가 미국 보건 수장 되다… “인신공격은 답 아냐”

트럼프 대통령 당선인이 2기 행정부 인선을 속속 발표하고 있습니다. 정치적으로 논란이 불가피한 인물도 다수 지명된…

3 일 ago

[뉴페@스프] “레드라인 순식간에 넘었다”… 삐삐 폭탄이 다시 불러온 ‘공포의 계절’

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

5 일 ago

[뉴페@스프] 사람들이 끌리는 데는 이유가 있다… ‘이름 결정론’ 따져보니

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

7 일 ago

‘예스맨의 절대 충성’ 원하는 트럼프…단 하나의 해답 “귀를 열어라”

트럼프 2기 행정부 인사가 속속 발표되고 있습니다. 대부분 트럼프에게 절대적인 충성을 보여준 이들로, 기존 공화당원들…

1 주 ago