Azure Database for PostgreSQL을 사용한 인텔리전트 앱

Azure App Service
Azure AI 서비스
Azure Database for PostgreSQL
Azure Machine Learning
Power BI

솔루션 아이디어

이 문서는 솔루션 아이디어입니다. 잠재적인 사용 사례, 대체 서비스, 구현 고려 사항 또는 가격 책정 지침과 같은 추가 정보로 콘텐츠를 확장하려면 GitHub 피드백을 제공하여 알려주세요.

이 문서에서는 AI(인공 지능)를 사용하여 데이터 분석 및 시각화를 자동화하는 솔루션을 제공합니다. 솔루션의 핵심 구성 요소는 Azure Functions, Azure Cognitive Services 및 Azure Database for PostgreSQL입니다.

아키텍처

Diagram that shows the dataflow of an intelligent application using Azure Database for PostgreSQL.

이 아키텍처의 Visio 파일을 다운로드합니다.

데이터 흐름

  1. Azure Function 작업을 사용하면 Azure Data Factory 파이프라인에서 Azure Functions 앱을 트리거할 수 있습니다. 연결된 서비스 연결을 만들고 연결된 서비스를 작업과 함께 사용하여 실행하려는 Azure Function을 지정합니다.
  2. 데이터는 Azure Storage 및 대용량 데이터용 Azure Event Hubs를 비롯한 여러 원본에서 제공됩니다. 파이프라인이 새 데이터를 수신하면 Azure Functions 앱이 트리거됩니다.
  3. Azure Functions 앱은 Cognitive Services API를 호출하여 데이터를 분석합니다.
  4. Cognitive Services API는 JSON 형식의 분석 결과를 Azure Functions 앱에 반환합니다.
  5. Azure Functions 앱은 Cognitive Services API의 데이터와 결과를 Azure Database for PostgreSQL에 저장합니다.
  6. Azure Machine Learning은 사용자 지정 기계 학습 알고리즘을 사용하여 데이터에 대한 추가 인사이트를 제공합니다.
    • 코드 없는 관점으로 기계 학습 단계에 접근하는 경우 기능 해시, Word2Vector 및 n-gram 추출과 같은 데이터에 대한 추가 텍스트 분석 작업을 구현할 수 있습니다.
    • 코드 우선 방법을 선호하는 경우 Machine Learning 스튜디오에서 오픈 소스 NLP(자연어 처리) 모델을 실험으로 실행할 수 있습니다.
  7. Power BI용 PostgreSQL 커넥터를 사용하면 Power BI 또는 사용자 지정 웹 애플리케이션에서 사람이 해석할 수 있는 인사이트를 탐색할 수 있습니다.

구성 요소

  • Azure App Service는 웹앱 및 API의 신속한 빌드, 배포 및 크기 조정을 위한 완전 관리형 플랫폼을 제공합니다.
  • Functions는 이벤트 기반 서버리스 컴퓨팅 플랫폼입니다. 작업을 사용하여 Data Factory 파이프라인의 일부로 함수를 실행하는 방법에 대한 자세한 내용은 Azure Data Factory의 Azure Function 작업을 참조하세요.
  • Event Hubs는 완전 관리형 빅 데이터 스트리밍 플랫폼입니다.
  • Cognitive Services는 앱에 인지 인텔리전스를 빌드하는 데 사용할 수 있는 AI 서비스 및 API 제품군을 제공합니다.
  • Azure Database for PostgreSQL은 완전히 관리되는 관계형 데이터베이스 서비스입니다. PostgreSQL에 대해 고가용성과 탄력적 스케일링, 패치 및 기타 관리 기능을 제공합니다.
  • Azure Machine Learning은 기계 학습 모델을 학습시키고, 배포하고, 자동화하는 데 사용할 수 있는 클라우드 서비스입니다. 스튜디오는 코드 우선 및 코드 없는 접근 방식을 지원합니다.
  • Power BI는 분석 정보를 표시하고 데이터에서 인사이트를 도출하는 데 도움이 되는 소프트웨어 서비스 및 앱의 컬렉션입니다.

시나리오 정보

자동화된 파이프라인은 다음 서비스를 사용하여 데이터를 분석합니다.

  • Cognitive Services는 질문 답변, 감정 분석 및 텍스트 번역에 AI를 사용합니다.
  • Azure Machine Learning은 예측 분석을 위한 기계 학습 도구를 제공합니다.

