생성적 AI가 전통적인 데이터베이스를 뒤집는 10가지 방법

10 ways generative AI upends the traditional database

PostgreSQL과 함께 Supabase의 벡터 데이터베이스 사용하기

생성적 AI의 화려함과 카리스마에도 불구하고, 이 새로운 시대의 가장 큰 변화는 아마도 소프트웨어 스택의 깊은 곳에 묻혀 있을 것입니다. 눈에 보이지 않는 곳에서, AI 알고리즘은 세상의 데이터를 무한한 규칙 테이블로 추적하기 위해 만들어진 시스템을 뒤집으며, 복잡하고 적응력 있으며 직관적으로 보이는 새로운 AI 능력으로 대체하고 있습니다.

데이터 저장 스택의 모든 레벨에서 업데이트가 이루어지고 있습니다. 기본 데이터 구조가 재검토되고 있습니다. 데이터베이스 제작자들은 정보를 저장하는 방식을 AI 모델과 더 잘 작동하도록 바꾸고 있습니다. 한때 냉정하고 기계적이었던 데이터베이스 관리자의 역할은 더 넓게 발전하고 있습니다. 책을 사랑하는 사무원들은 물러나고, 마음을 읽는 마법사들이 그 자리를 차지하고 있습니다.

다음은 AI가 점점 더 만연해짐에 따라 데이터베이스가 어떻게 변화, 적응 및 개선되고 있는지에 대한 10가지 방법입니다.

벡터와 임베딩


AI 개발자들은 정보를 긴 숫자 벡터로 저장하는 것을 선호합니다. 과거에는 데이터베이스가 이러한 값을 행으로 저장하며, 각 숫자를 별도의 열로 저장했습니다. 지금은 일부 데이터베이스가 순수한 벡터를 지원하기 때문에 정보를 행과 열로 나눌 필요가 없습니다. 대신 데이터베이스는 그들을 함께 저장합니다. 저장에 사용되는 일부 벡터는 수백 또는 수천 개의 숫자로 구성됩니다.

이러한 벡터는 보통 임베딩과 함께 사용되는데, 이는 복잡한 데이터를 단일 숫자 목록으로 변환하기 위한 스키마입니다. 임베딩을 설계하는 것은 아직도 크게 예술로 간주되며, 종종 기본 도메인의 지식에 의존합니다. 임베딩이 잘 설계되면 데이터베이스는 빠른 액세스와 복잡한 쿼리를 제공할 수 있습니다.

PineconeVespa,  MilvusMargo,  Weaviate 와 같은 일부 회사들은 벡터 저장에 특화된 새로운 데이터베이스를 구축하고 있습니다. PostgreSQL과 같은 다른 회사들은 현재의 도구에 벡터를 추가하고 있습니다.

  1. AI와 벡터: AI 개발자들은 데이터를 긴 숫자의 연속으로 나타내는 벡터 형태로 저장하는 것을 선호합니다. 과거의 데이터베이스 구조에서는 각 숫자를 개별 열에 저장하였으나, 현재는 순수한 벡터 형태로 데이터를 저장할 수 있는 데이터베이스도 있습니다. 이러한 방식은 정보를 전통적인 행과 열로 나누지 않고 한꺼번에 저장합니다.
  2. 임베딩: 임베딩은 복잡한 데이터를 단순한 숫자 목록, 즉 벡터로 변환하는 방법입니다. 잘 설계된 임베딩을 사용하면 데이터베이스에서 빠르게 정보에 접근하고 복잡한 쿼리를 수행할 수 있습니다.
  3. 데이터베이스와 벡터: 여러 회사들, 예를 들면 Pinecone, Vespa, Milvus, Margo, Weaviate 등은 벡터를 저장하기 위해 특화된 새로운 데이터베이스를 개발하고 있습니다. 또한 PostgreSQL과 같은 기존 데이터베이스 도구들도 벡터 저장 기능을 추가하고 있습니다.

간단히 말하면, 이 내용은 AI와 관련하여 데이터 저장 방식이 어떻게 변화하고 있는지를 설명하는 것입니다. 벡터와 임베딩은 이러한 변화를 주도하는 핵심 요소 중 하나입니다.

쿼리 모델

