metadata

4 개의 포스트

aws4분 읽기큐레이션 요약

Amazon S3 어노테이션: 풍부하고 쿼리 가능한 컨텍스트를 객체에 직접 첨부하기 | Amazon Web Services

Amazon S3 annotations는 객체에 대규모·구조화된 비즈니스 맥락을 직접 연결하고, 객체를 다시 작성하지 않고도 수정·삭제할 수 있게 하는 새로운 메타데이터 기능이다. 객체당 최대 1,000개의 annotation을 저장할 수 있으며, 각 annotation은 최대 1MB, 전체 최대 1GB까지 지원한다. S3 Metadata를 활성화하면 annotation을 Athena 등으로 대규모 조회할 수 있어 AI 에이전트와 자동화된 데이터 워크플로에 적합하다. ## S3 annotations의 특징과 규모 - JSON, XML, YAML, 일반 텍스트 등 다양한 형식을 지원한다. - annotation마다 고유한 이름을 부여한다. - 객체당 최대: - 1,000개 annotation - annotation 하나당 1MB - 전체 1GB - 객체 데이터를 다시 업로드하지 않고 annotation만 독립적으로 수정하거나 삭제할 수 있다. - 객체를 복사하거나 복제하거나 리전 간 전송할 때 annotation도 함께 이동한다. - 객체를 삭제하면 연결된 annotation도 자동으로 삭제된다. ## 기존 S3 메타데이터의 한계 - 시스템 정의 메타데이터는 객체 크기, 스토리지 클래스 등 S3가 관리하는 기본 속성에 초점을 둔다. - 객체 태그는 접근 제어와 수명 주기 관리 같은 운영 작업에 적합하지만 객체당 10개로 제한된다. - 사용자 정의 메타데이터는 업로드 시 지정하는 소량의 헤더 기반 정보이며, 약 2KB 수준이고 변경이 제한적이다. - 풍부한 설명이나 AI 분석 결과를 저장하려면 별도 데이터베이스나 사이드카 파일을 운영해야 했다. - 별도 메타데이터 시스템을 사용하면 원본 객체와 메타데이터 간 동기화 로직이 복잡해지고, 메타데이터 저장 비용이 객체 자체의 저장 비용보다 커질 수도 있다. ## AI 에이전트와 데이터 검색 - AI가 생성한 음성·영상 트랜스크립트, 요약, 감정 분석, 콘텐츠 등급 등을 객체에 직접 저장할 수 있다. - 메타데이터가 객체와 함께 이동하므로 데이터 복사·복제 과정에서 별도 동기화가 필요하지 않다. - S3 Metadata annotation 테이블을 사용하면 Athena와 다른 분석 엔진으로 annotation을 대규모 조회할 수 있다. - S3 Tables MCP 서버를 활용하면 AI 모델이 자연어 질의로 관련 데이터를 탐색할 수 있다. - 객체를 직접 복원하지 않고도 모든 스토리지 클래스의 annotation을 조회할 수 있으며, Glacier 계열에서도 객체 검색·복원 비용 없이 컨텍스트를 확인할 수 있다. ## 산업별 활용 사례 - **미디어·엔터테인먼트** - 영상별 트랜스크립트, 자막, 콘텐츠 검수 결과, 라이선스 정보를 별도 annotation으로 저장한다. - 여러 미디어 자산 관리 시스템 간 메타데이터 동기화를 줄일 수 있다. - **금융 서비스** - 연구 문서에 AI 기반 투자 요약과 감정 분석 결과를 연결한다. - 자연어 기반 에이전트가 별도 메타데이터 데이터베이스 없이 관련 문서를 탐색할 수 있다. - **생명과학** - 임상시험 데이터에 규제 상태, 환자군 정보, 승인 절차를 추가한다. - 보관된 데이터의 전체 맥락을 유지하면서 규제 감사와 컴플라이언스 검토를 간소화한다. ## annotation 생성·조회·수정·삭제 - IAM 정책 또는 버킷 정책에 다음 권한이 필요하다. - `s3:PutObjectAnnotation` - `s3:GetObjectAnnotation` - `PutObjectAnnotation` API로 기존 객체와 새 객체 모두에 annotation을 추가할 수 있다. - 예시처럼 하나의 영상 객체에 다음과 같이 서로 다른 정보를 저장할 수 있다. - `mediainfo`: 코덱, 해상도, 오디오 트랙 수 등을 JSON으로 저장 - `ai_summary`: AI가 생성한 영상 설명을 일반 텍스트로 저장 - 주요 API: - `GetObjectAnnotation`: 특정 annotation 조회 - `ListObjectAnnotations`: 객체에 연결된 전체 annotation 목록 확인 - `DeleteObjectAnnotation`: 특정 annotation 삭제 - `PutObjectAnnotation`: 같은 이름으로 호출해 기존 annotation 갱신 - 여러 팀이나 워크플로가 서로 다른 이름의 annotation을 사용하면 기술 정보, 콘텐츠 분류, 규제 정보 등을 서로 간섭 없이 동시에 관리할 수 있다. - 멀티파트 업로드 객체는 업로드를 완료한 뒤 `PutObjectAnnotation`으로 annotation을 추가해야 한다. ## 대규모 조회와 관리 - 개별 객체에 annotation을 붙이는 것만으로도 풍부한 컨텍스트를 보존할 수 있다. - S3 Metadata를 활성화하면 annotation이 관리형 annotation 테이블로 자동 전달된다. - 테이블 기반 조회를 통해 수많은 객체의 분류, 요약, 규제 상태, 기술 사양 등을 한 번에 검색할 수 있다. - 객체 본문을 모두 읽지 않고 메타데이터만 조회할 수 있어 대규모 데이터셋과 장기 보관 데이터에 특히 유리하다. S3 annotations는 단순한 태그나 업로드 시점의 헤더 메타데이터를 넘어, 변경 가능하고 대용량이며 조회 가능한 객체 컨텍스트를 제공한다. AI 에이전트, 콘텐츠 enrichment 파이프라인, 규제·감사 시스템처럼 객체의 의미와 상태가 계속 확장되는 환경에서는 별도 메타데이터 저장소를 구축하기 전에 annotations와 S3 Metadata 테이블 조합을 우선 검토할 만하다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

