달달타운 AI 도입, 숫자로 판단하기

증분 색인의 손익분기 16.22%는 우리 조직의 값이 아니다

· 인프라

증분 색인 파이프라인을 만들기 전에 낼 값은 전체 재색인 한 번의 값이다. 그 값을 내면 문턱이 나온다. 한 번 돌릴 때 다시 쓰는 청크가 그 문턱을 넘으면 증분 색인이 전체 재색인보다 비싸다.

제목의 16.22%는 파싱 캐시와 대량 적재를 갖추고 임베딩 캐시는 없는 조직의 값이다. 앞의 둘 중 하나만 없어도 문턱이 50%대나 90%대로 올라가고, 임베딩 캐시가 있으면 3%대로 내려간다. 임베딩 단가를 바꾸면 또 움직인다. 이 글은 그 값을 내는 식을 세 비율로 닫고, 세 비율을 벤더 가격표에서 읽는 방법을 준다.

비유

도서관이 카드 목록을 관리한다고 하자. 책이 바뀔 때마다 카드를 다시 만들어야 한다.

  • 필경사가 책을 읽어 원고로 옮긴다. 문서 파싱이다. 페이지당 삯을 받고 네 작업 중 제일 비싸다
  • 옮긴 원고는 창고에 둔다. 파싱 캐시다. 책이 안 바뀌었으면 필경사를 다시 부를 이유가 없다
  • 원고를 카드 크기로 자른다. 청킹이다. 값이 들지 않는다
  • 카드마다 주제 좌표를 적는다. 임베딩이다. 기계가 하고 글자 수만큼 받는다
  • 카드를 서랍에 꽂는다. 빈 서랍에 꽂기(신규 쓰기), 헌 카드를 뽑고 그 자리에 꽂기(덮어쓰기), 서랍장을 통째로 들여오기(대량 적재) 셋의 값이 다르다

새 서랍장은 빈 채로만 들여올 수 있다. 카드가 이미 든 서랍장 위에 겹칠 수는 없다. 그래서 바뀐 카드만 갈아 끼우는 일은 서랍장을 통째로 바꾸는 값을 쓸 수 없다. 카드가 새로 늘 때는 빈 서랍에 한 번만 꽂고, 헌 카드를 바꿀 때는 뽑고 꽂아 두 번 간다. 이 글이 재는 것은 그 차이다.

카드 서랍은 찾아보는 데 값이 들지 않지만 벡터 DB는 조회에도 과금한다. 이 글은 색인 비용만 다루고 조회 비용은 다루지 않는다.

파싱은 대량 적재비의 656배지만 건너뛸 수 있다

계산의 단위는 청크 100만 개다. 청크 수를 곱하면 그 코퍼스의 사용량이 된다. 다만 파싱은 월 100만 페이지에서 단가가 갈리고, 청구서에는 요금제 최소 사용액이 따로 걸린다.

전제부터 고정한다.

기호값근거
T 페이지당 토큰500가정
C 청크 크기512 토큰가정
V 청크 겹침64 토큰가정
청크·레코드 대응청크 1개 = 벡터 DB 레코드 1개가정. 청크 비율과 레코드 비율이 같은 값이 된다
임베딩 모델text-embedding-3-small, 1536차원OpenAI 임베딩 문서, 2026-08-24 조회
벡터 바이트1536 × 4 B = 6,144 BPinecone 비용 문서, 2026-08-25 조회
ID·메타데이터2,048 B가정
레코드 크기8,192 B = 8.192 KB위 둘의 합
단위 규약1 KB = 1,000 B, 1 GB = 10⁹ BPinecone 문서에 정의문은 없고 계산 예시가 10진이다. 아래 핵심 콜아웃

전제표의 값 중 T·C·V·메타데이터 크기는 가정이다. 파싱 캐시가 있고 임베딩 캐시는 없을 때 문턱을 움직이는 것은 C와 메타데이터 크기 둘이고, T와 V는 분자와 분모에서 함께 약분되어 문턱을 한 자리도 옮기지 않는다. 파싱 캐시가 없으면 파싱이 페이지 단위로 붙으므로 T와 V도 문턱에 들어간다. 파싱 캐시와 임베딩 캐시가 둘 다 있으면 문턱이 c 하나로 줄어 넷 다 문턱을 옮기지 않는다.

넷 다 코퍼스를 페이지로 셀 때의 총액은 언제나 움직인다.

전제에서 파생되는 값이 셋이다.

청크당 순증가      = C − V = 448 토큰
페이지당 청크      = T ÷ (C − V) = 500 / 448 = 1.116071
청크당 페이지      = (C − V) ÷ T = 448 / 500 = 0.896
페이지당 임베딩 토큰 = T ÷ (C − V) × C = 1.116071 × 512 = 571.4286

겹침 때문에 임베딩하는 토큰이 원문보다 1.1429배 많다. 겹침을 128로 늘리면 1.3333배가 된다. 겹침은 페이지당 청구서를 키우지만 청크당 단가는 건드리지 않는다.

청크 100만 개당 각 작업의 값이다.

작업산식단가대량 적재 대비출처
문서 파싱896,000 페이지 × $1.50/1,000$1,344.000656.250배Textract 가격, 2026-08-24 조회
쓰기 · 덮어쓰기16.384 WU/레코드 × $4.00/1M WU$65.53632.000배Pinecone 비용 문서, 2026-08-25 조회
쓰기 · 신규8.192 WU/레코드 × $4.00/1M WU$32.76816.000배같은 출처
임베딩512M 토큰 × $0.02/1M$10.2405.000배OpenAI 가격, 2026-08-24 조회
쓰기 · 대량 적재8.192 GB × $0.25/GB$2.0481.000배Pinecone 가격, 2026-08-24 조회
청킹로컬 문자열 처리$0해당 없음외부 과금 없음

파싱이 가장 비싸다. 그 단가는 월 100만 페이지까지의 값이고 초과분은 $0.60/1,000이라 파싱 행이 초과 물량이 커질수록 $537.60에 수렴한다. 어느 구간이든 파싱이 표의 나머지를 합친 $110.592보다 크다.

파싱은 원본 문서가 안 바뀌었으면 건너뛸 수 있다. 청크 텍스트가 그대로면 임베딩도 같은 방식으로 건너뛸 수 있고, 청킹과 쓰기는 건너뛸 수 없다. 임베딩을 건너뛰는 쪽은 아래 닫힌 형 콜아웃이 문턱까지 끌고 간다.

필경사를 빼고 값이 들지 않는 가위질도 빼면 네 막대가 남는다.

덮어쓰기 $65.536 신규 쓰기 $32.768 임베딩 $10.240 대량 적재 $2.048 파싱 캐시가 있을 때. 파싱은 $1,344.000으로 축 밖이다
헌 카드를 갈아 끼우는 막대가 서랍장을 통째로 들이는 막대의 32배다. 증분 색인은 바뀐 카드에 그 32배 막대를 쓰고, 16배 막대로 내려가는 것은 문서가 늘기만 할 때뿐이다.

임베딩 단가는 $0.02에서 $0.20까지 10배 폭이 있다 (OpenAI $0.02, Gemini $0.20, 둘 다 2026-08-24 조회). 이 글은 하단을 썼고, 이는 임베딩 항을 작게 만들어 문턱을 낮추는, 즉 전체 재색인 쪽에 유리한 방향이다. 상단 단가의 결과는 민감도 표에 있다.

핵심

같은 레코드를 쓰는 값이 셋이다. Pinecone 문서는 upsert가 "An upsert request uses 1 WU for each 1 KB of the request, with a minimum of 5 WUs per request"이고, 기존 레코드를 수정할 때는 "the request uses 1 WU for each 1 KB of the existing record as well"이라고 적는다.

그래서 빈 네임스페이스에 넣으면 8.192 WU, 기존 레코드를 갈아 끼우면 16.384 WU다. 대량 적재로 넣으면 $0.25/GB가 적용되어 레코드당 0.512 WU에 해당하는 값이다(WU 단가 $4.00 기준). 전체 재색인은 요금제가 대량 적재를 지원하면 셋 중 아무거나 고를 수 있고, 증분 색인은 대량 적재만 쓸 수 없어 위 두 단가 중 하나를 쓴다. 문서가 늘기만 하는 파이프라인이 8.192 WU 쪽이고 민감도 표에 그 두 행이 있다.