데이터베이스에 벡터를 추가하는 것은 편의성을 넘어서는 이점을 가져옵니다. 새로운 쿼리 기능들은 정확한 일치 항목만을 검색하는 것을 넘어서서 “가장 가까운” 값들을 찾을 수 있습니다. 이러한 기능은 추천 시스템이나 이상 탐지와 같은 시스템을 구현하는 데 도움을 줍니다. 벡터 공간에 데이터를 임베딩하면, 일치 및 연관 문제와 같은 까다로운 문제를 단순한 기하학적 거리 문제로 단순화합니다.

Pinecone, Vespa, Milvus, Margo, Weaviate와 같은 벡터 데이터베이스는 벡터 쿼리를 제공합니다. Lucene 이나 Solr 와 같은 예상치 못한 도구들도 구조화되지 않은 큰 텍스트 블록에서 유사한 결과를 제공할 수 있는 유사성 일치를 제공합니다.

데이터베이스의 쿼리 모델에 대한 변화와 벡터를 활용한 쿼리의 장점에 관한 내용을 담고 있습니다. 주요 포인트는 다음과 같습니다:

  1. 벡터의 이점: 데이터베이스에 벡터를 추가함으로써 단순히 편의성을 넘어서는 여러 가치를 얻을 수 있습니다. 새로운 쿼리 기능을 사용하면 정확한 일치하는 데이터만을 찾는 것이 아니라, 가장 유사한 데이터나 “가장 가까운” 데이터를 찾을 수 있습니다.
  2. 추천 시스템 및 이상 탐지: 이러한 유사성 검색 기능은 추천 엔진이나 이상 탐지와 같은 시스템 구현에 큰 도움이 됩니다. 벡터 공간에서의 데이터 임베딩은 데이터 간의 유사성이나 연관성을 판별하는 복잡한 문제를, 단순히 기하학적 거리로 표현하게 합니다.
  3. 벡터 데이터베이스: 여러 데이터베이스 및 도구들, 예를 들면 Pinecone, Vespa, Milvus, Margo, Weaviate 등,은 벡터 기반의 쿼리를 지원합니다. 이와 더불어, Lucene이나 Solr 같은 다른 도구들은 큰 비구조화된 텍스트 블록에 대해서도 유사한 결과를 제공하는 유사성 검색 기능을 제공합니다.

요약하면, 이 내용은 데이터베이스에서 벡터를 활용한 쿼리의 새로운 가능성과 그로 인한 장점에 대해 설명하고 있습니다.

추천


새롭게 도입된 벡터 기반의 쿼리 시스템은 우리가 예전에 사용하던 시스템보다 훨씬 더 마법 같고 신비로워 보입니다. 예전의 쿼리들은 일치하는 데이터를 찾는데 주력했지만, 이 새로운 AI 기반 데이터베이스들은 사용자의 마음을 읽는 것처럼 느껴지기도 합니다. 그들은 유사성 검색을 사용하여 “가까운” 데이터 항목을 찾고, 이것은 대부분 사용자가 원하는 것과 잘 일치합니다. 그 기초가 되는 수학은 n차원 공간에서의 거리를 찾는 것일 지라도, 어떻게든 그것만으로도 예상치 못한 결과를 가져다 줍니다. 이러한 알고리즘들은 오랫동안 독립적인 전체 애플리케이션으로 실행되었지만, 점차 데이터베이스 자체에 통합되어, 더 나은, 더 복잡한 쿼리를 지원할 수 있게 되었습니다.

Oracle은 이 시장을 겨냥한 데이터베이스의 하나의 예시일 뿐입니다. Oracle은 오랫동안 다양한 퍼지 매칭 및 유사성 검색 기능을 제공해 왔습니다. 이제는 온라인 소매(online retail)와 같은 산업을 위해 맞춤화된 도구를 직접 제공합니다.

색인화 패러다임

과거 데이터베이스는 특정 열을 기준으로 빠른 검색을 지원하기 위한 단순한 인덱스를 만들었습니다. 데이터베이스 관리자들은 올바른 인덱스와 함께 더 빠르게 작동하는 복잡한 쿼리를 만드는 데 전문가였습니다, 그 쿼리는 조인과 필터링 조건을 포함했습니다. 현재 벡터 데이터베이스는 벡터의 모든 값을 효과적으로 포함하는 인덱스를 생성하도록 설계되어 있습니다. 서로 “인접한” 벡터를 찾는 데 어떤 응용 프로그램을 사용할 수 있는지에 대한 탐구는 막 시작된 단계입니다.

