metric_series · content_raw · tokens. 필드가 적어 한 장에 모았습니다.
JSON 출력은 컬렉션별로 묶여서 나옵니다.
· contents · accounts · venues · token_links 모두 확정
확정 보류 4개를 제외하고 확정 ① metric_series 대상당 1행 + points[] append { _id, object, object_id object/object_id 보류 — venue·account 시계열까지 덮을지 platform enum ● 최적화용 대상에서 복사 points[] 기본값 [] ├ at Date ● 관측 시각. rd·tt 는 actor 의 crawledAt — 저장 시각을 쓰면 배치 지연이 속도에 섞인다 └ metrics Mixed ● 개별 플랫폼 원래 이름. 쓰기 시점 키 화이트리스트 필요 created_at/updated_at ● } 제거 content_key ② content_raw 무손실 원본 · 1:1 upsert { _id, object, object_id ● payload Mixed ● 개별 응답 전체. 기존 이름 data 에서 개명 platform ○ 보류 — 키 단건 조회만 하는 컬렉션이라 필터 필드가 필요 없을 수 있다 observed_at Date ● created_at/updated_at ● } 제거 object_key · object_type 미정 append 로 바꿀지(지금은 upsert, 최신 1건만) ③ tokens 얇은 상태 { _id ● address string ● mint 주소 unique. token_links 의 조인 대상 symbol string ○ 최적화용 SoT 는 tracker first_transfer_at ○ 최적화용 나이 앵커. token_created_at 을 대체 discovered_at Date ● fingerprints[] ○ 보류 — web{} 과 함께 웹 결정 뒤에 web{} ○ 보류 — 웹 미결 created_at/updated_at ● } 제거 trigger_reason · unclassified_links[] · price/ath_price/alpha_score
질문 1 · 이 필드로 쿼리하는가? 아니오 → data 예 → 질문 2 질문 2 · 의미가 모든 대상에서 같은가? 아니오 → data 예 → 질문 3 질문 3 · 원본(SoT)이 다른 곳에 있는가? 예 → 최적화용 아니오 → 공용
쟁점 5개
① metric_series 를 다형으로 둘지 accounts B-3(팔로워 급증 탐지)이 계정 시계열을 요구한다.
대상당 1행 구조라 object+object_id 를 두면 컬렉션 하나로 셋을 덮는다.
② raw.platform 을 둘지 키 단건 조회만 하는 컬렉션이라 필터 필드가 필요 없을 수 있다.
③ raw 를 append 로 바꿀지 지금은 upsert(최신 1건). 이력을 쌓으면 수십 KB × 관측 횟수.
④ tokens.fingerprints[] 유지 여부 domain: 지문의 역할이 링크 카운트로 넘어간다.
⑤ tokens.web{} 웹 미결에 종속. 2층으로 가면 sites 로 옮겨간다.
| 필드 | 어디서 오나 · 무엇인가 | Q1 쿼리 |
Q2 의미 |
Q3 원본 |
판정 근거 · 쟁점 | 판정 | 필수 | 메모 |
|---|
복사해서 채팅에 붙여넣으시면 그대로 반영하겠습니다.