그 1 KB이 몇 바이트인지는 문서가 문장으로 밝히지 않는다. 문서의 upsert 예시 표가 밝힌다. 그 표 다섯 행의 "평균 레코드 크기"(서로 다른 값 넷)가 전부 10진에서만 맞는다. 1024차원에 메타데이터 15,000 B인 행은 레코드가 1024 × 4 B + 15,000 B = 19,096 B이고, 19,096 ÷ 1,000 = 19.096이 표의 19.10 KB가 된다. 2진이면 18.648이라 18.65 KB로 적혔을 것이다. 같은 행의 WU가 10 × 19.10 = 191로 정확히 맞으므로 레코드당 올림도 하지 않는다. (Pinecone 비용 문서, 2026-08-25 조회)

같은 변경률에서도 파싱 캐시와 적재 경로가 답을 뒤집는다

Pinecone 문서는 “You can’t import data into an existing namespace”라고 적는다 (적재 문서, 2026-08-24 조회). 대량 적재는 빈 네임스페이스에만 들어간다. 새 네임스페이스에 전부 적재한 뒤 애플리케이션이 읽는 대상을 바꾸는 전체 재색인은 이 경로를 쓸 수 있고, 기존 네임스페이스의 일부 레코드를 갈아 끼우는 증분 색인은 쓸 수 없다.

두 방식은 같은 일을 양만 다르게 하는 것이 아니라 서로 다른 단가를 쓴다. 증분이 아끼는 것은 양이고 전체 재색인이 아끼는 것은 단가다.

q를 한 번의 실행에서 다시 쓰는 청크의 비율로 두면 경우가 셋이다.

경우전체 재색인 1회증분 계수문턱 q*언제 이 경우인가
1 대량 적재 가능$12.288$75.77616.22%파싱 캐시가 있고 요금제가 대량 적재를 지원한다. 임베딩 캐시는 없다
2 대량 적재 불가$43.008$75.77656.76%파싱 캐시는 있으나 빈 네임스페이스에 신규 쓰기($32.768 + 임베딩 $10.240)까지만 된다
3 파싱 캐시 없음$1,356.288$1,419.77695.53%매 실행마다 원본 문서를 다시 파싱한다. 파싱 월 100만 페이지 이하 구간

단위는 청크 100만 개당 달러다. 증분 계수는 q를 곱하면 증분 1회 비용이 되는 값이다. 같은 코퍼스, 같은 변경률에서 세 조직이 이 표의 세 행에 흩어지고, 문턱이 5.89배 벌어진다. 임베딩 캐시가 있는 조직은 전체 재색인 1회가 q에 의존해 이 표 밖이고, 그 문턱은 다음 절이 유도한다.

$0 $10 $20 $30 $40 $50 0% 10% 20% 30% 40% 50% 60% 전체 재색인 · 신규 쓰기 $43.008 56.76% 전체 재색인 · 대량 적재 $12.288 16.22% 증분 · 덮어쓰기 재작성 청크 비율
16.22%와 56.76%는 같은 증분 선이 서로 다른 적재 경로와 만나는 자리다. 전체 재색인 선 둘이 수평인 것은 서랍장을 새로 채우는 값이 바뀐 카드 수와 무관하기 때문이다.

경우 3의 문턱은 파싱 단가 구간과 청킹 전제에 따라 움직인다. 월 100만 페이지 이하 구간에서 T를 300에서 1,200 사이로 흔들면 90.01%에서 97.26%, 초과 구간 $0.60/1,000에서는 78.82%에서 93.47%다. V를 128로 늘리면 T = 500 기준 94.83%이고, T = 1,200과 초과 구간을 함께 쓰면 76.29%까지 내려간다. q가 그 최저값 76.29% 아래인 조직이라면 어느 값이든 증분이 이긴다는 결론이 같고, 그 위라면 자기 T·V로 다시 내야 한다.

함정

문서 변경률을 재기 전에 창고부터 확인해야 한다. 필경사를 매번 다시 부르는 조직은 문턱이 파싱 단가 구간과 T·V에 따라 위 범위로 올라간다. 아무리 낮아도 76.29%이므로 재작성 비율이 그 아래면 증분이 이긴다. "증분 색인이 필요하다"는 결론이 나오지만 실제로 필요한 것은 파싱 캐시다.

파싱 캐시는 원본의 해시를 키로 파싱 결과를 저장하고 해시가 같으면 건너뛰는 것이 전부다. 증분 파이프라인은 변경 감지, 청크 차분, 삭제 전파, 고아 정리를 함께 만들어야 한다. 두 공수의 1차 통계를 확보하지 못해 이 글은 배수를 제시하지 않는다. 값은 확실하다. 파싱 캐시 하나가 전체 재색인 1회를 $1,356.288에서 $12.288로 내린다.

민감도 열 행이 모두 비율 셋 하나로 닫힌다

카드 크기와 서랍 값, 좌표 값을 하나씩 바꿔 본다. 기준은 경우 1의 16.22%다.

바꾼 값새 q*기준 대비이 방향이 뜻하는 것
배치 API로 임베딩 (50% 할인, 양쪽 적용)10.14%−6.07%p임베딩이 싸질수록 쓰기 비중이 커져 전체 재색인이 유리해진다
청크 크기 C = 25610.14%−6.07%p청크가 작을수록 청크당 임베딩이 싸진다. 배치와 같은 축이라 값이 겹친다
WU 단가 상단 $4.5014.63%−1.58%p덮어쓰기가 비싸질수록 증분이 불리해진다
1 KB = 1,024 B 규약16.55%+0.34%p문서의 계산 예시가 10진이라 쓰지 않은 규약이다
메타데이터 없이 벡터만 (6,144 B)19.83%+3.61%p레코드가 가벼울수록 쓰기 비중이 줄어 증분이 유리해진다
증분 쓰기의 절반이 신규 쓰기20.69%+4.47%p신규 쓰기는 절반 값이라 증분 계수가 내려간다
청크 크기 C = 102426.19%+9.97%p청크가 클수록 청크당 임베딩이 비싸진다
증분 쓰기가 전부 신규 쓰기28.57%+12.36%p문서가 늘기만 하는 파이프라인이 여기다
임베딩 $0.13/1M (3-large, 3072차원)38.70%+22.48%p임베딩이 비싸질수록 증분이 유리해진다
임베딩 $0.20/1M (차원 1536 유지)62.20%+45.98%p같은 축의 극단

WU 상단 $4.50은 Pinecone 가격에, 3-large $0.13/1M은 OpenAI 가격에 있고 둘 다 2026-08-24 조회다.

표를 위아래로 가르는 것은 임베딩이 쓰기 대비 얼마나 비싸냐 하나다. 아래 닫힌 형 콜아웃의 ρ가 그 값이고, 표의 열 개 행이 전부 π를 0으로 고정하고 ρ와 c만 움직인 결과다. WU 단가와 신규 쓰기 비중을 바꾼 세 행과 KB 규약 행은 정규화 분모인 증분 쓰기비 자체가 바뀌므로 ρ와 c가 함께 이동한다.

임베딩 캐시를 붙이면 ρ가 식에서 빠져 이 표가 10.1462.20%에서 2.786.25%로 접힌다(아래 닫힌 형 콜아웃이 유도한다). 열 행 중 여섯 행이 3.125% 한 점으로 모이고, 남는 넷은 c 자체를 바꾸는 행들이다. 메타데이터를 뺀 행은 분모가 바뀌어도 적재비가 같은 비율로 줄어 c가 그대로라 여섯 행 쪽에 남는다.

배치 API는 전체 재색인과 증분 양쪽에 똑같이 적용된다. OpenAI 배치 문서(2026-08-25 조회)는 /v1/embeddings가 배치를 지원하고 할인이 “50% cost discount compared to synchronous APIs”라고 적는다. 임베딩 모델의 배치 단가 행은 가격표에 없어서 이 행의 근거는 그 문구 하나다.

완료 창이 24시간 고정이므로 신선도 요구가 하루보다 짧으면 양쪽 다 못 쓴다.

