챕터별 상세
Oracle 26ai 소개 및 클라우드 환경 설정
Oracle 26ai는 AI 기능을 데이터베이스 핵심에 통합한 차세대 플래그십 릴리스이다. Oracle Cloud Infrastructure(OCI)에서 Autonomous AI Database를 생성하는 과정을 시연했다. 무료 티어를 통해 2 CPU, 2GB RAM, 12GB 스토리지를 제공받아 실습 환경을 구축할 수 있다. 데이터베이스 생성 시 'Transaction Processing' 워크로드 타입을 선택하고 26ai 버전을 지정했다.
네트워크 보안 및 접속 설정
데이터베이스 외부 접속을 위해 Access Control List(ACL)를 설정했다. 사용자의 공인 IP 주소를 CIDR 블록 형식으로 추가하여 보안 접근 권한을 부여했다. Python 애플리케이션과의 연결을 위해 'Instance Wallet'을 다운로드하고 비밀번호를 설정했다. 이 월렛 파일에는 데이터베이스 접속에 필요한 인증 정보와 구성 상세 내용이 포함되어 있다.
Python 환경 구축 및 DB 연결
Python에서 Oracle 26ai에 접속하기 위해 `oracledb` 라이브러리를 설치하고 구성했다. `.env` 파일을 사용하여 데이터베이스 사용자 이름, 비밀번호, DSN(Data Source Name) 정보를 관리했다. `oracledb.connect()` 함수를 호출하여 월렛 경로와 자격 증명을 전달함으로써 실제 연결을 성공시켰다. 연결 후 데이터베이스 버전을 출력하여 23ai(실습 시점 버전) 기반의 AI 기능 활성화를 확인했다.
벡터 임베딩을 포함한 스키마 설계
이커머스 제품 지능형 플랫폼을 위한 다중 모델 스키마를 생성했다. `products` 테이블에는 OpenAI의 `text-embedding-3-small` 모델 규격에 맞춘 1536 차원의 `VECTOR` 타입 컬럼을 정의했다. 이외에도 고객(customers), 주문(orders), 제품 관계(product_relationships) 등 관계형 테이블을 함께 생성했다. Oracle 26ai는 벡터 데이터와 관계형 데이터를 별도의 시스템 분리 없이 단일 스키마 내에서 관리할 수 있게 한다.
OpenAI 임베딩 생성 및 데이터 삽입
OpenAI API를 연동하여 제품 설명 텍스트를 벡터로 변환하는 파이프라인을 구축했다. `text-embedding-3-small` 모델을 사용하여 각 제품의 설명을 1536 차원의 수치 벡터로 생성했다. 생성된 벡터 데이터와 제품명, 가격, 카테고리 등의 메타데이터를 `INSERT` 문을 통해 데이터베이스에 저장했다. 이 과정에서 JSON 형식의 메타데이터도 함께 저장하여 유연한 데이터 구조를 확보했다.
HNSW 벡터 인덱스 생성 및 검색 최적화
대규모 벡터 검색 성능을 높이기 위해 `HNSW(Hierarchical Navigable Small World)` 인덱스를 생성했다. `CREATE VECTOR INDEX` 구문을 사용하여 제품 임베딩 컬럼에 인덱스를 적용했다. 거리 측정 방식으로는 `COSINE` 유사도를 지정했으며, 목표 정확도(Target Accuracy)를 95%로 설정했다. 이 인덱스는 메모리 내 이웃 그래프 구조를 사용하여 수백만 개의 벡터 중 유사한 항목을 빠르게 찾아낸다.
SQL + 벡터 하이브리드 검색 시연
전통적인 SQL 필터링과 벡터 유사도 검색을 결합한 하이브리드 쿼리를 실행했다. 예를 들어 '100달러 미만이면서 재고가 50개 이상인 노트북과 유사한 제품'을 찾는 쿼리를 단일 SQL 문으로 작성했다. `VECTOR_DISTANCE` 함수를 사용하여 유사도 점수를 계산하고, `WHERE` 절에서 가격과 재고 조건을 동시에 처리했다. 이는 Pinecone 같은 벡터 전용 DB에서는 별도의 메타데이터 필터링 시스템이 필요한 복잡한 작업을 단순화한다.
벡터 데이터의 ACID 트랜잭션 보장
벡터 데이터 업데이트 시 ACID 트랜잭션이 어떻게 작동하는지 시연했다. 제품의 가격, 재고 수량, 그리고 설명 임베딩을 하나의 트랜잭션 내에서 원자적으로 업데이트했다. 만약 재고가 부족한 상태에서 두 명의 고객이 동시에 구매를 시도할 경우, 데이터베이스 수준에서 격리(Isolation)를 보장하여 데이터 부정합을 방지했다. 이는 벡터 데이터가 단순한 인덱스가 아니라 데이터베이스의 핵심 데이터로서 보호받음을 의미한다.
그래프 데이터와 벡터 검색의 결합
제품 간의 관계를 나타내는 그래프 데이터와 벡터 유사도를 함께 활용하는 고급 검색 사례를 다뤘다. '함께 자주 구매된 제품'이라는 그래프 관계와 '설명이 유사한 제품'이라는 벡터 정보를 결합하여 추천 시스템을 고도화했다. `JOIN` 문을 통해 제품 관계 테이블과 벡터 검색 결과를 연결함으로써, 단순 유사도를 넘어선 맥락 중심의 추천 결과를 도출했다. 이는 다중 모델 데이터베이스로서 Oracle 26ai의 강력한 통합 능력을 보여준다.
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 02. 06.수집 2026. 02. 21.출처 타입 YOUTUBE
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