“Chat, 우리 망했

소셜 미디어 알고리즘은 유행어를 퍼뜨리는 데 그치지 않고, 사람들이 자신을 표현하고 타인을 이해하는 방식까지 바꾼다. 알고리즘은 특정 커뮤니티의 언어를 맥락에서 분리해 대중화하며, 단어의 의미와 문화적 배경을 재구성한다. 따라서 새로운 표현 자체를 문제 삼기보다, 어떤 플랫폼 구조와 문화적 경로가 그 언어를 유행시켰는지 비판적으로 살펴봐야 한다. ## 인터페이스가 사고와 관계를 바꾸는 방식 - Tinder의 ‘스와이프’는 단순한 조작법을 넘어 호감과 선택을 표현하는 언어가 됐다. - 오른쪽을 긍정적으로, 왼쪽을 부정적으로 인식하는 서구 문화의 상징 체계도 인터페이스에 반영된다. - Marshall McLuhan의 “미디어가 메시지다”라는 개념처럼, 플랫폼의 형식과 기능 자체가 사용자의 행동과 의미 해석을 만든다. - Hinge의 프로필 질문은 사용자를 특정한 서사 방식으로 자기소개하게 한다. - Grindr의 ‘bear’, ‘twink’ 같은 분류 체계는 사용자가 자신의 정체성을 특정 부족이나 유형으로 표현하도록 유도한다. - 즉, 플랫폼은 사용자의 외적 표현뿐 아니라 자기 자신을 이해하는 방식에도 영향을 준다. ## 알고리즘과 ‘맥락 붕괴’ - 인터넷은 특정 커뮤니티에서 만들어진 언어를 더 넓은 대중에게 빠르게 확산시킨다. - 알고리즘은 해시태그뿐 아니라 게시물과 영상에서 사용된 단어 자체를 메타데이터처럼 활용한다. - 특정 집단에서만 통용되던 표현이 ‘For You’ 피드에 등장하면, 이용자는 그 말이 자신의 문화권을 위한 것이라고 오해할 수 있다. - 원래의 역사·공동체·정치적 맥락이 사라진 채 표현만 확산되는 현상을 ‘맥락 붕괴’라고 볼 수 있다. - 예를 들어 ‘slay’는 뉴욕의 흑인·라틴계 게이 남성들이 중심이었던 볼룸 문화에서 출발했지만, 소셜 미디어를 거치며 훨씬 넓은 대중어가 됐다. ## 커뮤니티 언어의 대중화와 의미 변화 - ‘slay’, ‘serve’, ‘queen’, ‘cooked’, ‘ate’, ‘bussin’’, ‘it’s giving’ 등은 볼룸 문화와 AAVE에서 유래한 표현의 사례로 제시된다. - 인터뷰이는 유행어의 상당수가 AAVE 또는 4chan에서 비롯된다는 경험적 견해를 말한다. - 대중화 과정에서 단어는 더 많은 사람에게 사용되지만, 원래의 문화적 의미와 정서적 뉘앙스는 약해질 수 있다. - 인플루언서가 유행어를 사용하고, 알고리즘이 이를 확산시키면서 단어의 인지도와 바이럴성이 서로 강화된다. - 언어 변화는 자연스러운 현상이지만, 어떤 공동체의 표현이 누구에 의해 소비되고 재해석되는지는 살펴볼 필요가 있다. ## 밈을 통한 이념과 문화의 확산 - 밈은 단순한 농담이나 유행어가 아니라 특정 생각과 가치관을 전달하는 매개체가 될 수 있다. - ‘looksmaxxing’이나 ‘-pilled’처럼 인셀 문화에서 사용되던 표현도 밈의 형태로 주류에 진입할 수 있다. - 밈은 거부감이 큰 사상이나 온라인 하위문화의 관점을 재미있는 표현 속에 숨겨 전달하는 ‘트로이 목마’처럼 작동할 수 있다. - 다만 새로운 단어를 사용하는 것 자체가 곧 해롭다는 뜻은 아니며, 그 표현이 어디서 왔고 어떤 관점을 포함하는지 인식하는 태도가 중요하다. ## 언어가 바이럴리티의 지표가 되는 과정 - 오늘날 언어는 콘텐츠의 설명 수단을 넘어 알고리즘이 포착하는 핵심 신호가 된다. - 특정 단어를 사용하면 콘텐츠가 유행 흐름에 편입될 가능성이 높아지고, 다시 더 많은 사람이 그 단어를 접하게 된다. - 플랫폼은 이런 순환을 통해 어떤 표현을 ‘바이럴한 언어’로 만들고, 사용자는 유행에 참여하기 위해 그 표현을 모방한다. - 결과적으로 알고리즘은 사람들이 무엇을 말하는지뿐 아니라, 어떤 단어를 가치 있고 영향력 있다고 느끼는지도 결정한다. 플랫폼에서 유행어를 사용할 때는 뜻만 따라 하기보다 그 표현의 기원, 원래 사용하던 공동체, 현재의 의미 변화를 함께 확인하는 것이 좋다. 서비스를 설계하거나 운영한다면 특정 언어가 어떤 맥락에서 확산되는지와 인터페이스가 정체성 표현에 미치는 영향까지 고려해야 한다.