이 솔루션은 데이터와 결과를 저장하기 위해 Azure Database for PostgreSQL을 사용합니다. PostgreSQL 데이터베이스는 비정형 데이터, 병렬 쿼리 및 선언적 분할을 지원합니다. 이러한 지원 덕분에 Azure Database for PostgreSQL은 매우 데이터 집약적인 AI 및 기계 학습 작업에 효과적인 옵션이 되었습니다.

이 솔루션은 데이터 분석 배달을 자동화합니다. 커넥터는 Power BI와 같은 시각화 도구와 Azure Database for MySQL을 연결합니다.

이 아키텍처는 Azure Functions 앱을 사용하여 여러 데이터 원본에서 데이터를 수집합니다. 다음과 같은 이점을 제공하는 서버리스 솔루션입니다.

  • 인프라 유지 관리: Azure Functions는 개발자가 비즈니스에 가치를 제공하는 혁신적인 작업에 집중할 수 있게 해주는 관리형 서비스입니다.
  • 확장성: Azure Functions는 필요에 따라 컴퓨팅 리소스를 제공하므로 필요에 따라 함수 인스턴스가 확장됩니다. 요청이 있으면 리소스 및 애플리케이션 인스턴스가 자동으로 반환됩니다.

잠재적인 사용 사례

Azure Database for PostgreSQL은 클라우드 기반 솔루션입니다. 따라서 이 솔루션은 모바일 애플리케이션에 권장되지 않습니다. 다음 산업 및 기타 산업의 다운스트림 분석에 더 적합합니다.

  • 운송: 유지 관리 예측
  • 금융: 위험 평가 및 사기 탐지
  • 전자 상거래: 고객 이탈 예측 및 추천 엔진
  • 통신: 성능 최적화
  • 유틸리티: 중단 방지

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

  • 대부분의 기능에서 언어용 Cognitive Service API의 최대 크기는 단일 문서당 5120자입니다. 모든 기능의 최대 요청 크기는 1MB입니다. 데이터 및 속도 제한에 대한 자세한 내용은 언어용 Azure Cognitive Service에 대한 서비스 제한을 참조하세요.

  • Azure Database for PostgreSQL에서는 수신 용량 및 속도에 따라 서비스 및 배포 모드가 선택됩니다. 다음 두 가지 서비스를 사용할 수 있습니다.

    • Azure Database for PostgreSQL
    • Azure Cosmos DB for PostgreSQL(이전 명칭 하이퍼스케일(Citus) 모드)

    고객 의견 및 리뷰로 구성된 대규모 워크로드를 마이닝하는 경우 Azure Cosmos DB for PostgreSQL을 사용합니다. Azure Database for PostgreSQL 내에서는 단일 서버와 유연한 서버라는 두 가지 모드를 사용할 수 있습니다. 각 배포 모드를 사용하는 시기를 이해하려면 Azure Database for PostgreSQL이란?을 참조하세요.

  • 이 솔루션의 이전 버전에서는 Cognitive Services Text Analytics API를 사용했습니다. 언어용 Azure Cognitive Service는 이제 Cognitive Services에 Text Analytics, QnA Maker 및 LUIS(Language Understanding)의 세 가지 개별 언어 서비스를 통합합니다. Text Analytics API에서 언어용 Cognitive Service API로 쉽게 마이그레이션할 수 있습니다. 자세한 내용은 최신 버전의 언어용 Azure Cognitive Service로 마이그레이션을 참조하세요.

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요.

Azure Database for PostgreSQL의 모든 데이터는 자동으로 암호화되고 백업됩니다. 위협을 추가로 완화하기 위해 클라우드용 Microsoft Defender를 구성할 수 있습니다. 자세한 내용은 오픈 소스 관계형 데이터베이스에 Microsoft Defender 사용하도록 설정하고 경고에 응답을 참조하세요.

DevOps

연결 문자열을 사용하고 워크플로를 설정하여 Azure Database for PostgreSQL 데이터베이스에 연결하도록 GitHub Actions를 구성할 수 있습니다. 자세한 내용은 빠른 시작: GitHub Actions를 사용하여 Azure PostgreSQL에 연결을 참조하세요.

Azure Pipelines를 사용하여 기계 학습 수명 주기를 자동화할 수도 있습니다. MLOps 워크플로를 구현하고 프로젝트에 대한 CI/CD 파이프라인을 빌드하는 방법에 대한 자세한 내용은 GitHub 리포지토리 Azure ML을 사용하는 MLOps를 참조하세요.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

언어용 Cognitive Service는 다양한 가격 책정 계층을 제공합니다. 처리하는 텍스트 레코드의 수는 비용에 영향을 줍니다. 자세한 내용은 언어용 Cognitive Service 가격 책정을 참조하세요.

다음 단계