그러나 이것은 시작에 불과합니다. AI가 데이터베이스에서 학습을 받게 되면, 이는 데이터베이스 내의 모든 정보를 효과적으로 흡수하게 됩니다. 이제 우리는 평범한 언어로 AI에 쿼리를 제출할 수 있으며, AI는 복잡하고 유동적인 방식으로 그 쿼리를 검색하게 됩니다.

  1. 과거의 색인화: 기존 데이터베이스는 빠른 검색을 위해 특정 열(칼럼)에 기반한 단순한 인덱스를 구축했습니다. 데이터베이스 관리자들은 이런 인덱스를 활용해 조인과 필터링을 포함한 복잡한 쿼리를 작성하는 데 능숙했습니다.
  2. 벡터 데이터베이스의 등장: 최근의 벡터 데이터베이스는 벡터의 모든 값을 포괄하는 인덱스를 만들도록 설계되었습니다. 이는 서로 가까운 벡터를 찾는 연구의 초기 단계로, 이런 방식의 인덱싱은 여러 애플리케이션에서의 활용 가능성을 탐구 중입니다.
  3. AI의 역할: AI가 데이터베이스에서 학습하면, 데이터베이스의 모든 정보를 효과적으로 이해하게 됩니다. 이를 통해 사용자는 일상적인 언어로 AI에 질의를 할 수 있게 되며, AI는 이를 복잡하고 적응적인 방식으로 처리합니다.

데이터 분류

AI는 데이터베이스에 새 구조를 추가하는 것 이상의 역할을 합니다. 때로는 데이터 내부에 새로운 구조를 형성하기도 합니다. 일부 데이터는 주석이 없는 이미지나 오래전에 작성된 텍스트와 같이 무질서한 상태로 제공될 수 있습니다. 인공지능 알고리즘은 이런 무질서한 데이터를 정리하고, 잡음을 제거하며, 깔끔한 구조를 부여하는 역할을 시작하였습니다. 그들은 테이블을 자동으로 완성시키며, 텍스트의 감정적 뉘앙스나 사진 속의 얼굴 표정의 기분을 파악할 수 있습니다. 또한 이미지로부터 세부사항을 추출하거나 패턴을 인식하는 능력도 학습하게 됩니다. 이로써 데이터를 분류하고, 중요한 정보를 추출하여 정보를 깔끔하게 정리된 테이블 형태로 표현하게 됩니다.

아마존 웹 서비스는 Aurora와 같은 데이터베이스와 SageMaker와 같은 AI 도구를 연결하는 다양한 데이터 분류 서비스를 제공합니다. data classification services

더 나은 성능


좋은 데이터베이스는 데이터 저장의 많은 세부 사항을 처리합니다. 과거에는 프로그래머들이 효율적으로 작동하게 하기 위해 데이터베이스가 사용하는 여러 매개변수와 스키마에 시간을 투자해야 했습니다. 이러한 작업을 처리하기 위해 데이터베이스 관리자의 역할이 수립되었습니다.

이제 많은 고수준의 메타 작업이 자동화되고 있으며, 종종 쿼리 패턴과 데이터 구조를 이해하기 위해 기계 학습 알고리즘을 사용합니다. 이들은 서버의 트래픽을 관찰하고 요구에 맞게 조정하는 계획을 세울 수 있습니다. 실시간으로 적응하고 사용자가 무엇을 필요로 할지 예측하는 법을 배울 수 있습니다.

