잘 나눈 칸은 오래갑니다
10만 점의 작품 데이터를 다루며 배운 것
도록(dolog)에서 작품 하나를 등록하다 보면 생각보다 많은 칸을 만나게 됩니다. 제목과 이미지는 당연하다 쳐도 재료, 치수, 제작 연도, 에디션, 서명, 소장 이력까지. 처음 쓰는 작가라면 "이렇게까지 해야 하나" 싶을 수 있습니다. 이 글은 그 칸들이 어디에서 왔는지에 대한 이야기입니다.
자유 텍스트는 반드시 어긋납니다
이전 직장인 미술품 렌탈 서비스 오픈갤러리에서 11년 동안, 2,500명이 넘는 작가와 10만 점이 넘는 작품의 데이터를 다뤘습니다. 시작은 엑셀에 있던 작가와 작품 목록을 웹으로 옮기는 일이었습니다. 빠르게 만들어야 할 때 가장 쉬운 선택은 텍스트 칸 하나를 두는 것입니다. 그러면 치수 칸에는 "53×45.5"와 "53 x 45.5 cm"와 "10호"가 섞여 들어오고, 액자 정보는 비고 칸 어딘가에 문장으로 적히며, 판매됐는지 렌탈이 가능한지는 예/아니요 표시 몇 개에 나뉘어 흩어집니다.
처음에는 문제가 되지 않습니다. 사람이 읽고 사람이 판단하니까요. 문제는 데이터가 쌓이고 그 칸을 읽는 화면과 코드가 늘어날 때 생깁니다. 목록에서는 렌탈 가능으로 보이는 작품이 상세에서는 아니라고 나오고, 검색은 "10호"를 크기로 이해하지 못합니다. 진실이 데이터에 있지 않고, 데이터를 해석하는 코드마다 조금씩 다르게 존재하게 됩니다.
칸을 나누는 일은 업무를 이해하는 일
그래서 2021년에 작품 데이터 모델을 다시 설계했습니다. 자유 텍스트로 받던 속성은 정형 필드로 나누고, 흩어져 있던 상태 표시는 하나의 상태 값으로 합쳤습니다. 돌아가는 서비스 위에서 바꾸는 일이라 순서를 지켰습니다. 새 칸을 먼저 만들고, 데이터를 옮기고, 모든 화면이 새 칸을 읽는 것을 확인한 뒤에야 옛 칸을 지웠습니다. 그렇게 나눈 칸들은 제가 퇴사할 때까지 큰 재설계 없이 그대로 쓰였습니다.
이 작업에서 배운 것이 있습니다. 칸을 나누는 일은 기술 문제라기보다 업무를 이해하는 문제라는 것. 어떤 칸이 필요한지는 코드가 아니라 그 칸을 읽고 일하는 사람들이 알고 있었습니다. 그래서 설계 전에 실무자들이 데이터를 어떻게 쓰는지부터 봤습니다. 잘 나눈 칸은 화면을 바꾸고 기능을 더해도 흔들리지 않았고, 대충 뭉친 칸은 언젠가 반드시 비용으로 돌아왔습니다.
도록의 칸들
도록을 설계할 때 이 경험을 그대로 가져왔습니다. 작품 하나를 재료, 치수, 서명, 소장 이력까지 세분화한 항목으로 구조화하고, 원본 이미지는 손대지 않고 보존합니다. 칸을 나눈 것은 입력을 어렵게 하려는 게 아닙니다. 한 번 정확히 쌓은 기록은 형식을 바꿔 얼마든지 다시 꺼내 쓸 수 있기 때문입니다. 공모 요강이 요구하는 양식, 전시 캡션, 포트폴리오 한 줄. 형식은 그때그때 달라져도, 칸이 정확하면 기록을 다시 만들 필요가 없습니다.
도록의 슬로건은 "매일의 기록이 도록이 된다"입니다. 잘 나눈 칸은 그 문장을 지키기 위한 최소한의 구조입니다. 작가의 기록이 어긋난 텍스트가 아니라 다시 꺼내 쓸 수 있는 데이터로 남도록, 칸 하나하나를 10만 점을 다뤄 본 경험으로 골랐습니다. 기록이 안전하게 쌓일 자리에 대한 생각은 첫 제품 두 달의 회고에 적었습니다.