데이터 스토리지 읽기 노드

데이터 베이스 노드 사용하기 (Reader)

데이터 베이스 노드 사용하기 (Reader)

데이터 베이스 노드 사용하기 (Reader)

노드 사용법 익히기 - DB 리더(DB Reader) 노드

이 튜토리얼에서는 에이전트리아(Agentria) 의 DB 리더(DB Reader) 노드 사용법을 안내합니다. DB 리더 노드는 데이터 스토리지(Data Storage)에 저장된 데이터를 조회하는 노드입니다. 검색 조건을 설정하면 조건에 맞는 레코드를 반환합니다.

이 튜토리얼에서는 고객 이름을 입력받아 고객 데이터 스토리지에서 해당 고객의 정보를 조회하고 출력하는 워크플로를 완성합니다.

사전 준비

에이전트리아 캔버스 진입 방법은 🔗3단계 핵심 가이드를 참고하시기 바랍니다.

DB 리더 노드를 사용하려면 데이터 스토리지가 먼저 구성되어 있어야 합니다. 🔗데이터 스토리지 가이드를 참고하시기 바랍니다.

이 튜토리얼을 완료하면 다음을 수행할 수 있습니다.

  1. DB 리더 노드로 데이터 스토리지에서 레코드를 조회할 수 있습니다.

  2. 컬럼·연산자·변수를 조합해 검색 조건을 작성할 수 있습니다.

  3. 페이지 크기와 페이지 번호로 조회 범위를 설정할 수 있습니다.

  4. 조회 결과를 LLM 노드로 가공하여 출력할 수 있습니다.

워크플로 개요

이 튜토리얼의 핵심은 DB 리더 노드입니다.

DB 리더 노드는 지정된 스토리지에서 검색 조건에 맞는 레코드를 조회합니다. 검색 조건은 컬럼·연산자·변수를 버튼으로 클릭해 조합하는 빌더 방식으로 작성하며, 직접 타이핑할 수도 있습니다. 타이핑할 때는 $(스토리지 컬럼 참조)와 @(인풋 변수 참조) 두 기호를 조합해 조건식을 작성합니다.

DB 리더 노드 기본 정보

DB 리더 노드는 아래 필드로 조회 대상과 범위를 설정합니다.

필드/옵션

필수 여부

설명

storage

필수

조회할 스토리지 선택

query

선택

검색 조건식 (컬럼·연산자·변수를 클릭으로 조합, 직접 타이핑도 가능)

order_by

선택

검색 조건으로 걸러낸 데이터를 정렬. 인덱스(Index) 컬럼만 선택 가능하며, 여러 조건 등록 시 등록한 순서대로 우선 적용

page_size

선택

페이지당 조회 건수

page_number

선택

조회 페이지 번호 (0부터 시작)

query 조건식은 검색 조건 입력란에서 컬럼·연산자·변수를 버튼으로 클릭해 조합하는 빌더 방식으로 작성합니다. 아래 두 기호를 직접 타이핑해서 작성할 수도 있습니다.

  • $ — 데이터 스토리지의 컬럼을 참조합니다

  • @ — 인풋 변수를 참조합니다

이 튜토리얼에서는 storage, query, order_by, page_size, page_number를 모두 사용합니다.

1단계: 어빌리티 생성

에이전트리아 캔버스에서 새 어빌리티(Ability)를 생성합니다.

캔버스에 +노드 추가(Add Node) 버튼을 사용해 DB 리더(DB Reader) 노드와 LLM 노드를 추가합니다.

2단계: 인풋 변수 선언

인풋 노드를 더블 클릭하여 노드 편집기(Node Editor)를 엽니다.

이 튜토리얼에서 사용하는 스토리지는 고객 데이터로, 아래와 같은 컬럼 구조를 가집니다. 검색에 활용할 컬럼들을 인풋 변수로 선언합니다.

변수명

자료형

설명

name

String

고객 이름

phone

String

연락처

grade

String

고객 등급

memo

String

메모

3단계: DB 리더 노드 설정

DB 리더 노드를 더블 클릭하여 노드 편집기를 엽니다.

DB 리더 노드는 아래 옵션을 제공합니다.

옵션

필수 여부

설명

storage

필수

조회할 스토리지 선택

query

선택

검색 조건식 (컬럼·연산자·변수를 클릭으로 조합, 직접 타이핑도 가능)

order_by

선택

검색 조건으로 걸러낸 데이터를 정렬. 인덱스(Index) 컬럼만 선택 가능하며, 여러 조건 등록 시 등록한 순서대로 우선 적용

page_size

선택

한 번에 가져올 수 있는 데이터 개수 (기본값 10, 최댓값 100)

page_number

선택

읽을 페이지 번호. 페이지는 page_size 기준으로 나누어짐 (기본값 0)

이 튜토리얼에서는 storage, query, order_by, page_size, page_number를 설정합니다.

스토리지 선택

스토리지 선택 버튼을 클릭하면 화면이 열립니다. 고객 데이터가 담긴 스토리지를 선택합니다.

검색 조건 작성