Oracle은 가장 좋은 예 중 하나를 제공합니다. 과거에는 회사들이 데이터베이스를 관리하는 데이터베이스 관리자에게 큰 급여를 지불했습니다. 지금은 Oracle이 실시간으로 성능을 조정하는 세련된 AI 알고리즘을 포함하고 있기 때문에 데이터베이스를 자율적이라고 합니다. Autonomous Database

  1. 데이터 저장의 세부사항: 좋은 데이터베이스는 데이터 저장과 관련된 많은 세부 사항을 자동으로 처리합니다. 하지만 과거에는 프로그래머들이 데이터베이스가 효율적으로 작동하도록 여러 설정과 구조에 대해 시간을 투자해야 했습니다.
  2. 데이터베이스 관리자의 역할: 이러한 복잡한 작업을 처리하기 위해 데이터베이스 관리자(DBA)라는 직책이 생겨났습니다.
  3. 자동화와 기계 학습: 현대의 데이터베이스는 많은 고수준 작업을 자동화하고 있습니다. 특히 기계 학습 알고리즘을 사용하여 쿼리 패턴과 데이터 구조를 분석하고 이해합니다. 이런 시스템들은 실시간 트래픽을 관찰하고 예측하여 사용자의 요구에 신속하게 대응할 수 있습니다.
  4. Oracle의 자율적 데이터베이스: Oracle은 이러한 혁신의 좋은 예시로 들 수 있습니다. 과거에는 DBA에게 높은 급여를 지불하면서 데이터베이스를 관리하게 했지만, 지금은 Oracle의 데이터베이스가 AI 알고리즘을 내장하고 있어서, 실시간으로 성능을 최적화하는 ‘자율적인’ 데이터베이스라고 부르고 있습니다.

더 깔끔한 데이터

좋은 데이터베이스를 운영하는 것은 소프트웨어를 기능 유지하는 것뿐만 아니라 가능한 한 깔끔하고 오류가 없는 데이터를 확보하는 것도 포함됩니다. AI는 이러한 작업 부하를 단순화하여 이상치를 검색하고, 표시하며, 심지어는 수정을 제안할 수 있습니다. AI는 고객의 이름이 잘못 입력된 곳을 찾을 수 있으며, 데이터의 나머지 부분을 검색하여 올바른 철자를 찾을 수 있습니다. 또한 들어오는 데이터 형식을 학습하고 데이터를 수집하여 가능한 한 일관되게 모든 이름, 날짜 및 기타 세부 사항이 표시된 단일 통합 말뭉치를 생성할 수 있습니다.

Microsoft의 SQL Server는 누락된 필드나 중복된 날짜와 같은 문제가 있는 데이터를 정리하기 위해 Data Quality Services 와 밀접하게 통합된 데이터베이스의 예입니다.

사기 탐지

How to build a serverless real-time credit card fraud detection solution


보다 안전한 데이터 저장을 위한 특별한 응용 프로그램으로 머신러닝이 사용되고 있습니다. 일부는 데이터 피드에서 이상치를 찾기 위해 머신러닝 알고리즘을 사용하고 있습니다. 왜냐하면 이런 이상치는 사기의 좋은 지표가 될 수 있기 때문입니다. 누군가 밤늦게 처음으로 ATM에 방문하는가? 그 사람은 이 대륙에서 신용카드를 사용한 적이 있는가? AI 알고리즘은 위험한 행을 찾아내고 데이터베이스를 사기 탐지 시스템으로 바꿔줄 수 있습니다.

예를 들어, Google의 웹 서비스는 데이터 저장 스택에 사기 탐지를 통합하기 위한 several options을 제공하고 있습니다.

보다 강력한 보안

일부 조직들은 이러한 알고리즘을 내부적으로 적용하고 있습니다. AI는 데이터베이스를 사용 패턴에 맞게 최적화하려는 것뿐만 아니라, 누군가가 침입하는 것을 나타낼 수 있는 특이한 경우를 찾기도 합니다. 원격 사용자가 전체 테이블의 완전한 복사본을 요청하는 일은 매일 있는 일이 아닙니다. 좋은 AI는 수상한 일을 감지할 수 있습니다.

IBM의 Guardium Security는 액세스를 제어하고 이상치를 감시하기 위해 데이터 저장 계층과 통합된 도구의 한 예입니다.

데이터베이스와 생성적 AI 통합하기


과거에는 AI가 데이터베이스와 별개로 존재했습니다. 모델을 훈련시킬 때 데이터는 데이터베이스에서 추출되어 재포맷되고, 그 후 AI로 공급되었습니다. 새로운 시스템은 현장의 데이터로부터 직접 모델을 훈련시킵니다. 이것은 데이터를 이동하는데 하루나 몇 주가 걸리는 가장 큰 작업에 대해 시간과 에너지를 절약할 수 있게 합니다. 또한 devops 팀의 생활을 단순화시켜 AI 모델을 훈련시키는 것을 하나의 명령어만으로 가능하게 합니다.