원문 읽기(새 탭에서 열림)
toss원문

토스 피플 : 데이터를 ‘이해하는’ 구조를 설계합니다 (새 탭에서 열림)

데이터의 품질은 사후 수습이 아닌 생성 단계의 초기 설계에서 결정되며, 특히 AI 시대에는 사람뿐만 아니라 기계도 데이터의 맥락을 완벽히 이해할 수 있는 의미 기반의 구조 설계가 필수적입니다. 토스는 이를 위해 데이터의 생성부터 활용까지 전 과정을 관리하는 'End-to-End 데이터 거버넌스'를 지향하며, 개발 속도를 저해하지 않으면서도 품질을 높이는 유연한 설계 표준을 구축하고 있습니다. 결과적으로 데이터 아키텍처는 단순한 규칙 강제가 아니라 비즈니스의 빠른 변화 속에서 데이터의 정합성을 유지하고 AI와 사람이 신뢰할 수 있는 기반을 만드는 핵심적인 역할을 수행합니다. **데이터 설계의 본질과 품질 관리의 전환** * 데이터의 품질은 분석 단계에서의 정제가 아니라, 데이터가 처음 만들어지는 순간의 설계(Design)에 의해 결정됩니다. * 서비스가 빠르게 변하는 플랫폼 환경에서는 데이터 수습에 에너지를 쏟는 사후 대응보다, 데이터가 생성되는 흐름부터 구조적으로 정리하는 사전 설계가 중요합니다. * '속도'와 '품질'은 대립하는 가치가 아니며, 설계 시 미래의 변화 가능성을 고려한 유연한 기준선을 마련함으로써 두 가치 사이의 균형을 잡아야 합니다. **AI가 이해할 수 있는 의미 중심의 데이터 구조** * 현대의 데이터 아키텍처는 사람뿐만 아니라 AI가 질문하고 분석하는 시대를 대비하여 기계가 읽을 수 있는(Machine-readable) 형태로 진화해야 합니다. * 단순한 메타데이터 관리를 넘어, 데이터 간의 의미 관계를 명확히 하는 '의미 기반 표준 사전'과 '온톨로지(Ontology)'를 도입하여 AI가 맥락을 놓치지 않도록 설계합니다. * 데이터 간의 연결 고리를 명확히 설계함으로써 AI가 스스로 의미를 추론하며 발생할 수 있는 해석 오류를 줄이고 데이터의 신뢰성을 극대화합니다. **실천적인 데이터 거버넌스와 아키텍트의 역할** * 효과적인 거버넌스는 규칙을 강제하는 것이 아니라, "표준을 따르는 것이 오히려 더 편하다"고 느낄 수 있도록 자연스러운 프로세스를 설계하는 것입니다. * 비즈니스의 빠른 사이클 속에서 모든 것을 완벽하게 설계하기보다, 현재 맥락에 맞으면서도 나중에 무리 없이 정리할 수 있는 '확장성 있는 여지'를 남겨두는 전략이 필요합니다. * 데이터 아키텍트는 거창한 담론에서 시작하는 것이 아니라, 작은 구조 하나를 더 낫게 만들고 싶어 하는 데이터 엔지니어와 분석가 모두가 도달할 수 있는 전문 영역입니다. 데이터 아키텍처는 단순히 테이블 명세서를 관리하는 일이 아니라 비즈니스의 복잡도를 구조로 풀어내는 일입니다. 고품질의 데이터를 유지하면서도 개발 속도를 잃지 않으려면, 초기 설계 단계에서부터 AI와 협업할 수 있는 표준 체계를 구축하고 이를 조직 내에서 자연스럽게 수용할 수 있는 '실현 가능한 거버넌스 모델'을 고민해 보는 것이 좋습니다.

