[IT_Tips] Nested(중첩) 구조 완벽 가이드 (코드 로직부터 데이터베이스 모델링까지)
·
Tech Archive/[IT_Tips]
1. 들어가며개발을 하다 보면 "상자 안에 상자, 그 안에 또 상자"가 들어있는 구조를 자주 접하게 됩니다.if문 안에 또 if문이 있는 로직JSON 객체 안에 배열이 있고, 그 안에 다시 객체가 있는 데이터게시판의 대댓글이나 조직도 같은 계층형 구조이를 통칭하여 Nested(중첩) 구조라고 부릅니다. 이 구조는 복잡한 현실 세계를 표현하기 위해 필수적이지만, 잘못 사용하면 성능 저하나 유지보수의 지옥(Hell)을 맛보게 됩니다.이번 포스팅에서는 프로그래밍 로직, NoSQL(Elasticsearch), RDBMS(SQL), 테스트 코드 등 4가지 관점에서 Nested의 정의와 올바른 사용법, 그리고 구축 코드를 총정리해 보겠습니다.2. 프로그래밍 로직에서의 Nested (Control Flow) 2.1 ..
[DB] Elastic Search (엘라스틱 서치)란 무엇인가? (정의, 구성요소, 장단점, 활용 분야, 실습)
·
Tech Archive/[DB]
1. 들어가며: "왜 데이터베이스로는 검색이 느릴까?"우리가 흔히 쓰는 MySQL이나 Oracle 같은 관계형 데이터베이스(RDBMS)는 데이터를 정형화하여 저장하는 데 최적화되어 있습니다. 하지만 "특정 단어가 포함된 텍스트"를 찾으려면 어떻게 해야 할까요? 보통 LIKE %검색어% 쿼리를 사용합니다.하지만 데이터가 수억 건이 넘어가면 이 방식은 모든 행을 다 뒤져야 하므로(Full Scan), 속도가 급격히 느려집니다. 또한, "애플"을 검색했을 때 "Apple"이나 "사과"까지 찾고 싶다면 RDBMS로는 구현이 매우 복잡해집니다.이러한 문제를 해결하기 위해 등장한 것이 바로 Elastic Search(엘라스틱 서치)입니다. "검색을 위한 데이터베이스"로서, 압도적인 속도와 유연성을 자랑하는 이 기술..