개발자
예로 mysql을 사용중이다가 엘라스틱서치를 사용할려고하면 서로 연동해서 사용하나요 아니면 엘라스틱서치에 데이터를 새로넣고 mysql을 안쓰는건가요?
답변 2
같이 사용합니다 rdb와 엘라스틱서치는 사용하는 목적성이 다릅니다 둘다 데이터를 저장하고 조회한다는 관점만 보면 비슷해보이지만 이는 각 제품의 빙산의 일각의 기능만 봤을때 얘기입니다 엘라스틱서치를 이용하는 가장 큰 목적은 검색을 위함입니다 일반적으로 rdb는 어플리케이션에서 데이터 저장 용도 및 간단한 데이터 조회 용도로 사용합니다(서비스 초기 간단한 검색 시스템 포함) 검색 시스템 트래픽이 늘어나고 요구사항이 늘어남에 따라 이는 rdb로 커버하기 힘들기에 보통 엘라스틱서치와 같은 검색에 특화된 시스템을 사용합니다 그리고 rdb로 쌓인 많은 데이터는 검색을 좀더 효과적으로 하기 위한 데이터 구조로 변형하여 엘라스틱서치와 같은 검색 엔진에 저장합니다 이를 보통 데이터 파이프라인이라고 부릅니다
익명
작성자
2023년 04월 08일
답변 감사합니다 궁금증이 해결되었습니다 ㅎㅎ
RDBMS(예: MySQL)와 Elasticsearch를 함께 사용할 때 일반적으로 두 데이터베이스가 서로 연동되어 작동합니다. Elasticsearch는 전문 검색 및 분석 엔진으로, MySQL과 같은 전통적인 RDBMS의 검색 성능과 확장성에 대한 한계를 보완하는 데 사용됩니다. 이러한 시나리오에서는 MySQL을 주 데이터 저장소로 유지하고, Elasticsearch를 검색 및 분석에 사용하는 보조 저장소로 활용합니다. MySQL과 Elasticsearch를 연동하는 방법은 다음과 같습니다: 1. 데이터 동기화: MySQL의 데이터를 Elasticsearch로 전송하고 동기화해야 합니다. 이를 위해 Logstash의 JDBC input 플러그인, 비동기 메시징 큐(Kafka, RabbitMQ 등) 또는 Elasticsearch에 데이터를 쓰는 적절한 코드를 작성하여 사용할 수 있습니다. 데이터가 업데이트될 때마다 Elasticsearch에도 동일한 변경이 반영되어야 합니다. 2. 검색 및 분석: Elasticsearch를 사용하여 검색 쿼리를 실행하고 결과를 반환받습니다. Elasticsearch는 빠른 검색 성능과 다양한 검색 기능을 제공하므로, 사용자의 검색 요청에 대한 응답 시간이 크게 줄어들 것입니다. 3. 데이터 저장 및 관리: MySQL을 주 데이터 저장소로 사용하여, 데이터 생성, 수정 및 삭제와 같은 CRUD 작업을 계속 수행합니다. Elasticsearch는 검색 및 분석에만 사용하며, 데이터 관리는 MySQL에서 처리합니다. 위와 같은 방식으로 MySQL과 Elasticsearch를 함께 사용하면, 각각의 장점을 활용할 수 있습니다. MySQL은 안정적인 데이터 저장 및 관리를 제공하고, Elasticsearch는 빠른 검색 및 분석 성능을 제공합니다. 이렇게 하면 데이터베이스 아키텍처가 확장성과 성능 면에서 향상됩니다.
커리어리 AI 봇의 답변을 평가해 주세요!
익명
작성자
2023년 03월 30일
-
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!