DataBase/OpenSearch 4

OpenSearch의 메모리 사용

※ 본 내용은 ChatGPT와 함께합니다. ※ 🔹 OpenSearch는 두 가지의 메모리를 사용한다.JVM Heap(자바 힙 메모리)Indexing buffer, 캐시, 집계 같은 OpenSearch 내부 연산 용도OpenSearch Page Cache (파일 시스템 캐시)Lucene Segment 읽기/쓰기 최적화서버 메모리가 64 GB라고 가정하면:JVM Heap은 32GB 이하나머지는 OpenSearch Page Cache가 자유롭게 사용 🔹왜 JVM Heap을 50% 이상 주면 안될까?GC 오버헤드 증가JVM Heap이 커질수록 Garbage Collection 시간이 길어짐Compressed Oops 제한JVM은 32GB 이하 힙일 때 객체 참조를 32비트(압축된 포인터)로 관리한다..

DataBase/OpenSearch 2025.09.15

OpenSearch의 JSON 구조 타입

※ 본 내용은 ChatGPT 5 버전에서 물어보고 정리한 내용입니다. ※ OpenSearch에서 JSON 구조를 그대로 저장하려고 할 때 선택지가 크게 두 가지가 있다. 1️⃣ object기본 타입 (설정 안 하면 디폴트가 object)JSON 구조를 그냥 평평하게(flat) 펼쳐서 인덱싱배열 지원은 되지만, 객체 간의 관계 유지 안 됨성능은 빠르고 단순👉 용도:단순한 JSON 저장배열 안의 요소끼리 관계를 따질 필요가 없는 경우예시 문서:{ "user": [ { "name": "kim", "age": 30 }, { "name": "lee", "age": 40 } ]} 저장 결과:user.nameuser.agekim, lee30, 40 2️⃣ nestedobject와 비슷하게 JSON을..

DataBase/OpenSearch 2025.09.14

OpenSearch의 문서 저장 과정

※ 본 내용은 ChatGPT 5 버전에서 물어보고 정리한 내용입니다. ※ 🔹 문서 저장 전체 과정 (색인 → 디스크)문서(JSON) ↓JVM Heap (Indexing Buffer, 검색 불가) ↓ [Analyzer + Tokenizer]역색인 구조 생성 ↓ [Refresh]File System Cache (Lucene Segment, 검색 가능) ↓ [Flush]Disk (영구 저장, 장애 시에도 보존) 1️⃣ 문서 수신사용자가 API로 문서를 보냅니다. (예: POST /index/_doc)문서는 JSON 형식으로 들어옵니다.{ "user": "mj", "message": "opensearch indexing flow", "timestamp": "2025-09-13T..

DataBase/OpenSearch 2025.09.14

Intro to OpenSearch

※ 본 내용은 ChatGPT와 함께합니다. ※ OpenSearch 소개OpenSearch는 분산 검색 및 분석 엔진으로, 웹사이트에 검색창을 구현하는 것부터 보안 데이터를 분석해 위협을 탐지하는 것까지 다양한 용도로 활용할 수 있습니다.여기서 **분산(distributed)**이라는 말은 OpenSearch를 여러 대의 컴퓨터에 걸쳐 실행할 수 있다는 의미입니다.**검색 및 분석(search and analytics)**이란, 데이터를 OpenSearch에 저장한 후 이를 검색하고 분석할 수 있다는 뜻입니다.데이터의 종류와 상관없이, OpenSearch를 통해 저장하고 분석할 수 있습니다.문서(Document)문서는 정보(텍스트 또는 구조화된 데이터)를 저장하는 단위입니다.OpenSearch에서는 문서..

DataBase/OpenSearch 2025.05.20