datadog원문

.NET Continuous Profiler: 내부 동작 원리 (새 탭에서 열림)

Datadog의 .NET 프로파일러는 운영 환경에서 24시간 내내 실행될 수 있도록 설계된 상시(continuous) 프로파일링 도구로, 애플리케이션 성능에 미치는 영향을 최소화하면서 CPU, 메모리, 잠금 경합 등 다양한 런타임 지표를 수집합니다. 이를 통해 개발자는 별도의 재현 환경을 구축하지 않고도 실제 운영 상황의 성능 병목 현상을 정밀하게 분석할 수 있으며, 수집된 데이터는 효율적인 집계와 가독성 높은 호출 스택 변환 과정을 거쳐 백엔드로 전달됩니다. ## .NET 프로파일러의 구조와 데이터 수집 * 개별 리소스(CPU, 예외, 잠금 경합 등)를 담당하는 여러 독립적인 프로파일러와 샘플러, 데이터를 노출하는 프로바이더로 구성된 모듈형 아키텍처를 가집니다. * 수집된 샘플은 호출 스택(Call Stack), 컨텍스트 정보(Labels), 수치 데이터 벡터를 포함하며, 동일한 스택과 레이블을 가진 샘플은 하나로 병합하여 데이터 크기를 최적화합니다. * 샘플 집계 및 `.pprof` 형식으로의 직렬화 로직은 성능 향상과 타 언어 프로파일러와의 공유를 위해 Rust 언어로 구현되었습니다. ## 분산 추적 연동 및 백엔드 처리 * 'Runtime ID'를 사용하여 하나의 프로세스 내에서 여러 서비스(예: IIS AppDomain)가 실행되더라도 각 서비스를 정확히 식별하고 분산 추적(Traces/Spans) 데이터와 프로파일을 정교하게 연결합니다. * 트레이서(Tracer)가 런타임 ID와 서비스 이름(DD_SERVICE)의 매핑 정보를 프로파일러에 전달함으로써, 백엔드에서 특정 서비스에 해당하는 프로파일을 정확히 찾아낼 수 있게 합니다. ## 호출 스택(Call Stack) 가독성 개선 * 닷넷 런타임 API가 제공하는 로우(raw) 데이터를 개발자가 소스 코드 수준에서 즉시 이해할 수 있도록 정제(Clean-up)하는 과정을 거칩니다. * 생성자(`.ctor`)는 실제 클래스 이름으로, 익명 메서드나 람다식은 원래 메서드명에 `_AnonymousMethod`나 `_Lambda` 접미사를 붙여 변환합니다. * 로컬 메서드나 컴파일러가 생성한 비동기 상태 머신의 `MoveNext` 메서드 등 복잡한 이름들도 소스 코드 구조를 반영하도록 가공하여 분석의 혼선을 줄입니다. ## 네이티브 구현을 통한 성능 최적화 * 프로파일러 자체의 메모리 할당이 대상 애플리케이션의 가비지 컬렉션(GC)에 압박을 주지 않도록 핵심 로직을 C#(Managed code)이 아닌 네이티브 수준에서 구현하는 방향을 선택했습니다. * 이러한 설계는 운영 환경에서 성능 저하를 무시할 수 있는 수준으로 유지하면서도 상세한 런타임 성능 데이터를 지속적으로 수집할 수 있는 기반이 됩니다. 운영 환경의 부하를 최소화하면서 실제 트래픽 상황의 성능 문제를 정확히 진단하고 싶다면, 네이티브 수준에서 최적화되고 소스 코드 가독성까지 고려된 상시 프로파일링 도구를 도입하는 것이 가장 효과적인 전략입니다.