민감도 표는 레버를 하나씩만 움직인 것이다. 겹치면 표 밖으로 나간다. 배치와 C = 256을 함께 쓰면 6.77%다.

문턱을 올리는 것이 임베딩 단가라면 상금도 같이 오른다. 전체 재색인 1회가 회당 절감의 상한이므로, 임베딩 $0.20을 쓰는 조직은 문턱이 62.20%로 높은 대신 상한이 $104.448/100만 청크로 기준의 8.5배다. 문턱 아래에 있기 쉽고 버는 것도 크다. 레코드를 가볍게 해 문턱을 올린 조직은 반대로 상한이 내려간다.

임베딩 캐시를 붙이면 이 상금도 무너진다. 회당 절감의 상한이 (c + ρ)에서 c로 내려가 기준 구성에서 6분의 1이 되고, 임베딩 단가로 상금을 키우는 길이 사라진다.

핵심

문턱은 비율 셋으로 닫힌다. 셋 다 헌 카드를 갈아 끼우는 값을 1로 놓고 잰다.

q* = (π + c + ρ) / (π + 1 + ρ)

증분 쓰기비 = 실제 증분 쓰기 비용 기준 구성(전부 덮어쓰기)에서 레코드당 $0.000065536 π = 파싱비 ÷ 증분 쓰기비 캐시가 있으면 0, 기준 구성에서 없으면 20.51 c = 전체 재색인 쓰기비 ÷ 증분 쓰기비 대량 적재 0.03125, 신규 쓰기 0.5, 제자리뿐이면 1 ρ = 임베딩비 ÷ 증분 쓰기비 (청크 토큰 × 임베딩 단가) ÷ 증분 쓰기비, 기준 0.15625

기준값을 넣으면 (0 + 0.03125 + 0.15625) ÷ (0 + 1 + 0.15625) = 16.22%다. 민감도 표 열 개 행과 경우 표 세 행이 전부 이 식의 한 점이다. 전제표의 C와 메타데이터 크기는 ρ 안으로 들어가고, T와 V는 π 안에만 남는다. 파싱 캐시가 있어 π가 0이면 문턱에서 아예 사라진다.

π와 c가 함께 문턱의 하한 (π + c) ÷ (π + 1)을 정하고 ρ가 그 하한에서 100% 쪽으로 끌어올린다. 파싱 캐시가 있으면 하한이 c이고, 기준 단가에 대량 적재면 3.125%다(WU 단가 $4.50이면 2.78%). ρ가 분자·분모에 함께 있는 이 식에서는 임베딩이 아무리 비싸도 100%를 못 넘는다.

하한 c에 닿는 길이 둘이다. 임베딩이 공짜이거나, 이미 좌표를 적어 둔 카드에 좌표를 다시 적지 않는 것이다. 뒤쪽이 임베딩 캐시이고, 전체 재색인의 임베딩 항이 ρ에서 ρq로 줄어 π + c + ρq = q(π + 1 + ρ)의 교차, 즉 q* = (π + c) ÷ (π + 1)이 된다. 파싱 캐시가 있으면 π가 0이라 그 값이 그대로 c이고 기준 구성에서 3.125%다. 경우 표 세 행에 넣으면 3.125%·50.00%·95.50%다.

파싱 결과를 창고에 두는 조직이 좌표를 버릴 이유는 없고, 이 글의 16.22%는 버리는 전제 위에 있다. 캐시 키에는 청크 텍스트만이 아니라 임베딩 모델·차원·청킹 파라미터를 넣어야 한다. 텍스트만 키로 쓰면 모델을 바꿀 때 낡은 벡터를 조용히 낸다.

대량 적재의 c = 0.03125는 레코드 크기와 벡터 차원에 정확히 무관하다. 적재비와 증분 쓰기비가 둘 다 레코드 바이트에 비례해 약분되고 (0.25 ÷ 10⁹) ÷ (2 × 4 ÷ 10⁶ ÷ 1,000)만 남는다. 그래서 3072차원으로 바꿔도 0.03125다.

셋 다 벤더 가격표에서 나온다. 청구서로 대신할 수 있는 것은 ρ와 π뿐이고, 그것도 지금 증분 색인을 덮어쓰기로 돌리고 있을 때만 임베딩 지출 ÷ 벡터 DB 쓰기 지출이 ρ가 된다. 전체 재색인을 대량 적재로 돌리는 조직이 그 비를 그대로 쓰면 ρ가 32배 부풀어 문턱이 16.22% 대신 83.85%로 나온다. 이 글의 대상 독자는 아직 증분을 안 돌리고 있으므로 기본은 가격표다.

재야 하는 것은 문서 변경률이 아니라 재작성 청크 비율이다

책 앞에 한 문장을 끼우면 그 뒤 카드가 전부 밀린다. 고정 크기 청킹에서는 텍스트가 같아도 청크 경계가 밀려 임베딩과 쓰기가 다시 일어난다. 한 글자를 고쳐도 그 문서의 절반이 새 청크가 되는 것이 정상 동작이다. 그래서 r과 q는 같은 값이 아니다.

파이프라인문서 한 곳이 바뀌면 다시 쓰는 청크qr* (경우 1·임베딩 캐시 없음, q* = 16.22%)r* (경우 1·임베딩 캐시, q* = 3.125%)
문서 단위 증분그 문서의 P 청크 전부q = r16.22%3.125%
고정 크기 청킹 + 청크 단위 증분수정 지점 이후 전부, 위치가 고르면 평균 (P+1)/2q ≈ r/2 (P가 클 때)32.43% (P → ∞. P = 10이면 29.48%)6.25% (P → ∞. P = 10이면 5.68%)
콘텐츠 정의 청킹 + 청크 단위 증분경계가 내용으로 정해져 앞뒤 k개만q ≈ r × k/P81.08%15.625%

둘째 행의 괄호 값과 셋째 행은 P = 10으로, 셋째 행의 k는 2로 계산했다. r은 한 번의 실행 사이에 바뀌는 문서의 비율, P는 문서당 청크 수, k는 수정 지점 앞뒤로 다시 쓰이는 청크 수다. 같은 조직이 같은 변경률에서 어느 파이프라인을 쓰느냐에 따라 r* 문턱이 5배 벌어진다. r는 자기 q에 각각 1배, 2P/(P+1)배, P/k배이므로 오른쪽 두 열 말고 다른 조합이면 자기 q*를 그 배수에 넣는다.

청킹 방식을 바꾸는 것은 경계가 전부 옮겨지는 일이라 코퍼스 전체 재임베딩 한 번, 즉 전체 재색인 1회 비용과 구현 공수를 먼저 낸다.

세 행의 q 순서는 P가 정한다. 콘텐츠 정의의 r × k/P가 고정 크기의 r(P+1)/(2P)보다 낮아지는 것은 P > 2k − 1일 때뿐이다. 콘텐츠 정의 행에서 증분이 이길 조건은 P > k × r ÷ q이고, 경우 1에서 k = 2면 r = 35%일 때 문서당 청크가 4.32개를 넘어야 하고, 임베딩 캐시가 있으면 22.4개를 넘어야 한다. r을 100%로 놓으면 조건이 P > k ÷ q로 줄어, 경우 1·캐시 없음·k = 2에서 문서당 청크가 12.33개를 넘는 조직은 어떤 문서 변경률에서도 증분이 이긴다. 그 조직은 q도 r도 재지 않는다.

고정 크기 행은 q가 r/2 아래로 못 가므로 r이 표의 32.43%(임베딩 캐시가 있으면 6.25%)를 넘으면 P가 얼마든 q가 문턱 위에 남는다. k와 P는 청킹 구현이 정하므로 표와 앞 문단의 두 q 식 r(P+1)/(2P)와 r × k/P에 자기 값을 다 넣어 낮은 쪽을 쓴다.

함정

q는 한 번의 실행 기준이고 조직이 세는 문서 변경률은 하루 기준이다. 색인을 하루 한 번 돌리면 두 값의 시간 단위가 같지만, 한 시간에 한 번 돌리면 실행 기준 r이 하루 변경률의 24분의 1이고, 문서 단위 증분이면 그것이 곧 q다. 변경이 시간에 고르게 흩어질 때 그렇고, 같은 문서가 하루에 여러 번 바뀌면 그보다 커서 증분에 유리한 쪽으로 어긋난다. 이 환산을 빼먹으면 증분 비용을 24배 과대계상한다.

