1. 엘라스틱서치를 주 검색 인덱스로 사용하기
이 접근법에서는 PostgreSQL 데이터베이스의 데이터를 주기적으로 또는 실시간으로 엘라스틱서치로 동기화합니다. 검색 요청은 엘라스틱서치를 통해 수행되며, 일반적으로 다음과 같은 방식으로 구현됩니다:
- 전체 동기화: PostgreSQL의 전체 데이터셋 또는 중요한 부분을 정기적으로 엘라스틱서치에 동기화합니다. 이 방법은 데이터 변경률이 낮거나 실시간성이 중요하지 않은 경우에 적합합니다.
- 실시간 동기화 (Change Data Capture): PostgreSQL에서 발생하는 모든 변경을 실시간으로 엘라스틱서치에 반영합니다. 이를 위해 Debezium, Logstash 등의 도구를 사용할 수 있으며, 이 방법은 데이터의 일관성을 최대한 유지하면서 실시간 검색 기능을 제공합니다.
2. 어떻게 2개의 DB를 같이 쓸까? (동기화)
엘라스틱서치와 PostgreSQL 간의 실시간 동기화를 위해 Logstash를 사용하는 것은 매우 효과적인 방법 중 하나입니다. Logstash를 사용하여 PostgreSQL의 데이터 변경을 감지하고 이를 엘라스틱서치로 동기화할 수 있습니다. 이 과정을 구성하는 방법을 단계별로 설명드리겠습니다.
Logstash를 사용한 PostgreSQL에서 엘라스틱서치로의 실시간 동기화 설정
1. 필요한 구성 요소
- PostgreSQL: 데이터가 저장된 관계형 데이터베이스.