·약 14분 읽기
IT 도서 편집자로서 AI 시대에 위기를 맞은 출판업계에서 무엇을 할 수 있을까 고민이 많다. 그 고민 끝에 나온 행동의 첫 번째로, 더 이상 프로그래밍 책을 찾지 않는 시대에 사람들이 기꺼이 사서 볼 책은 어떤 책일까를 고민하게 됐고, 인문학과 마찬가지로 결론은 '고전'으로 귀결됐다. 내가 첫 번째로 찾은 IT 고전은 윌리엄 켄트(William Kent)가 1978년에 처음 저술하고 수십 년간 데이터 전문가들의 바이블로 자리 잡은 《Data and Reality: A Timeless Perspective on Perceiving and Managing Information in Our Imprecise World》이다. 국내 번역서는 없지만, 개발자들 사이에서 스터디 단골 도서로 읽히는 책이다. 출간된 지 수십 년이 지난 지금까지도 이 책이 최고 수준의 소프트웨어 아키텍트와 데이터 엔지니어들에게 필독서로 꼽히는 이유와 그 핵심 내용을 살펴보자.

우리는 흔히 데이터베이스에 저장된 레코드가 현실 세계의 객체를 완벽하게 대변한다고 믿는다. 예컨대 '고객' 테이블의 한 행은 실제 살아있는 한 사람의 고객을 정확히 가리키고 있다고 생각한다. 하지만 저자인 윌리엄 켄트는 책의 시작부터 이러한 믿음을 정면으로 깨부순다. 우리가 마주하는 현실 세계는 지극히 모호하고, 끊임없이 변하며, 정의하기에 따라 다르게 인식되는 '불완전한 공간'이기 때문이다.
책에서 제시하는 흥미로운 예시 중 하나는 '책(Book)'이라는 개념이다. 도서관 시스템을 설계할 때 '책'은 무엇을 의미할까? 서점에 진열된 고유한 ISBN을 가진 추상적인 작품 한 편을 의미할까, 아니면 도서관 서가에 꽂혀 있는 종이 뭉치 낱개 한 권을 의미할까? 만약 한 권의 책이 두 권으로 분권되어 발행되었다면 그것은 하나의 책인가, 두 개의 책인가?
이처럼 인간의 언어와 인식 속에서는 자연스럽게 통용되는 개념들이 컴퓨터의 0과 1, 그리고 엄격한 관계형 테이블 구조로 들어오는 순간 수많은 예외와 모순을 만들어낸다. 저자는 데이터 모델링이란 단순히 기술적인 스키마를 짜는 행위가 아니라, 현실의 복잡성을 컴퓨터라는 좁은 틀에 맞춰 '단순화하고 왜곡하는 과정'임을 인지해야 한다고 강조한다.
데이터 모델링의 가장 기초적인 단계는 '엔티티(Entity, 개체)'와 '속성(Attribute)'을 구분하는 것이다. 예를 들어, '자동차'는 엔티티이고 '색상'은 속성이다. 너무나 명확해 보이는 이 구분조차도 비즈니스의 맥락에 따라 언제든 뒤바뀔 수 있다는 것이 이 책의 핵심 통찰이다.
켄트는 독자들에게 질문한다. "무엇이 본질적으로 엔티티이고 무엇이 속성인가? 정답은 없다." 즉, 데이터의 구조는 객관적인 자연의 법칙이 아니라 시스템을 설계하는 인간의 '주관적 목적'에 의해 결정된다는 뜻이다.
이러한 통찰은 오늘날 최신 백엔드 설계 패러다임인 DDD(도메인 주도 설계)의 핵심 개념, '바운디드 컨텍스트(Bounded Context)'와 정확히 맥을 같이 한다. 동일한 대상이라도 어떤 맥락에서 바라보느냐에 따라 데이터의 형태와 본질이 완전히 달라진다는 사실을 저자는 이미 1970년대에 간파하고 있었다.
수십 년 전 메인프레임 시절에 나온 이 책이 오늘날 거대언어모델(LLM)과 실시간 빅데이터를 다루는 우리에게 왜 여전히 중요할까? 현대의 수많은 IT 실패 사례가 기술의 부족이 아닌, '도메인에 대한 오해'와 '데이터의 왜곡'에서 비롯되기 때문이다.
최근 거대 기업들은 수많은 이종 데이터 소스를 하나로 통합하는 데이터 레이크(Data Lake)나 데이터 패브릭 구축에 열을 올리고 있다. 하지만 서로 다른 부서에서 각자의 맥락으로 정의한 데이터를 단순히 한곳에 모아둔다고 해서 기적처럼 통찰이 생겨나지는 않는다. A 부서의 '매출' 정의와 B 부서의 '매출' 정의가 다를 때 발생하는 데이터 정합성의 오류는 결국 기술의 문제가 아니라 윌리엄 켄트가 지적한 '현실을 바라보는 관점의 충돌' 문제이다.
AI 모델을 학습시킬 때도 마찬가지이다. 정제되지 않고 왜곡된 현실을 담은 데이터는 편향된 AI를 낳는다. 우리가 신성시하는 데이터가 실은 인간의 불완전한 필터를 거쳐 정형화된 파편에 불과하다는 점을 깨달을 때 우리는 비로소 데이터를 맹신하지 않고 더 건강하고 유연한 아키텍처를 설계할 수 있게 된다.
《Data and Reality》는 독자들에게 데이터의 기술적 명세서가 아닌 철학적 성찰을 요구하는 아날로그 감성의 기술 서적이다. 저자는 개발자와 데이터 아키텍트들을 향해 단순히 코드를 짜는 사람이 아니라, 현실 세계의 복잡다단한 이야기를 컴퓨터라는 세계로 옮겨 적는 '서기(Scribe)'가 되어야 한다고 말한다.
지금 다루고 있는 데이터 모델이 한계에 부딪혔거나 마이크로서비스 간의 데이터 통신 스키마를 짜느라 머리가 아프다면 잠시 모니터에서 눈을 돌려 이 고전을 펼쳐보시길 권한다. 우리가 매일 만지는 데이터 이면의 본질을 다시금 깨닫게 해줄 것이다.