query 입력란에서 컬럼·연산자·변수를 버튼으로 클릭해 조건식을 만듭니다. 이름으로 검색하는 경우 컬럼에서 name, 연산자에서 ==, 변수에서 name을 선택합니다. 직접 타이핑하려면 아래처럼 입력할 수도 있습니다.

여러 조건을 조합할 수도 있습니다. 모든 조건을 동시에 만족해야 하면 AND로, 둘 중 하나만 만족해도 되면 OR로 조건을 연결합니다.

조건이 여러 개일 때는 ()로 묶어 조합 순서를 지정할 수도 있습니다. 아래는 이름 또는 연락처가 일치하면서, 동시에 등급도 일치하는 데이터를 조회하는 예시입니다.

정렬 조건(order_by) 설정 (선택 사항)

검색 조건으로 걸러낸 데이터를 특정 순서로 정렬하고 싶다면 order_by에 정렬 기준을 추가합니다. 정렬 기준으로 선택할 수 있는 컬럼은 인덱스(Index)가 설정된 컬럼으로 제한되며, 컬럼마다 오름차순 또는 내림차순을 선택할 수 있습니다.

정렬 조건 추가 링크를 클릭하면 조건을 여러 개 등록할 수 있습니다. 이때 정렬은 등록한 순서대로 우선순위를 갖습니다. 먼저 첫 번째 조건으로 전체 데이터를 정렬하고, 그 값이 서로 같아서 순위가 정해지지 않은 데이터끼리만 두 번째 조건으로 다시 정렬합니다. 세 번째 조건이 있다면 같은 방식으로 두 번째 조건까지 값이 같은 데이터끼리만 한 번 더 정렬합니다.

예를 들어 정렬 조건을 grade(오름차순) → name(오름차순) 순서로 등록했다고 가정해 보겠습니다.

  1. 먼저 전체 데이터를 grade 기준으로 정렬합니다.

  2. grade 값이 같은 고객끼리는 순서가 정해지지 않은 상태이므로, 그 안에서만 name 기준으로 다시 정렬합니다.

  3. grade 값이 다른 고객 사이에는 name 조건이 적용되지 않고, 1번에서 정한 grade 순서를 그대로 따릅니다.

결과적으로 등급별로 묶인 채, 같은 등급 안에서는 이름순으로 정렬된 데이터를 얻을 수 있습니다.

페이지 설정

옵션

값

설명

page_size

10

한 번에 조회할 최대 건수

page_number

0

첫 번째 페이지 (0부터 시작)

page_size는 최대 100까지 설정할 수 있으며, 100건을 초과하는 데이터를 조회하려면 page_number를 하나씩 증가시키며 반복 조회해야 합니다. page_size와 page_number를 인풋 변수로 받아 Loop 노드로 반복 호출하고, 반환된 건수가 page_size보다 적어지면 마지막 페이지이므로 반복을 종료합니다.

이때 조회한 페이지를 모두 모은 뒤 한꺼번에 처리하지 말고, 페이지 단위로 가져올 때마다 바로 처리하는 방식을 권장합니다. 전체 데이터를 메모리에 쌓아두면 처리량이 많을 때 성능 문제가 발생할 수 있습니다.

4단계: LLM 노드 설정 (선택 사항)

조회된 데이터를 자연스러운 안내 메시지로 출력하기 위해 LLM 노드에 프롬프팅합니다. LLM 노드를 더블 클릭하여 노드 편집기를 열고, 시스템 프롬프트(System Prompt)에 아래 내용을 입력합니다.

LLM 노드는 선택 사항입니다. 생략하면 DB 리더 노드의 아웃핀을 아웃풋 노드에 직접 연결합니다.

5단계: 아웃풋 노드 설정

아웃풋 노드를 더블 클릭하여 노드 편집기를 엽니다. 아웃풋 영역(Output Section)에 아래 변수를 추가합니다.

변수명

자료형

result

String

LLM 노드의 아웃풋 output 변수를 드래그 앤 드롭으로 아웃풋 노드의 result에 바인딩합니다.

엣지를 연결합니다.

  1. 인풋 노드의 아웃핀 → DB 리더 노드의 인핀

  2. DB 리더 노드의 아웃핀 → LLM 노드의 인핀

  3. LLM 노드의 아웃핀 → 아웃풋 노드의 인핀

6단계: 런테스트

캔버스 오른쪽 하단의 테스트 실행(RUN TEST) 버튼을 클릭합니다.

name 입력란에 조회할 고객 이름을 입력하고 실행하면 해당 이름에 대한 고객 정보가 출력됩니다.

다음 단계

🎉 축하합니다! 에이전트리아를 사용해 '고객 데이터 조회' 워크플로를 완성했습니다.

검색 조건을 다양하게 조합하거나, 조회된 결과를 DB 업데이터(DB Updater) 노드로 수정하는 확장 워크플로로 발전시킬 수 있습니다.

에이전트리아는 아이디어를 현실로 바꾸는 가능성의 공간입니다.

당신의 상상력으로 워크플로는 무한히 확장될 수 있습니다.

  • 더 많은 노드 활용 예제가 궁금하다면 🔗노드 사용법 페이지를 확인하세요.