이미 증분을 돌리고 있으면 추정하지 말고 로그에서 센다. 한 번의 실행에서 벡터 DB에 쓴 레코드 수를 전체 레코드 수로 나누면 그것이 q다. 아직 전체 재색인만 돌리는 조직은 그 비가 100%로 나오므로 문서 변경률을 재서 하루 실행 횟수로 나눈 뒤 r → q 표로 환산하고, 증분을 켠 뒤 이 역산으로 검증한다. Pinecone 청구서로 역산한다면 기간 WU 총량을 (레코드 크기 KB × 2 × 전체 레코드 수 × 기간 내 실행 횟수)로 나눈다. 실행 횟수를 빠뜨리면 한 달치가 한 번치로 잡혀 q가 실행 횟수만큼 부풀고, 문턱 아래인 조직이 문턱 위로 보인다.

이 역산의 × 2는 덮어쓰기 16.384 WU를 전제한다. 신규 쓰기는 절반 값이라 신규 비중이 높으면 q가 과소 추정되고, 부분 갱신이 10.24 WU로 과금되는 조직도 같은 방향으로 0.625배 과소 추정된다. 그 조직은 자기 문턱도 메타데이터 강등 없이 24.00%로(임베딩 캐시까지 있으면 5.00%로) 함께 움직이는데, 실제 q 25%를 15.6%로 읽어 문턱 아래로 오판한다.

문서 단위 증분을 유지한 채 카드를 자르는 방식만 바꾸면 q는 r 아래로 내려가지 않는다. r이 이미 그 파이프라인의 r*를 넘었다면 증분 단위를 청크로 내리는 것까지 함께 해야 하고, 그것으로도 충분한지는 문서당 청크 수가 정한다.

제자리 쓰기만 되는 DB에서는 문턱이 100%로 올라간다

여기까지의 값은 Pinecone 가격표 위에 있다. 전체 재색인은 대량 적재를 못 쓰더라도 빈 네임스페이스 신규 쓰기를 쓸 수 있어 경우 2의 문턱 56.76%가 남고, 문턱이 정말 사라지는 것은 빈 서랍장을 새로 들이는 것 자체가 불가능해 반드시 제자리에 써야 하는 DB뿐이다. 그때 두 값이 $75.776으로 같아진다.

Pinecone 안에서도 이 조건이 갈린다. 대량 적재는 Standard 이상 요금제 전용이고 Standard는 “$50/month min. usage”를 요구한다(Pinecone 가격, 2026-08-24 조회).

대량 적재가 버는 값은 청크 100만 개당 $43.008 − $12.288 = $30.720이다.

최소 사용액은 추가로 내는 값이 아니라 바닥이다. 경계 둘이 구간을 셋으로 가른다. 연간 재색인 청크 1,831만 개 아래면 대량 적재를 써도 청구서가 같고, 2억 9,297만 개 위면 $30.720/100만 청크가 전액 나타난다. 그 사이 구간의 조직이 전액을 대입하면 절감을 과대 추정한다.

이 글의 모델은 쓰기를 종량으로 과금하는 관리형 벡터 DB를 전제한다. pgvector나 자체 운영 Qdrant처럼 쓰기 단가가 없는 구성에서는 c가 정의되지 않고, 비교 축이 인스턴스 비용과 운영 공수로 바뀐다.

완주 시간을 먼저 재지만 임베딩 벽은 캐시가 옮긴다

좌표를 적는 기계는 시간당 처리량에 상한이 있다.

OpenAI의 text-embedding-3-small은 사용 티어별로 분당 토큰 수가 정해져 있다 (모델 문서, 2026-08-24 조회). 페이지당 임베딩 토큰이 571.4286이므로 이 상한을 페이지로 환산할 수 있다.

티어TPM시간당 페이지연간 전체 재색인 지출의 상한 (경우 1·임베딩 캐시 없음)
Tier 1·21,000,000105,000$12,614
Tier 3·45,000,000525,000$63,072
Tier 510,000,0001,050,000$126,144

매 실행 전량을 임베딩한다면 가장 높은 티어에서도 1시간 신선도 요구를 전체 재색인으로 맞출 수 있는 코퍼스는 105만 페이지가 끝이다. 그 위에서는 예산을 얼마를 쓰든 주기를 못 맞춘다.

마지막 열은 임베딩 기계를 1년 내내 쉬지 않고 돌렸을 때의 전체 재색인 청구서다. 전체 재색인 1회 비용은 청크 수에 비례하고 완주 시간도 청크 수에 비례하므로, 연간 실행 횟수를 곱하면 청크 수가 약분된다. 그래서 이 상한은 코퍼스 크기와 무관하고 티어와 경우로 정해진다. 증분이 공짜여도 연간 절감이 이 값을 넘을 수 없으므로, 이것이 증분 파이프라인 구축비를 재는 첫 잣대다.

이 표는 전체 재색인이 매 실행 전량을 임베딩한다는 전제 위에 있다. 임베딩 캐시가 있으면 이 상한이 정의되지 않는다. 청크 수가 분자와 분모에서 약분되던 것이 깨져 상한이 c ÷ q + ρ에 비례하고, q가 작아질수록 발산하기 때문이다.

잣대를 대면 한 구간이 닫힌다. 임베딩 캐시가 없는 Tier 1·2·경우 1 조직이면 연간 절감이 어떤 코퍼스에서도 $12,614를 못 넘고, 거기서 나오는 것은 문턱이 아니라 공수 예산이다.

허용 구축 공수 M = (S의 상한 − m × W) × 목표 회수 연수 ÷ W

상한이 겹으로 있다. 티어 상한은 임베딩을 1년 내내 돌린 값이라 어느 코퍼스의 연간 전체 재색인 비용도 그 아래이고 S는 다시 그 아래다. 자기 조직의 공수 예산을 낼 때는 더 좁은 쪽, 즉 자기 연간 전체 재색인 비용을 넣는다(뒤의 순서표 5번이 그 값이다). 코퍼스와 무관한 결론을 낼 때만 티어 상한을 쓴다. 아래가 후자다.

Tier 1·2·경우 1의 티어 상한에 유지 공수 m = 12인일, 인건비 W = $500/인일을 넣으면 4년 회수 기준 52.9인일, 3년 기준 39.7인일이다. 유지 12인일과 W = $500/인일, 그리고 아래의 구축 60인일은 뒤의 예시 B에서 가져왔다. Tier 1·2는 예시 B(Tier 5)가 아니라 이 계산에만 두는 가정이다.

상한은 상한이므로 임베딩 기계를 1년 내내 돌리지 않는 조직, 즉 실제 연간 전체 재색인 지출이 그보다 적은 조직은 절감도 더 작고 결론이 더 강해진다. 임베딩 캐시가 없는 Tier 1·2·경우 1 조직이라면 예시 B의 유지 12인일·W = $500/인일 기준으로 코퍼스가 얼마든 q가 0이어도 그 구축 60인일을 4년 안에 회수하지 못한다. 티어를 올리거나 구축 범위를 52.9인일 안으로 줄이는 것이 q를 재는 것보다 먼저다.

캐시가 있으면 앞서 적은 대로 이 상한이 정의되지 않으므로 자기 연간 전체 재색인 비용을 넣는다.

값 자체는 경우 1 단가($12.288/100만 청크) 기준이다. 경우 2면 3.500배, 경우 3이면 44.8배 (Tier 5)에서 45.6배(Tier 1·2)다. 경우 표의 $1,356.288을 그대로 나눈 110.375배가 아닌 이유는 이 상한이 임베딩을 1년 내내 돌리는 물량이라 파싱이 월 7,665만 페이지를 넘어 98.7% 이상이 $0.60/1,000 구간에 들어가기 때문이다. 첫 100만 페이지가 $1.50에 남아 실효 단가가 티어마다 갈린다. 자기 경우의 전체 재색인 1회 비용에 (525,600 ÷ 완주 시간 분)을 곱하면 자기 상한이 나온다.

