01. 첫 번째 수업: 원시 시대의 수 (뼛조각과 결승문자)
원시인들은 사냥한 동물의 수가 며칠 만에 몇 마리가 남았는지 기억해야 했고, 창고에 모아둔 열매가 어제보다 줄어들진 않았는지 세어야만 생존할 수 있었습니다. ‘수학(Math)’ 이전에 ‘셈(Counting)’이라는 생존 본능이 인류를 깨웠습니다.
학습 목표
- 인류 최초의 정보 기록 방식인 뼈다귀 눈금(Tally marks)과 결승문자의 원리를 배웁니다.
- 1:1 대각 대응(1 대 1 매칭)이라는 가장 원시적이면서도 확실한 데이터 저장(DB) 방식을 이해합니다.
1. 늑대 뼈에 새긴 인류 최초의 USB: 이상고 뼈 (Ishango Bone)
약 2만 년 전 아프리카 콩고 지역에 살던 원시인들은 사냥을 마치면 늑대나 개코원숭이의 정강이뼈에 날카로운 돌로 세로 눈금을 파내어 기록했습니다. (현재 발견된 유물 중 가장 유명한 것이 ‘이상고 뼈’입니다).
- 양이 3마리라면? 뼈에 눈금을
|||3개 긋습니다. - 양이 5마리라면? 눈금을
|||||5개 긋습니다.
아주 멍청해 보이나요? 하지만 이 ‘1 대 1 대응(One-to-One Correspondence)’이라는 아이디어야말로 데이터베이스(Database)의 가장 기초적인 원리입니다. 양 1마리에 눈금 1개를 정확히 물리적으로 매칭시킴으로써, 원시인들은 “내 눈앞에 양 떼가 보이지 않아도, 이 뼈에 새겨진 선의 개수만 보면 양이 몇 마리인지 영원히 알 수 있다”라는 추상적 저장장치를 최초로 발명해 낸 것입니다.
2. 밧줄을 묶어 숫자를 남기다: 결승문자 (Inca Quipu)
돌매듭이나 밧줄에 매듭을 지어 정보를 저장하는 방식을 결승문자(Quipu)라고 합니다. 고대 잉카 제국에서는 문자가 없었음에도 이 매듭들의 묶음만으로 세금, 인구수, 옥수수 수확량을 전부 중앙 컴퓨터 서버처럼 저장하고 전송했습니다.
- 아래쪽 줄에 매듭 3개, 그 위 빙글빙글 꼰 매듭 1개…
- 그들은 자리(Position)에 따라 매듭의 가치를 다르게 부여하여 이미 10진법 계산기와 비슷한 ‘하드웨어’를 만들어 손으로 만지며 셈을 했습니다.
3. 1 대 1 매칭의 치명적인 저하 (에러)
하지만 이런 뼛조각 눈금이나 매듭은 치명적인 버그(Bug)를 가지고 있었습니다.
만약 제국을 정복해서 양이 $10,000$ 마리가 생겼다면?
뼛조각을 $10,000$ 번이나 칼로 긁다가 뼈가 박살이 나거나 평생 칼질만 하다가 원시인은 늙어 죽고 말 것입니다. |||||||||||||... 눈금이 조금만 길어져도 인간의 눈으로는 도저히 한눈에 그게 177개인지 178개인지 구별(가독성)해 낼 수가 없습니다.
데이터가 방대해질 때 터지는 이러한 ‘메모리 폭발’과 ‘가독성 제로’ 문제를 해결하기 위해, 인류는 드디어 여러 개의 눈금을 하나의 문자(Symbol)로 압축해 묶어버리는 진법(Base System)의 위대한 아이디어를 고안하게 됩니다.
학습 정리
- 1:1 대응 원리: 양 한 마리에 돌멩이 하나, 양 한 마리에 눈금 한 개. 눈에 보이지 않는 실물을 기호에 강제 연결(Mapping) 시키는 인류 최초의 데이터베이스 기술.
- 이상고 뼈와 잉카 매듭: 인간의 뇌 용량 한계를 극복하기 위해 물리적 외부 하드디스크에 숫자 정보를 백업하기 시작한 셈 기호의 시초.
- 숫자의 덩치가 커지면 눈금을 일일이 긋는 1:1 방식은 시간(연산 속도) 제한과 공간(메모리) 초과라는 치명적인 한계에 부딪힌다. 이를 해결하기 위해 기호 압축 묶음인 ‘진법’이 탄생하게 된다.