diff --git a/journey/research/260321_companyx_nas_recent_file_mtime_cutoff_리서치.md b/journey/research/260321_companyx_nas_recent_file_mtime_cutoff_리서치.md new file mode 100644 index 0000000..0c6b085 --- /dev/null +++ b/journey/research/260321_companyx_nas_recent_file_mtime_cutoff_리서치.md @@ -0,0 +1,78 @@ +# 260321 Company X NAS 원본 문서 최근 변경 컷오프 리서치 + +tags: [research, nas, companyx, mtime, cutoff] + +## 목적 + +- 내부 NAS 원본 경로 `/mnt/nas/workspace/6.Company X`만 기준으로 최근 변경 파일 집합의 컷오프 날짜를 빠르게 산정합니다. +- 인덱싱 대상을 `최근 2천/5천/1만/2만/4만/전체`로 자를 때, 각 구간이 어떤 수정시각(`mtime`)까지 포함하는지 확인합니다. +- `6.Company X_md` 같은 파생 경로는 포함하지 않습니다. + +## 관련 문서 + +- [260307_external_nas_companyx_sync_research.md](./260307_external_nas_companyx_sync_research.md) +- [260312_external_nas_companyx_실시간동기화_리서치.md](./260312_external_nas_companyx_실시간동기화_리서치.md) +- [260311_external_nas_companyx_sync_운영계획.md](../plans/260311_external_nas_companyx_sync_운영계획.md) + +## Facts + +### 1. 대상 경로는 원본 Company X 문서만입니다 + +- 대상 경로: `/mnt/nas/workspace/6.Company X` +- 제외 대상: `6.Company X_md` 등 MD 파생본 경로 +- 실측 파일 수: `53,372개` + +### 2. 생성시각(birth time)은 최근 동기화/이관 시각으로 치우쳐 있습니다 + +- `stat -c '%W|%Y|%n'` 기준으로 모든 파일에서 birth time이 양수로 확인됐습니다. +- `53,372개` 중 `53,370개`는 `birth time > mtime`이었습니다. +- 상위 2천~전체 컷오프를 `max(birth, mtime)`로 잡으면 거의 전부 `2026-03-11 ~ 2026-03-12`로 뭉칩니다. +- 따라서 이 값은 원본 문서의 실제 최신 변경 시각이라기보다, NAS 이관/동기화 시각으로 해석하는 편이 맞습니다. + +### 3. 실문서 최근성 판단 기준으로는 mtime이 더 현실적입니다 + +- 이번 컷오프 산정은 `mtime` 단독 기준으로 다시 계산했습니다. +- 기준 의미: + - 파일이 생성 후 수정되지 않았으면 `mtime`은 사실상 생성 직후 시각처럼 보일 수 있습니다. + - 파일이 나중에 바뀌었으면 `mtime`은 최종 수정 시각입니다. +- 즉, 이번 리서치의 `최근`은 `생성/수정 중 더 최신`이 아니라, **실문서 기준 마지막 내용 변경 시각(`mtime`)**으로 해석합니다. + +### 4. mtime 기준 컷오프 결과 + +| 범위 | 포함 컷오프 mtime | +|------|-------------------| +| 최근 2천개 | `2026-01-28 16:56:28` | +| 최근 5천개 | `2025-11-30 11:13:03` | +| 최근 1만개 | `2025-07-14 18:43:02` | +| 최근 2만개 | `2024-02-20 12:08:55` | +| 최근 4만개 | `2022-04-13 15:21:22` | +| 전체 53,372개 | `1980-01-01 00:00:00` | + +### 5. 전체 최하단 `1980-01-01`은 예외값입니다 + +- 전체 컷오프가 `1980-01-01 00:00:00`으로 나온 것은 일부 파일의 `mtime` 메타데이터가 비정상적으로 보존된 사례로 해석됩니다. +- 따라서 실무적으로 최근성 기준을 자를 때는 `2천~4만` 구간이 더 유효합니다. + +## Interpretation + +### 1. 최근 문서 집합을 자르는 1차 운영 기준으로 mtime 컷오프를 바로 사용할 수 있습니다 + +- 최근 `2천개`를 쓰면 `2026-01-28` 이후 변경분, +- 최근 `5천개`를 쓰면 `2025-11-30` 이후 변경분, +- 최근 `1만개`를 쓰면 `2025-07-14` 이후 변경분으로 해석할 수 있습니다. + +### 2. birth time 기반 최신 판정은 현재 Company X NAS 원본에는 부적합합니다 + +- birth time이 거의 전부 최근 이관 시점으로 보이기 때문에, 최근 변경 파일 집합을 나누는 기준으로는 왜곡이 큽니다. +- 이 경로에서는 `recent = birth/creation`이 아니라 `recent = mtime`으로 고정하는 편이 안전합니다. + +### 3. 전체 재인덱싱 기준으로는 4만 컷오프도 충분히 넓지만, 운영 시작점으로는 5천 또는 1만이 현실적입니다 + +- `4만개` 컷오프가 `2022-04-13`이라 범위가 매우 넓습니다. +- 최근성 기반 시험 인덱싱이나 배치 시작점으로는 `5천` 또는 `1만`이 더 관리 가능한 첫 구간으로 보입니다. + +## Unresolved + +1. `1980-01-01` 예외 파일이 정확히 몇 개인지, 어떤 폴더에 몰려 있는지는 이번 문서 범위에서 따로 분리하지 않았습니다. +2. 이후 운영안에서 최근성 기준을 `mtime only`로 고정할지, `mtime + 크기 + 해시` 조합으로 승격할지는 별도 계획에서 결정해야 합니다. +3. 인덱싱 배치가 실제로 `2천/5천/1만` 중 어디서 시작하는지가 아직 확정된 것은 아닙니다. diff --git a/journey/research/260321_companyx_nas_정보_종합_리서치.md b/journey/research/260321_companyx_nas_정보_종합_리서치.md new file mode 100644 index 0000000..95cc650 --- /dev/null +++ b/journey/research/260321_companyx_nas_정보_종합_리서치.md @@ -0,0 +1,147 @@ +# 260321 Company X NAS 정보 종합 리서치 + +tags: [research, nas, companyx, overview, inventory, mtime, structure] + +## 목적 + +- 51123 서버에서 보는 Company X NAS의 현재 상태를 한 문서에 모아 둡니다. +- 이 문서는 `/mnt/nas/workspace/6.Company X` 원본 문서군의 경로, 마운트, 용량, 상위 구조, 파일 수, 최근성 컷오프를 빠르게 참조하는 기준 문서입니다. +- `6.Company X_md` 같은 파생본은 이 문서의 대상이 아닙니다. + +## 관련 문서 + +- [260307_external_nas_companyx_sync_research.md](./260307_external_nas_companyx_sync_research.md) +- [260312_external_nas_companyx_실시간동기화_리서치.md](./260312_external_nas_companyx_실시간동기화_리서치.md) +- [260321_companyx_nas_recent_file_mtime_cutoff_리서치.md](./260321_companyx_nas_recent_file_mtime_cutoff_리서치.md) +- [260311_external_nas_companyx_sync_운영계획.md](../plans/260311_external_nas_companyx_sync_운영계획.md) + +## Facts + +### 1. 현재 마운트 기준 + +- 내부 NAS 마운트 경로: `/mnt/nas` +- 원본 Company X 문서 경로: `/mnt/nas/workspace/6.Company X` +- NAS 실제 마운트: + - `//192.168.0.101/home on /mnt/nas type cifs` +- 주요 옵션: + - `vers=3.1.1` + - `rw` + - `uid=1001` + - `gid=1000` + - `file_mode=0664` + - `dir_mode=0775` + +### 2. 현재 용량 기준 + +- NAS 볼륨 전체: + - 총 용량 `5.3T` + - 사용 `380G` + - 여유 `4.9T` + - 사용률 `8%` +- Company X 원본 경로 사용량: + - `/mnt/nas/workspace/6.Company X` = `368G` + +### 3. 현재 총 파일 수 기준 + +- 대상 경로: `/mnt/nas/workspace/6.Company X` +- 파일 수: `53,372개` +- 이 수치는 `6.Company X_md` 파생본 없이, 원본 경로만 센 값입니다. + +### 4. 현재 최상위 항목 구조 + +#### 최상위 디렉터리 + +- `0. 엑셀러레이터 등록` +- `1. 행정` +- `2. 신규운영사 및 펀드 운용사, 용역 프로그램 제안 등` +- `3. 배치프로그램(X-COURSE, X-HISSTORY 등)` +- `4. TIPS, WINGS, LIPS 프로그램` +- `5. 멘토풀` +- `6. 투자` +- `7. 사진` +- `8. 교육` +- `9. 디자인` +- `10. MOU&인증` +- `11. Company X - logo & 디자인` +- `12. 컴퍼니엑스 소개자료` +- `SynologyDrive` + +#### 최상위 파일 + +- `Thumbs.db` +- `[컴퍼니엑스] 육성 및 보육 기업 수.xlsx` + +### 5. 상위 디렉터리별 하위 폴더 수 / 파일 수 + +| 최상위 디렉터리 | 하위 폴더 수 | 파일 수 | +|----------------|-------------:|--------:| +| `0. 엑셀러레이터 등록` | 38 | 133 | +| `1. 행정` | 47 | 192 | +| `2. 신규운영사 및 펀드 운용사, 용역 프로그램 제안 등` | 5,341 | 30,590 | +| `3. 배치프로그램(X-COURSE, X-HISSTORY 등)` | 985 | 2,865 | +| `4. TIPS, WINGS, LIPS 프로그램` | 644 | 2,694 | +| `5. 멘토풀` | 2 | 47 | +| `6. 투자` | 2,951 | 13,099 | +| `7. 사진` | 9 | 116 | +| `8. 교육` | 5 | 43 | +| `9. 디자인` | 548 | 3,364 | +| `10. MOU&인증` | 28 | 91 | +| `11. Company X - logo & 디자인` | 9 | 135 | +| `12. 컴퍼니엑스 소개자료` | 0 | 1 | +| `SynologyDrive` | 0 | 0 | + +### 6. 구조상 비중이 큰 영역 + +- 파일 수 기준 최대 구간은 `2. 신규운영사 및 펀드 운용사, 용역 프로그램 제안 등`으로 `30,590개`입니다. +- 다음은 `6. 투자`로 `13,099개`입니다. +- 그다음은 `9. 디자인` `3,364개`, `3. 배치프로그램` `2,865개`, `4. TIPS, WINGS, LIPS 프로그램` `2,694개` 순입니다. +- 즉 현재 원본 경로의 대부분은 `2. 신규운영사...`와 `6. 투자` 두 영역에 몰려 있습니다. + +### 7. 최근성 기준은 mtime이 더 적절합니다 + +- NAS에서 보이는 birth time은 대부분 최근 이관/동기화 시각으로 치우쳐 있습니다. +- 따라서 이 경로의 `최근 변경 파일` 판단은 birth time보다 `mtime` 기준이 더 현실적입니다. +- 상세 근거는 [260321_companyx_nas_recent_file_mtime_cutoff_리서치.md](./260321_companyx_nas_recent_file_mtime_cutoff_리서치.md)에 분리했습니다. + +### 8. 원본 경로의 mtime 컷오프 + +| 범위 | 포함 컷오프 mtime | +|------|-------------------| +| 최근 2천개 | `2026-01-28 16:56:28` | +| 최근 5천개 | `2025-11-30 11:13:03` | +| 최근 1만개 | `2025-07-14 18:43:02` | +| 최근 2만개 | `2024-02-20 12:08:55` | +| 최근 4만개 | `2022-04-13 15:21:22` | +| 전체 53,372개 | `1980-01-01 00:00:00` | + +### 9. 전체 하한 `1980-01-01`은 예외 메타값입니다 + +- 전체 컷오프가 `1980-01-01`로 내려가는 것은 일부 파일의 mtime 메타데이터가 비정상적으로 저장돼 있기 때문으로 봐야 합니다. +- 따라서 실무 기준으로는 `최근 2천/5천/1만/2만/4만` 구간을 최근성 판단 기준으로 쓰는 편이 안전합니다. + +## Interpretation + +### 1. 현재 Company X 원본 NAS는 충분히 큰 단일 문서군입니다 + +- 원본만 `53,372개`, 사용량 `368G`라서, 단순 전량 재인덱싱이나 무차별 재처리보다 구간 기반 배치 접근이 더 현실적입니다. + +### 2. 인덱싱/동기화 시작점으로는 최근 5천 또는 1만이 가장 무난합니다 + +- 최근 2천은 너무 공격적으로 좁고, +- 최근 4만은 너무 넓습니다. +- 운영 시험, 인덱싱 우선순위, 최근성 기준 배치의 출발점으로는 `최근 5천` 또는 `최근 1만`이 가장 현실적인 구간입니다. + +### 3. 구조상 우선 관찰 영역은 `2. 신규운영사...`와 `6. 투자`입니다 + +- 두 영역 합계가 전체 파일 대부분을 차지합니다. +- 문서 검색, 인덱싱, 변경량 추적, 샘플링 모두 이 두 구간부터 보면 효율이 높습니다. + +### 4. 이 문서는 NAS 운영 참조용 기준 문서로 유지하는 편이 좋습니다 + +- 외부 NAS 동기화 방식, 실시간 동기화 여부, 최근성 컷오프, 인덱싱 범위를 논의할 때 매번 흩어진 문서를 찾지 않도록, 현재 문서를 Company X NAS 정보 기준 문서로 삼는 편이 낫습니다. + +## Unresolved + +1. `1980-01-01` 예외 mtime 파일이 몇 개인지와 어떤 폴더에 몰려 있는지는 아직 분리하지 않았습니다. +2. 최근성 기반 인덱싱 대상을 실제로 `2천/5천/1만` 중 어디서 시작할지는 아직 확정되지 않았습니다. +3. 향후에는 파일 수뿐 아니라 폴더별 용량까지 같이 집계해 두면 더 유용합니다.