0 60 120 180 240 300 360 0만 50만 100만 150만 200만 250만 300만 1시간 신선도 요구 105.0만 Tier 5 (10M TPM) 52.5만 Tier 3·4 (5M TPM) 10.5만 Tier 1·2 (1M TPM) 코퍼스 (페이지)
Tier 1·2는 10.5만 페이지에서 이미 1시간을 넘긴다. 좌표 적는 기계를 더 빠른 것으로 바꿔 사는 코퍼스는 정확히 TPM 배수만큼이라, 티어로는 한 자리 이상 못 늘린다.

함정

완주 시간이 신선도 주기보다 길면 그 주기로 전체 재색인을 돌릴 수 없다. 먼저 볼 것은 임베딩 캐시다. 캐시가 있으면 임베딩 시간이 q배로 줄어 벽이 옮겨진다.

캐시로도 넘는다면 임베딩 축을 먼저 본다. 증분은 여기서 지렛대가 아니다. 증분도 바뀐 청크를 임베딩하므로 캐시형 전체 재색인보다 짧아지지 않는다. 남는 것은 티어를 올리거나(Tier 5가 표의 끝이다) 신선도 요구를 늦추거나 청크를 키우는 것인데, 청크는 겹침 비중만 줄이므로 페이지당 571.4286토큰이 500토큰으로 가는 12.5%가 상한이다. 변동 필드를 메타데이터로 강등하는 길은 예시 C가 끝까지 계산한다. 요구를 늦추면 색인이 얼마나 낡는지가 그 대가다.

임베딩 축이 주기 안에 들어온 뒤에야 쓰기 축이 열린다. 두 축은 배타가 아니고, 임베딩만으로 이미 넘으면 쓰기를 줄여도 못 넘는다. 쓰기 축에서는 두 방식이 비대칭이다. 전체 재색인은 전량을 쓰고(예시 B에서 27.429 GB) 증분은 바뀐 레코드만 쓰므로(0.0034 GB) 양이 q배로 줄어, 그 벽을 옮기는 주된 지렛대가 증분이다. 메타데이터를 빼면 레코드가 8,192 B에서 6,144 B로 줄어 양이 25% 더 준다.

다만 양의 비가 시간의 비가 되는 것은 양쪽이 같은 API를 쓰는 경우 2뿐이다. 경우 1은 전체 재색인이 비동기 대량 적재이고 증분이 upsert다. 이 글은 그 시간을 0으로 두었으므로 어느 축이 구속하는지는 자기 파이프라인에서 재야 정해진다.

티어 표는 임베딩 시간만 센 것이라 낙관적이다. 실제로는 파싱 캐시 조회, 대량 적재 파일 생성, 적재 자체의 시간이 그 위에 얹힌다. Pinecone 문서에 적재 소요 시간의 기준값이 없어 이 글은 그 항을 0으로 두었다. 경계 근처라면 자기 파이프라인으로 한 번 재봐야 한다.

세 조직 중 둘은 만들지 않고, 그 둘의 이유가 다르다

문턱을 넘는지와 파이프라인을 만들지는 다른 질문이다. 앞의 것은 비율의 문제이고 뒤의 것은 절대액의 문제다. 카드 몇 장을 아끼느냐가 아니라 그 돈이 사람 하나를 붙일 값이 되느냐다. 먼저 볼 것은 문턱이 아니라 연간 절감액이다.

항목A 사내 위키B 규제 문서 아카이브C 상품 카탈로그
원문Markdown스캔 PDF (파싱 캐시 보유)상품 설명 (파싱 없음)
페이지72,0003,000,000400,000
청크80,3573,348,214446,429
신선도 요구하루1시간하루
문서 변경률하루 2%하루 0.3%하루 35%
실행당 q (문서 단위 증분)2%0.0125%35%
문턱 16.22% 대비아래아래위
완주 시간41.14분 (Tier 1·2)171.43분 (Tier 5)228.57분 (Tier 1·2)
신선도 요구 안에 끝나는가끝난다못 끝낸다끝난다
연간 실행 (전체 / 증분)365 / 3652,920 / 8,760365 / 365
전체 재색인 1회$0.987$41.143$5.486
증분 1회$0.122$0.032$11.840
연간 전체 재색인 (사용량)$360.41$120,137.13$2,002.29
연간 증분 (사용량)$44.45$277.82$4,321.60
사용량 배수증분이 8.11배 싸다증분이 432.43배 싸다증분이 2.16배 비싸다
최소 사용액 반영 후 연간 절감 (색인 쓰기 기준, 임베딩 캐시 없음)$294.34$119,499.59−$2,053.03

B는 임베딩 캐시가 없을 때 완주 시간이 171.43분이라 전체 재색인의 최단 주기가 3시간이고, 증분은 요구대로 1시간마다 돈다. 두 방식의 실행 횟수가 다르므로 사용량 배수 432.43이 문턱 ÷ q와 일치하지 않는다. 같은 주기로 돌 때만 그 둘이 같아진다.

마지막 행이 실제 청구서다. Pinecone 최소 사용액 연 $600은 벡터 DB 쪽 지출에만 걸리고 임베딩 청구서에는 걸리지 않는다. A는 두 방식 모두 벡터 DB 지출이 그 아래라 차액 $21.62가 사라지고, B는 증분 쪽만 아래라 절감이 $359.73 줄고, C는 전체 재색인 쪽만 아래라 그쪽 청구서가 올라 손해가 $266.29 작아진다.

회수는 이 식으로 낸다.

회수 일수 = 구축 공수 M × W ÷ (연간 절감 S − 유지 공수 m × W) × 365

M은 구축 공수, m은 유지 공수, W는 엔지니어 1인일 인건비다. 앞 절의 허용 구축 공수 식을 회수 일수로 다시 쓴 것이 이 식이다. 셋 다 1차 통계를 확보하지 못해 파라미터로 둔다. 아래 예시가 쓰는 값은 가정이다. 존재 조건은 S > m × W이고, 이것이 만족되지 않으면 회수 일수는 음수이거나 무한대가 된다.

q를 아직 안 쟀다면 S 대신 연간 전체 재색인 비용을 넣는다. 증분 비용이 0 이상이므로 그 값이 S의 상한이고, 상한으로도 회수가 안 되면 q를 잴 필요가 없다.

예시 A — 사내 위키

연간 전체 재색인이 $360.41이고 유지 공수 2인일(W = $400/인일)이 $800이다. S의 상한이 유지비 아래라 순서표 5번에서 판단이 끝나고, 문턱도 q도 재지 않는다. Standard 요금제라 대량 적재를 쓸 수 있고 원문이 Markdown이라 파싱이 없으므로 경우 1이다. 연간 재색인 청크 2,933만 개는 최소 사용액 경계 1,831만과 2억 9,297만 사이라 대량 적재가 전체 재색인 청구서를 전액 $901.03이 아니라 $361.10만 내린다.

q 2%로 계산하면 이렇게 나온다. 서랍 값과 좌표 값을 갈라야 청구서가 나온다. 전체 재색인은 Pinecone $60.07 + OpenAI $300.34, 증분은 Pinecone $38.44 + OpenAI $6.01이다. Pinecone 쪽은 두 방식 모두 최소 사용액 연 $600 아래라 전체 재색인과 증분의 차액 $21.62가 청구서에 나타나지 않는다. 남는 절감은 임베딩 쪽 $294.34뿐이고 유지비 $800에 못 미친다. 구축 공수는 계산에 들어가지도 않는다.

그 $294.34는 증분 없이도 받는다. 전체 재색인이 안 바뀐 청크의 벡터를 재사용하면 임베딩이 $300.34에서 $6.01로 줄어 청구서가 $606.01이 되고, 증분을 만들었을 때와 같은 값이다. 이 조직에서 증분 파이프라인이 버는 것은 임베딩 캐시가 이미 버는 것뿐이다.

대량 적재를 포기하면 이 조직은 경우 2가 되고 c가 0.5로 올라가 문턱이 56.76%가 된다. 전체 재색인 청구서가 $1,261.44로 오르고 증분은 $606.01 그대로여서 절감이 $655.43이 된다(임베딩 캐시를 붙이면 $967.10 대 $606.01로 $361.10이다). 대량 적재를 쓸 때의 $294.34보다 두 배 크지만 유지비 $800에는 여전히 못 미친다. 경로가 바뀌면 문턱도 절감도 바뀌는데 답만 그대로다.