데이터베이스를 완전히 대체하는 것에 대한 논의도 있습니다. 관계형 데이터베이스에 쿼리를 보내는 대신 AI에 직접 보내면, AI는 모든 형식의 쿼리에 마법처럼 응답합니다. Google은 Bard를 제공하고, Microsoft는 ChatGPT를 홍보하고 있습니다. 둘 다 검색 엔진을 대체할 심각한 경쟁자입니다. 그들이 전통적인 데이터베이스를 대체할 이유도 없습니다.

접근법에는 단점이 있습니다. 어떤 경우에는 AI가 환영 현상을 겪고 전혀 잘못된 답을 내놓을 수 있습니다. 다른 경우에는 그들이 변덕에 따라 출력 형식을 변경할 수 있습니다.

하지만 도메인이 충분히 제한적이고 교육 세트가 깊고 완벽할 때 인공 지능은 만족스러운 결과를 제공할 수 있습니다. 그리고 테이블 구조를 정의하는 번거로움 없이, 그 안에서 데이터를 찾기 위해 사용자가 쿼리를 작성하는 것을 강제하는 것 없이 그렇게 합니다. 생성적 AI로 데이터를 저장하고 검색하는 것은 사용자와 제작자 모두에게 더 유연할 수 있습니다.

생성적 AI(Generative AI)는 데이터를 생성하거나 수정하는 능력을 가진 알고리즘의 집합을 의미합니다. 이는 전통적인 데이터베이스 시스템과 상반된 접근법을 가져오며, 다음과 같은 방법으로 혁신을 가져다 줍니다:

  1. 데이터 생성: GANs(Generative Adversarial Networks)와 같은 생성적 모델은 존재하지 않는 새로운 데이터를 생성할 수 있습니다. 이는 데이터베이스에서 실제 데이터를 보완하거나 테스트 데이터를 생성하는 데 유용할 수 있습니다.
  2. 데이터 보강: 생성적 AI는 부족한 데이터셋을 확장하거나 보완하는 데 사용될 수 있습니다. 이를 통해 데이터베이스의 구멍을 채우거나 불완전한 데이터를 보완할 수 있습니다.
  3. 데이터 개인화: 생성적 AI는 특정 사용자나 상황에 맞는 데이터를 생성하는 데 활용될 수 있습니다.
  4. 데이터 압축: 생성적 모델은 데이터의 압축된 표현을 학습할 수 있어, 효율적인 저장 및 검색이 가능합니다.
  5. 데이터 복구: 손상된 데이터나 누락된 값을 생성적 AI를 통해 복구하거나 예측할 수 있습니다.
  6. 시뮬레이션과 예측: 전통적인 데이터베이스는 과거의 데이터를 저장하는 반면, 생성적 AI는 미래의 데이터나 다양한 시나리오를 시뮬레이션 할 수 있습니다.
  7. 보안: 생성적 AI는 실제 데이터와 유사한 가짜 데이터를 생성하여 데이터베이스의 보안을 강화할 수 있습니다.
  8. 데이터 잡음 제거: 생성적 모델은 데이터에서 잡음을 제거하는 데도 사용될 수 있어, 데이터베이스 내의 데이터 품질을 향상시킬 수 있습니다.
  9. 새로운 관점의 데이터 분석: 생성적 AI는 전통적인 데이터베이스 분석 방법을 넘어서, 데이터 패턴의 깊은 이해를 통해 새로운 관점과 통찰력을 제공할 수 있습니다.
  10. 자동화와 최적화: 전통적인 데이터베이스 작업들은 수동적이거나 규칙 기반일 수 있는 반면, 생성적 AI는 데이터 작업을 자동화하고 최적화하는 데 활용될 수 있습니다.

이러한 혁신적인 기능들은 전통적인 데이터베이스 시스템이 제공하지 못하는 다양한 가능성을 제시하며, 기업들이나 연구자들이 데이터와 상호작용하는 방식을 재정립하게 합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다