판단: 매일 전체 재색인하고, 캐시의 연 유지비가 q 2%를 반영한 절감 $294.34 아래라면 (W = $400/인일로 약 0.74인일) 청크 해시로 임베딩 캐시를 붙인다. 다만 캐시도 만드는 데 공수가 드므로, 구축 2인일이면 유지가 0이어도 회수가 2.72년이다. 증분 파이프라인은 만들지 않는다.

예시 B — 규제 문서 아카이브

완주 시간 171.43분이 1시간 요구를 넘는다. 임베딩 캐시가 없는 전제에서 나온 값이고, 캐시를 붙이면 임베딩 시간이 0.02분으로 줄어 임베딩 쪽 벽은 사라진다(적재 시간은 완주 시간 함정에 적은 대로 0으로 둔 값이다). 그러니 이 조직을 막는 것은 시간이 아니라 돈이다. 임베딩 캐시를 붙인 전체 재색인을 요구대로 매시 돌리면 적재비가 그대로 남아 연 $60,106.11(Pinecone $60,068.57 + OpenAI $37.54)이고 증분은 최소 사용액 바닥을 적용한 청구서로 $637.54다. 94배다.

표의 절감 $119,499.59는 임베딩 캐시를 붙이기 전, 실현 가능한 3시간 주기를 기준선으로 둔 값이다. Tier 5 상한 $126,144의 94.73%로 천장에 붙어 있다는 것도 그 세계의 이야기다.

최선의 대안과 비교하면 절감이 줄어든다. 캐시를 붙인 전체 재색인은 요구대로 매시 돌 수 있어 연 $60,106.11이고, 증분에 주 1회 캐시형 전체 재색인을 얹은 청구서는 $637.77이다. 절감이 $59,468.34, 회수가 205일이다. 회수가 두 배로 늘지만 절감이 유지비 $6,000의 아홉 배를 넘어 답은 그대로다. 증분을 만드는 답은 어느 기준선에서도 같고, 바뀌는 것은 그 답이 얼마를 버는지다.

임자 없는 카드, 즉 고아 벡터가 서랍에 남는 것은 주 1회 서랍장을 통째로 갈아 지운다. 연 52회 × $41.1429 = $2,139.43이고 주 1회를 얹기 전 절감 $119,499.59의 1.79%다. 증분과 전체 재색인 중 하나를 고르는 문제가 아니므로 이 값을 증분 쪽에 얹어 청구서를 다시 낸다. 그중 Pinecone분 $356.57은 증분 쪽 지출을 $596.85로 올릴 뿐 최소 사용액 $600을 못 넘어 청구서에 나타나지 않는다.

회수 = 30,000 ÷ (117,716.73 − 6,000) × 365 =  98.0일   캐시 전·3시간 기준선
       30,000 ÷ ( 59,468.34 − 6,000) × 365 = 205일     캐시형 매시 (최선의 대안)
       구축 60인일   절감(주 1회 전체 재색인 포함)   유지 12인일, W = $500/인일

판단: 임베딩 캐시를 붙여도 돈이 94배라 증분을 만든다. 주 1회 전체 재색인을 함께 돌린다.

예시 C — 상품 카탈로그

Standard 요금제다. 가격과 재고가 본문에 들어가는 카탈로그라 하루에 35%가 바뀐다. q 35%는 문턱 16.22%의 2.16배다.

증분을 쓰면 연 $4,321.60, 전체 재색인과 대량 적재로 가면 연 $2,002.29이다. 최소 사용액을 반영한 청구서로도 증분이 매년 $2,053.03을 더 낸다.

변동 필드를 임베딩 대상에서 빼 메타데이터로 내리면 본문이 안 바뀌어 재임베딩이 사라지고 증분은 쓰기만 남는다. 대가는 달러가 아니다. 강등한 필드는 벡터 검색에서 사라지고 메타데이터 필터로만 잡히므로, 가격이나 재고가 질의에 쓰이면 검색 품질이 값을 치른다. 그러면 ρ가 분모에서 빠져 분자에만 남으므로 문턱이 (0.03125 + 0.15625) ÷ 1 = 18.75%로 올라간다. q 35%는 여전히 그 위다.

얼마나 위인지는 Pinecone `update`의 과금 기준에 달렸다. 문서는 "1 WU for each 1 KB of the new and existing record"라고 적는데([Pinecone 비용 문서](https://docs.pinecone.io/guides/manage-cost/understanding-cost), 2026-08-25 조회), 갱신 후 레코드 전체(8.192 KB)를 새 레코드로 읽으면 덮어쓰기와 같은 16.384 WU이고 증분이 연 $3,737.60으로 전체 재색인 $2,268.57보다 $1,469.03 비싸다. 보낸 메타데이터(2.048 KB)만 새 것으로 읽으면 10.24 WU다. 그때는 정규화 분모가 $40.96/100만 청크로 바뀌어 c = 0.05, ρ = 0.25이고 문턱이 30.00%로 오르며, 증분이 $2,336.00으로 차이가 $67.43까지 줄어든다. 두 읽기 모두 증분이 비싸지만 크기가 22배 갈린다.

증분 단위를 청크로 내려 q를 낮추는 길도 막혀 있다. 상품 20만 개에 청크가 446,429개, 상품당 2.232개다. 고정 크기 청킹에서 수정 지점 이후를 다시 쓰면 평균 (P+1)/2 = 1.616청크라 q가 25.34%이고, 콘텐츠 정의 청킹으로 바꿔도 경계 앞뒤 2개가 상품의 89.6%라 35% × 2 ÷ 2.232 = 31.36%다. 둘 다 문턱 위다.

r → q 표는 콘텐츠 정의 청킹이 더 유리하다고 했는데 여기서는 반대로 나온다. 그 표의 k/P는 P가 2k − 1을 넘을 때의 식이고, 상품당 청크가 2.232개면 "앞뒤 2개"가 문서 전체와 다름없기 때문이다. 문서가 짧으면 증분 단위를 내려도 줄어들 여지가 없다.

끄기 전에 지연 편익을 재야 한다. 전체 재색인 완주가 228.57분이라 끄면 색인이 최대 하루 낡는다. 가격과 재고가 도는 카탈로그에서 그것이 견딜 만한지가 연 $2,053.03과 맞바꿀 값이다.

판단: 매일 전체 재색인하고 대량 적재로 서랍장을 통째로 들여온다. 메타데이터로 강등해 문턱을 18.75%나 30.00%로 올려도 q 35%는 그 위여서 순서표 6번이 그대로 적용된다. 증분이 더 내는 값은 싼 쪽 읽기에서도 연 $67.43이고 비싼 쪽 읽기면 $1,469.03이다. 싼 쪽에서도 그 위에 유지 공수 2인일(W = $400/인일) $800이 얹히므로 경계 근처가 아니다. 강등과 별개로 청크 해시로 임베딩 캐시를 붙이면(연 유지비가 q 35%를 반영한 절감 $1,084.57 아래일 때. W = $400/인일로 약 2.71인일) 전체 재색인 청구서가 $1,184.00으로 내려가 차액이 $3,137.60으로 벌어진다.

“임베딩은 원래 싸니까 이런 계산이 의미가 있느냐”는 반론은 예시 A에서 정확히 옳고, 그것이 이 글의 결론 중 하나다.

임베딩 단가는 전체 재색인과 증분에 똑같이 붙어 약분되므로, 두 방식을 가르는 단가 차이는 대량 적재를 쓸 수 있으면 $63.488/100만 청크, 경우 2면 그 절반인 $32.768로 통째로 쓰기다. 그래서 카드를 어느 서랍에 꽂느냐, 즉 전체 재색인이 쓸 수 있는 쓰기 경로가 파싱 캐시가 있는 구성에서 문턱의 하한을 정한다.

예시 A의 전체 재색인 사용량에서 임베딩이 83%이고 사용량 차액 $315.96의 93%도 임베딩분인 것과 이것은 모순이 아니다. 파싱 캐시와 대량 적재가 있는 구성에서 금액을 지배하는 항은 임베딩이고, 문턱의 하한을 정하는 단가 차이는 어느 경우에서나 통째로 쓰기다.

총액이 작으면 그 답조차 실행할 이유가 없다. 연간 색인 비용이 유지 인건비를 넘지 않는 조직은 증분 파이프라인을 만들지 않는 것이 맞다.

앞의 다섯 단계에서 끝나면 q를 재지 않는다

순서표는 일곱 단계이고, q 없이 판단이 끝나는 곳은 5번 하나다. 2·3번은 π와 c를 바꾸고, 4번은 전체 재색인 1회의 임베딩 항을 q배로 줄이면서 q* 식 자체를 (π + c) ÷ (π + 1)로 바꾼다. 비용으로 판단이 끝나는 자리는 5·6·7번이고, 1번은 어느 판정도 내지 않고 2·3번을 거쳐 4번이나 완주 시간 함정으로 보낸다. 예시 A가 5번, 예시 C가 6번에서 멈추고, 예시 B는 캐시로 1번의 벽을 옮긴 뒤 7번까지 간다.

순서확인할 것이 답이면그러면
1완주 시간 = 청크 수 × 청크 크기 C ÷ TPM (분). 임베딩 캐시가 있으면 바뀐 청크만 세고, q를 모르면 전량으로 재서 상한으로 쓴다신선도 주기보다 길다2·3번을 마친 뒤 4번으로 임베딩 벽을 옮길 수 있는지 본다. 그래도 넘으면 완주 시간 함정으로 가서 임베딩 축과 쓰기 축을 갈라 본다
2실행마다 원본을 다시 파싱하는가그렇다파싱 캐시부터 붙인다. π가 0으로 내려간다(기준 구성의 월 100만 페이지 이하 구간에서 20.51, 초과 구간에서 8.20이었다)
3전체 재색인이 쓸 수 있는 가장 싼 쓰기 경로대량 적재 / 빈 네임스페이스 신규 쓰기 / 제자리뿐c = 0.03125 / 0.5 / 1. 제자리뿐이면 q*가 100%라 6번의 비율 판정이 언제나 증분이고, 5·7번의 절대액 판정만 남는다
4전체 재색인이 안 바뀐 청크의 벡터를 재사용하는가아니다청크 해시로 임베딩 캐시를 붙인다. 연 유지 공수가 (연간 임베딩 지출 ÷ W) 아래일 때만이다. 자기 q*가 (π + c) ÷ (π + 1)로 내려가고 전체 재색인 1회가 3번이 정한 전체 재색인 쓰기비 + 임베딩비 × q로 내려간다
5연간 전체 재색인 비용 = 전체 재색인 1회 × 연간 실행 횟수 (S의 상한)상한 ≤ 유지 인건비전체 재색인을 유지한다. q를 잴 필요가 없다
6q = 한 실행에서 쓴 레코드 ÷ 전체 레코드. 아직 전체 재색인만 돌리면 이 비가 100%로 나오므로 대신 문서 변경률을 재되, 하루 기준으로 쟀으면 하루 실행 횟수로 나눠 실행 기준 r로 바꾼 뒤 r → q 표로 환산한다q ≥ 자기 q*전체 재색인으로 간다. 증분은 손해다. 단 쓰기 벽에 막혀 그 전체 재색인이 주기를 못 맞추면 손해를 내고 증분으로 간다. 그 손해가 신선도 요구의 가격이다
7회수 일수 = M × W ÷ (S − m × W) × 365. S는 4번까지 마친 전체 재색인을 기준선으로 잰 실제 절감이고, M의 예산 상한은 허용 구축 공수 식이 준다목표 회수 연수 안증분을 만들고 주기적 전체 재색인을 함께 돌린다. 밖이면 전체 재색인을 유지한다

자기 q*는 앞의 닫힌 형 콜아웃의 식에 π·c·ρ를 넣어 낸다. 전체 재색인 1회와 증분 계수는 경우 표의 청크 100만 개당 값에 자기 청크 수를 곱하면 나온다. 서랍장을 통째로 들이면 적재비, 못 들이면 빈 서랍에 꽂는 신규 쓰기비다. 예시 A에서 그 차이가 절감 $294.34와 $655.43을 가른다.

4번에서 임베딩 캐시를 붙였으면 자기 q*가 같은 콜아웃의 (π + c) ÷ (π + 1)이고, 전체 재색인 1회도 경우 표 값이 아니라 전체 재색인 쓰기비 + 임베딩비 × q다. 5번은 q보다 앞에 있으므로 q를 아직 모르면 경우 표 값을 그대로 쓴다. 캐시는 그 값을 내리기만 하므로 상한으로 유효하다.

4번의 게이트도 5번과 같은 상한 처리다. 연간 임베딩 지출이 절감의 상한이므로 거기서 걸리면 붙이지 않는 것이 확실하고, 통과하면 q로 절감이 지출 × (1 − q)까지 좁아지는지 다시 본다. 5번에서 판단이 끝나 6번에 가지 않는 조직도 캐시 게이트만은 그렇게 좁힐 수 있다. 이 게이트는 유지 공수만 보는 필요조건이므로, 실제로 붙일지는 위 회수 식에 캐시의 구축·유지 공수를 넣어 정한다.

S는 (전체 재색인 1회 × 전체 재색인 연간 실행 횟수) − (증분 1회 × 증분 연간 실행 횟수)다. 두 방식을 같은 주기로 돌리면 (전체 재색인 1회 − 증분 1회) × 연간 실행 횟수로 줄고, 이득 배수는 전체 재색인 1회 ÷ 증분 1회다. 임베딩 캐시가 없을 때만 그 값이 q* ÷ q와 같다. 주기가 다르면 거기에 연간 실행 횟수의 비를 곱해야 한다.

증분을 골라도 주기적 전체 재색인은 남으므로 S는 5번의 상한(연간 전체 재색인 비용)에 (1 − 주기적 전체 재색인 횟수 ÷ 전체 재색인 연간 실행 횟수)를 곱한 값을 넘지 못한다. 하루 한 번 색인하던 조직이 주 1회를 얹으면 그 상한의 85.8%가 실제 한계다.

요금제에 최소 사용액이 있으면 그 S 산식 앞에 한 단계가 붙는다. 양쪽의 벡터 DB 지출을 각각 max(사용액, 최소 사용액)으로 바꾼 뒤 임베딩 지출을 더하고, 그 둘의 차를 S로 쓴다. 이 max에 넣는 것은 색인 쓰기가 아니라 벡터 DB 총지출이다.

위 예시 셋은 색인 쓰기만으로 냈으므로 인덱스 저장비를 더하면 B와 C가 움직인다(A는 양쪽이 바닥 아래라 그대로다). 예시 B는 증분 쪽에 연 $108.62(27.429 GB × $0.33/GB/월 × 12개월)를 더해도 $348.89로 바닥 아래여서 절감이 $119,608.21로 오르고, 예시 C는 증분 쪽이 바닥을 넘어 손해가 $2,067.51로 는다. 조회 지출이나 다른 인덱스가 있으면 같은 방향으로 더 움직이고, 총지출이 이미 바닥을 넘는 조직에는 이 보정이 전부 사라진다.

바닥이 증분 쪽에 걸리면 S가 줄고 전체 재색인 쪽에 걸리면 S가 는다. 예시 C가 뒤쪽이라 손해가 $2,319.32에서 $2,053.03으로 작아진다.

5번은 q와 무관하게 답이 나오므로 규모가 작은 조직은 여기서 끝난다. 경우 1에서 하루 한 번 색인하고 유지 공수가 연 2인일(W = $400/인일)이면, 사용량 기준으로 청크 178,368개 미만인 코퍼스는 q가 0이어도 증분이 유지비를 못 낸다. 4번에서 임베딩 캐시를 붙였으면 전체 재색인 1회가 적재비만 남아 그 경계가 약 107만 개로 올라간다.

최소 사용액이 있으면 캐시 없는 그 178,368개 경계가 더 올라간다. 청크 802,654개 아래에서는 전체 재색인의 벡터 DB 지출이 연 $600 바닥 아래다. 증분 쪽도 바닥 아래면 양쪽 청구서에서 그 차액이 사라지고 남는 절감이 임베딩분뿐이다. 그 구간의 경계는 214,041개다. 예시 A의 80,357개가 그 안이고, 이런 조직에서는 문턱도 q도 재지 않는 것이 맞다.

계산에서 뺀 항목은 이렇다.

뺀 항목어느 쪽에 붙나문턱을 미는 방향크기
오브젝트 스토리지 비용과 적재 파일 생성전체 재색인에 실행마다, 증분에 주기적 전체 재색인 빈도만큼위로 (증분 유리)단가 미확보. 청크 100만 개당 8.192 GB를 자기 스토리지 단가로 곱해 대입한다
신·구 네임스페이스 공존 저장비같음위로3시간 공존 시 전체 재색인 1회의 0.090%
구 네임스페이스 철거같음위로정액 5 WU = $0.00002
네임스페이스 교체의 운영 부담양쪽 (증분도 주기적 전체 재색인을 돌린다)방향 없음아래 실패 양상 두 문단
삭제 문서 처리증분아래로 (전체 유리)삭제도 WU를 쓴다
고아 벡터 누적증분아래로주기적 전체 재색인으로 지운다. 예시 B에서 연 $2,139.43
WU를 재는 기준이 레코드 크기가 아니라 요청 직렬화 크기일 가능성양쪽의 덮어쓰기·신규 쓰기방향 불명직렬화가 레코드보다 크면 증분 쪽만 올라 문턱이 내려가고, 부분 갱신 요청이 레코드보다 작으면 증분 쪽이 내려가 문턱이 올라간다. 요청당 최소 5 WU는 배치 한도 1,000 레코드(Pinecone upsert 문서, 2026-08-24 조회)에서 레코드당 0.005 WU라 구속하지 않는다. 자기 요청 1건의 실제 WU를 청구서에서 재야 방향이 정해진다
배치당 임베딩 입력 5만 개 한도양쪽방향 없음“restricted to a maximum of 50,000 embedding inputs across all requests”(OpenAI 배치 문서, 2026-08-25 조회). 비용 불변. 예시 B의 전체 재색인 1회는 배치 67개로 갈린다
인덱스 저장비양쪽 동일방향 없음$0.33/GB/월(Pinecone 가격, 2026-08-24 조회). 청크 100만 개당 8.192 GB. 문턱은 안 움직이고 최소 사용액 바닥 판정만 움직인다. 예시 B에서 연 $108.62
조회 비용 (RU)양쪽 동일방향 없음색인 방식과 무관. 바닥 판정에는 들어간다
파싱 캐시의 저장비양쪽 동일방향 없음원문 텍스트 크기에 비례
임베딩 캐시의 저장비와 무효화 공수캐시를 붙인 전체 재색인위로벡터만 담으면 청크 100만 개당 6.144 GB, $0.33/GB/월이면 월 $2.028이다. 모델·차원·청킹 파라미터를 키에 넣으므로 그중 하나만 바꿔도 캐시가 통째로 무효가 된다. 16.22%는 캐시가 없는 값이라 이 항이 안 붙고, 캐시형 문턱에만 붙는다
임베딩 모델 교체 시 전체 재색인전체 재색인만 가능아래로증분으로는 불가능한 작업이다

위로 미는 넷 중 공존 저장비와 철거는 청크 100만 개당 적재비 $2.048 안쪽으로 막혀 있다. 스토리지는 단가를 못 구했지만 청크 100만 개당 8.192 GB이므로 GB당 $0.25 아래면 그 항도 $2.048 안쪽이다. 임베딩 캐시의 저장비도 하루 한 번 색인하는 조직에서 실행당 $0.07이라 그 안쪽이지만 무효화 공수에는 상한이 없고, 이 항은 캐시형 문턱에만 붙으므로 16.22%에는 들어오지 않는다.

아래로 미는 쪽에는 상한이 없다. 고아 벡터는 증분을 고른 조직이 주기적 전체 재색인을 얹어야 하는 실제 지출이고, 임베딩 모델 교체는 금액이 아니라 증분으로 못 하는 작업이다.

스토리지 단가가 GB당 $0.25 아래여서 16.22%에 붙는 위로 미는 항 셋이 전부 $2.048 안쪽이라면, 뺀 항목의 순 효과는 아래, 즉 전체 재색인 쪽이고 이 글의 문턱은 증분에 관대한 값이다. 캐시형 문턱에서는 위로 미는 쪽에도 상한 없는 항(무효화 공수)이 붙어 순 효과가 정해지지 않는다. 모델·차원·청킹 파라미터를 얼마나 자주 바꾸는지가 그 항의 크기를 정한다.

서랍장을 통째로 갈면 실패 양상이 바뀐다. 색인이 통째로 전환되므로 파싱이나 임베딩 단계의 오류가 몇 개 문서의 열화가 아니라 코퍼스 전체의 동시 오염으로 나타난다. 증분은 같은 오류가 국소로 남는다.

이 부담은 회수 식의 M에 넣지 않는다. 증분을 골라도 주기적 전체 재색인을 돌리므로 네임스페이스 교체 절차와 전환 검증, 되돌리기 절차는 양쪽 다 필요하다. 회수 계산에서는 상쇄되고, 전체 재색인만 돌리는 구성에서 실행 빈도만큼 자주 겪는다는 차이만 남는다.

마지막 표 행도 크다. 임베딩 모델을 바꾸면 기존 벡터가 전부 무의미해지므로 코퍼스 전체를 다시 임베딩해야 한다. 증분 파이프라인만 갖춘 조직은 그때 전체 재색인 경로를 급하게 만들어야 한다. 증분을 만들더라도 전체 재색인 경로를 버리지 않는 이유다.

후속

1편이 고정비와 종량 비용의 교차로 낸 구조를 이 글은 "한 번에 다 하는 단가"와 "조금씩 하는 단가"의 교차로 옮겼다. 1편에서 결론을 지배한 인건비가 여기서도 예시 A의 답을 정한다.

5편이 같은 코퍼스의 조회 요금을 잰다. 이 글이 쓰기 요금을 재고 남겨 둔 축이고, 레코드 8,192 B와 10진 GB 규약을 그대로 이어받았다.

3편은 한 조건에서 낸 문턱을 다른 조건에 그대로 쓰면 안 된다는 것을 캐시 TTL로 보였다. 이 글의 세 경우가 같은 교훈의 다른 사례다. 16.22%는 파싱 캐시가 있고, 대량 적재를 쓰고, 임베딩 캐시가 없는 세 조건 위에서만 참이다.

이 글의 문턱은 Pinecone 가격표와 OpenAI 단가 위에 있다. 값이 바뀌면 16.22%도 바뀐다. 바뀌지 않는 것은 구조다. 전체 재색인이 쓸 수 있는 가장 싼 서랍장 값이 카드를 갈아 끼우는 값보다 싼 만큼 문턱의 하한이 생기고, 그 경로가 증분과 같아지면 하한이 100%로 올라가 문턱이 사라진다.

하한에서 얼마나 올라오는지는 ρ가 정하고 π는 그 폭을 좁힌다. 파싱 캐시가 있으면 하한이 c로 내려가고, 임베딩 캐시가 있으면 ρ가 사라져 문턱이 하한 그대로다. 둘 다 있으면 하한이 c이고 그것이 곧 문턱이다.

π·c·ρ 셋 다 벤더 가격표에 있다. 문서가 얼마나 자주 바뀌는지는 그다음 질문이다.

출처

  1. OpenAI API Pricing — 2026년 8월 24일
  2. OpenAI Embeddings Guide — 2026년 8월 24일
  3. OpenAI text-embedding-3-small Model Page — 2026년 8월 24일
  4. OpenAI Batch API Guide — 2026년 8월 25일
  5. Gemini API Pricing — 2026년 8월 24일
  6. Voyage AI Pricing — 2026년 8월 24일
  7. Pinecone Pricing — 2026년 8월 24일
  8. Pinecone — Understanding Cost — 2026년 8월 25일
  9. Pinecone — Upsert Data — 2026년 8월 24일
  10. Pinecone — Import Data — 2026년 8월 24일
  11. Amazon Textract Pricing — 2026년 8월 24일