실시간 분석을 통해 빠른 의사 결정을 내리고 현재 인사이트를 기반으로 자동화된 작업을 수행할 수 있습니다. 또한 향상된 고객 환경을 제공하는 데 도움이 될 수 있습니다. 이 솔루션은 Azure Synapse Analytics 데이터 풀을 MongoDB의 운영 데이터 변경 내용과 동기화된 상태로 유지하는 방법을 설명합니다.
아키텍처
다음 다이어그램에서는 Atlas를 Azure Synapse Analytics에 실시간 동기화를 시행하는 방법을 보여 줍니다. 이 간단한 흐름은 MongoDB Atlas 컬렉션에서 발생하는 모든 변경 내용이 Azure Synapse Analytics 작업 영역의 기본 Azure Data Lake Storage 리포지토리에 복제되도록 합니다. 데이터가 Data Lake Storage에 있으면 Azure Synapse Analytics 파이프라인을 사용하여 분석 요구 사항에 따라 전용 SQL 풀, Spark 풀 또는 기타 솔루션에 데이터를 푸시할 수 있습니다.
이 아키텍처의 PowerPoint 파일을 다운로드합니다.
데이터 흐름
MongoDB Atlas ODS(운영 데이터 저장소)의 실시간 변경 내용이 캡처되고 실시간 분석 사용 사례, 라이브 보고서 및 대시보드를 위해 Azure Synapse Analytics 작업 영역의 Data Lake Storage에서 사용할 수 있습니다.
MongoDB Atlas 운영/트랜잭션 데이터 저장소의 데이터 변경 내용은 Atlas 트리거에 의해 캡처됩니다.
Atlas 데이터베이스 트리거는 이벤트를 관찰할 때 변경 형식과 변경된 문서(전체 또는 델타)를 Atlas 함수에 전달합니다.
Atlas 함수는 Azure 함수를 트리거하여 변경 이벤트 및 JSON 문서를 전달합니다.
Azure Functions는 Azure Storage Files Data Lake 클라이언트 라이브러리를 사용하여 변경된 문서를 Azure Synapse Analytics 작업 영역의 구성된 Data Lake Storage에 씁니다.
데이터가 Data Lake Storage에 있으면 전용 SQL 풀, Spark 풀 및 기타 솔루션으로 보낼 수 있습니다. 또는 Azure Synapse Analytics 데이터 흐름을 사용하거나 파이프라인을 복사하여 현재 데이터에 대해 추가 BI 보고 또는 AI/기계 학습을 실행하여 데이터를 JSON에서 Parquet 또는 Delta 형식으로 변환할 수 있습니다.
구성 요소
- MongoDB Atlas 변경 스트림을 사용하면 컬렉션, 데이터베이스 또는 배포 클러스터에 대한 변경 사항을 애플리케이션에 알릴 수 있습니다. 변경 스트림은 애플리케이션에 실시간 데이터 변경 사항에 대한 액세스 권한을 부여하고 변경 사항에 즉시 대응할 수 있도록 합니다. 이 기능은 IoT 이벤트 추적 및 재무 데이터 변경과 같은 사용 사례에서 중요하며, 경보를 발생시키고 즉시 응답 작업을 수행해야 합니다. Atlas 트리거는 변경 스트림을 사용하여 컬렉션에서 변경 내용을 모니터링하고 트리거 이벤트에 대한 응답으로 연결된 Atlas 함수를 자동으로 호출합니다.
- Atlas 트리거는 특정 컬렉션의 문서 삽입, 업데이트 및 삭제에 응답하고 변경 이벤트에 대한 응답으로 Atlas 함수를 자동으로 호출할 수 있습니다.
- Atlas 함수 는 Atlas 트리거를 호출하는 이벤트에 따라 작업을 수행할 수 있는 서버리스 서버 쪽 JavaScript 코드 구현입니다. Atlas 트리거를 Atlas 함수와 결합하면 이벤트 기반 아키텍처의 구현이 간소화됩니다.
- Azure Functions 는 원하는 프로그래밍 언어로 애플리케이션을 효율적으로 개발하는 데 사용할 수 있는 이벤트 기반의 서버리스 컴퓨팅 플랫폼입니다. 다른 Azure 서비스와 원활하게 연결하는 데 사용할 수도 있습니다. 이 시나리오에서 Azure 함수는 변경 이벤트를 캡처하고 이를 사용하여 Azure Storage Files Data Lake 클라이언트 라이브러리를 사용하여 변경된 데이터가 포함된 Blob을 Data Lake Storage에 작성합니다.
- Data Lake Storage 는 Azure Synapse Analytics의 기본 스토리지 솔루션입니다. 서버리스 풀을 사용하여 데이터를 직접 쿼리할 수 있습니다.
- Azure Synapse Analytics의 파이프라인 및 데이터 흐름을 사용하여 MongoDB 변경된 데이터가 포함된 Blob을 전용 SQL 풀 또는 Spark 풀로 푸시하여 추가 분석을 수행할 수 있습니다. 파이프라인을 사용하면 스토리지 이벤트 트리거와 예약된 트리거를 모두 사용하여 Data Lake Storage에서 변경된 데이터 세트에 대해 작업을 수행하여 실시간 및 거의 실시간 사용 사례 모두에 대한 솔루션을 빌드할 수 있습니다. 이 통합은 변경 데이터 세트의 다운스트림 사용을 가속화합니다.
대안
이 솔루션은 Atlas 트리거를 사용하여 Atlas 변경 스트림을 수신 대기하고 변경 이벤트에 대한 응답으로 Azure Functions를 트리거하기 위한 코드를 래핑합니다. 따라서 이전에 제공된 대체 솔루션보다 구현하기가 훨씬 쉽습니다. 해당 솔루션의 경우 Azure 앱 Service 웹 앱에서 변경 스트림을 수신 대기하는 코드를 작성해야 합니다.
또 다른 대안은 MongoDB Spark 커넥터를 사용하여 MongoDB 스트림 데이터를 읽고 델타 테이블에 쓰는 것입니다. 이 코드는 Azure Synapse Analytics의 파이프라인에 포함된 Spark Notebook에서 지속적으로 실행됩니다. 이 솔루션을 구현하는 방법에 대한 자세한 내용은 Spark 스트리밍을 사용하여 Atlas에서 Azure Synapse Analytics로 동기화를 참조 하세요.
그러나 Azure Functions에서 Atlas 트리거를 사용하면 완전히 서버리스 솔루션이 제공됩니다. 서버리스이므로 솔루션은 강력한 확장성 및 비용 최적화를 제공합니다. 가격 책정은 종량제 비용 모델을 기반으로 합니다. Azure Functions 엔드포인트를 호출하기 전에 Atlas 함수를 사용하여 몇 가지 변경 이벤트를 결합하여 더 많은 비용을 절감할 수 있습니다. 이 전략은 트래픽이 많은 시나리오에서 유용할 수 있습니다.
또한 Microsoft Fabric은 데이터 자산을 통합하고 데이터를 통해 분석 및 AI를 보다 쉽게 실행할 수 있으므로 신속하게 인사이트를 얻을 수 있습니다. Fabric의 Azure Synapse Analytics 데이터 엔지니어링, 데이터 과학, 데이터 웨어하우징 및 실시간 분석을 통해 이제 OneLake에 푸시된 MongoDB 데이터를 더 잘 사용할 수 있습니다. Atlas용 Dataflow Gen2 및 데이터 파이프라인 커넥터를 모두 사용하여 Atlas 데이터를 OneLake에 직접 로드할 수 있습니다. 이 코드 없는 메커니즘은 Atlas에서 OneLake로 데이터를 수집하는 강력한 방법을 제공합니다.
Fabric에서는 추출, 변환, 로드(ETL) 없이 OneLake 바로 가기를 사용하여 Data Lake Storage에 푸시된 데이터를 직접 참조할 수 있습니다.
데이터를 Power BI에 푸시하여 BI 보고에 대한 보고서 및 시각화를 생성할 수 있습니다.
시나리오 정보
많은 엔터프라이즈 애플리케이션의 운영 데이터 계층인 MongoDB Atlas는 여러 채널의 내부 애플리케이션, 고객 관련 서비스 및 타사 API의 데이터를 저장합니다. Azure Synapse Analytics의 데이터 파이프라인을 사용하여 이 데이터를 다른 기존 애플리케이션의 관계형 데이터 및 로그, 개체 저장소 및 클릭스트림과 같은 원본의 비정형 데이터와 결합할 수 있습니다.
엔터프라이즈는 집계, 분석 노드, Atlas Search, 벡터 검색, Atlas Data Lake, Atlas SQL 인터페이스, 데이터 페더레이션 및 차트와 같은 MongoDB 기능을 사용하여 애플리케이션 기반 인텔리전스를 사용하도록 설정합니다. 그러나 MongoDB의 트랜잭션 데이터는 일괄 처리, AI / 기계 학습 및 데이터 웨어하우스 BI 분석 및 인텔리전스를 위해 Azure Synapse Analytics 전용 SQL 풀 또는 Spark 풀에 추출, 변환 및 로드됩니다.
Atlas와 Azure Synapse Analytics 간의 데이터 이동 시나리오에는 일괄 처리 통합과 실시간 동기화라는 두 가지 시나리오가 있습니다.
Batch 통합
일괄 처리 및 마이크로 배치 통합을 사용하여 Azure Synapse Analytics에서 Atlas에서 Data Lake Storage로 데이터를 이동할 수 있습니다. 전체 기록 데이터를 한 번에 가져오거나 필터 조건에 따라 증분 데이터를 가져올 수 있습니다.
MongoDB 온-프레미스 인스턴스와 MongoDB Atlas를 Azure Synapse Analytics의 원본 또는 싱크 리소스로 원활하게 통합할 수 있습니다. 커넥터에 대한 자세한 내용은 MongoDB에서 또는 MongoDB로 데이터 복사 또는 MongoDB Atlas에서 또는 MongoDB로 데이터 복사를 참조하세요.
원본 커넥터는 MongoDB 또는 Atlas에 저장되는 운영 데이터를 기반으로 Azure Synapse Analytics를 실행을 편하게 합니다. 원본 커넥터를 사용하여 Atlas에서 데이터를 가져오고 Parquet, Avro, JSON 및 텍스트 형식으로 또는 CSV Blob Storage로 Data Lake Storage에 데이터를 로드할 수 있습니다. 이러한 파일은 변환되거나 다중 데이터베이스, 다중 클라우드 또는 하이브리드 클라우드 시나리오에 있는 다른 데이터 원본의 다른 파일과 조인할 수 있습니다. 이 사용 사례는 EDW(엔터프라이즈 데이터 웨어하우스) 및 대규모 분석 시나리오에서 일반적입니다. 싱크 커넥터를 사용하여 분석 결과를 Atlas에 다시 저장할 수도 있습니다. 일괄 처리 통합에 대한 자세한 내용은 Azure Synapse Analytics를 사용하여 MongoDB Atlas에서 운영 데이터 분석을 참조 하세요.
실시간 동기화
이 문서에 설명된 아키텍처는 실시간 동기화를 구현하여 MongoDB 운영 데이터를 사용하여 Azure Synapse Analytics 스토리지를 최신 상태로 유지하는 데 도움이 될 수 있습니다.
이 솔루션은 다음 두 가지 기본 함수로 구성됩니다.
- Atlas에서 변경 내용 캡처
- Azure Synapse Analytics에 변경 내용을 전파하는 Azure 함수 트리거
Atlas 변경 내용 캡처
트리거 추가 UI에서 구성할 수 있는 Atlas 트리거를 사용하거나 Atlas App Services 관리 API를 사용하여 변경 내용을 캡처할 수 있습니다. 트리거는 삽입, 업데이트 및 삭제와 같은 데이터베이스 이벤트로 인한 데이터베이스 변경 내용을 수신 대기합니다. 또한 Atlas 트리거는 변경 이벤트가 감지될 때 Atlas 함수를 트리거합니다. 트리거 추가 UI를 사용하여 함수를 추가할 수 있습니다. Atlas Admin API를 사용하여 Atlas 함수를 만들고 트리거 호출 엔드포인트로 연결할 수도 있습니다.
다음 스크린샷은 Atlas 트리거를 만들고 편집하는 데 사용할 수 있는 양식을 보여줍니다. 트리거 원본 세부 정보 섹션에서 트리거가 변경 이벤트를 감시하는 컬렉션과 해당 이벤트가 감시하는 데이터베이스 이벤트(삽입, 업데이트, 삭제 및/혹은 바꾸기)를 지정합니다.
트리거는 활성화된 이벤트에 대한 응답으로 Atlas 함수를 호출할 수 있습니다. 다음 스크린샷은 데이터베이스 트리거에 대한 응답으로 호출하기 위해 Atlas 함수로 추가된 간단한 JavaScript 코드를 보여줍니다. Atlas 함수는 트리거를 사용하도록 설정된 항목에 따라 삽입, 업데이트, 삭제 또는 교체된 문서와 함께 변경 이벤트의 메타데이터를 전달하여 Azure 함수를 호출합니다.
Atlas 함수 코드
Atlas 함수 코드는 요청 본문의 전체 changeEvent
를 Azure 함수에 전달하여 Azure 함수 엔드포인트와 연결된 Azure 함수를 트리거합니다.
자리 표시자를 실제 Azure 함수 URL 엔드포인트로 바꿔 <Azure function URL endpoint>
야 합니다.
exports = function(changeEvent) {
// Invoke Azure function that inserts the change stream into Data Lake Storage.
console.log(typeof fullDocument);
const response = context.http.post({
url: "<Azure function URL endpoint>",
body: changeEvent,
encodeBodyAsJSON: true
});
return response;
};
Azure Synapse Analytics에 변경 내용을 전파하는 Azure 함수 트리거
Atlas 함수는 변경 문서를 Azure Synapse Analytics의 Data Lake Storage에 쓰는 Azure 함수를 호출하도록 코딩됩니다. Azure 함수는 Python SDK용 Azure Data Lake Storage 클라이언트 라이브러리를 사용하여 스토리지 계정을 나타내는 DataLakeServiceClient
클래스의 인스턴스를 만듭니다.
Azure 함수는 인증을 위해 스토리지 키를 사용합니다. Microsoft Entra ID OAuth 구현을 사용할 수도 있습니다. storage_account_key
및 Dake Lake Storage와 관련된 기타 특성은 구성된 OS 환경 변수에서 가져옵니다. 요청 본문을 디코딩한 후 fullDocument
(삽입되거나 업데이트된 문서 전체)은 요청 본문에서 구문 분석된 다음 Data Lake 클라이언트 함수 append_data
및 flush_data
에 의해 Data Lake Storage에 기록됩니다.
삭제 작업의 경우, fullDocumentBeforeChange
이 fullDocument
대신 사용됩니다. fullDocument
에는 삭제 작업에 값이 없으므로, 코드는 fullDocumentBeforeChange
에 캡쳐된 삭제된 문서를 가져옵니다. 이전 스크린샷과 같이 문서 프리이미지 설정이 설정된 경우에만 fullDocumentBeforeChange
이 채워진다는 것을 유의하세요.
import json
import logging
import os
import azure.functions as func
from azure.storage.filedatalake import DataLakeServiceClient
def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a new request.')
logging.info(req)
storage_account_name = os.environ["storage_account_name"]
storage_account_key = os.environ["storage_account_key"]
storage_container = os.environ["storage_container"]
storage_directory = os.environ["storage_directory"]
storage_file_name = os.environ["storage_file_name"]
service_client = DataLakeServiceClient(account_url="{}://{}.dfs.core.windows.net".format(
"https", storage_account_name), credential=storage_account_key)
json_data = req.get_body()
logging.info(json_data)
object_id = "test"
try:
json_string = json_data.decode("utf-8")
json_object = json.loads(json_string)
if json_object["operationType"] == "delete":
object_id = json_object["fullDocumentBeforeChange"]["_id"]["$oid"]
data = {"operationType": json_object["operationType"], "data":json_object["fullDocumentBeforeChange"]}
else:
object_id = json_object["fullDocument"]["_id"]["$oid"]
data = {"operationType": json_object["operationType"], "data":json_object["fullDocument"]}
logging.info(object_id)
encoded_data = json.dumps(data)
except Exception as e:
logging.info("Exception occurred : "+ str(e))
file_system_client = service_client.get_file_system_client(file_system=storage_container)
directory_client = file_system_client.get_directory_client(storage_directory)
file_client = directory_client.create_file(storage_file_name + "-" + str(object_id) + ".txt")
file_client.append_data(data=encoded_data, offset=0, length=len(encoded_data))
file_client.flush_data(len(encoded_data))
return func.HttpResponse(f"This HTTP triggered function executed successfully.")
지금까지 Atlas 트리거가 발생하는 모든 변경 내용을 캡처하고 Atlas 함수를 통해 Azure 함수에 전달하는 방법과 Azure 함수가 변경 문서를 Azure Synapse Analytics 작업 영역의 Data Lake Storage에 새 파일로 작성하는 방법을 살펴보았습니다.
파일이 Data Lake Storage에 추가되면 스토리지 이벤트 트리거를 설정하여 변경 문서를 전용 SQL 풀 또는 Spark 풀 테이블에 쓸 수 있는 파이프라인을 트리거할 수 있습니다. 파이프라인은 복사 작업 사용하고 데이터 흐름을 사용하여 데이터를 변환할 수 있습니다. 또는 최종 대상이 전용 SQL 풀인 경우 Azure Synapse Analytics의 전용 SQL 풀에 직접 쓰도록 Azure 함수를 수정할 수 있습니다. SQL 풀의 경우 SQL 풀 연결에 대한 ODBC 연결 문자열을 가져옵니다. 연결 문자열 사용하여 SQL 풀 테이블을 쿼리하는 데 사용할 수 있는 Python 코드의 예제는 Python을 사용하여 데이터베이스를 쿼리하는 방법을 참조하세요. 삽입 쿼리를 사용하여 전용 SQL 풀에 쓰도록 이 코드를 수정할 수 있습니다. 함수가 전용 SQL 풀에 쓸 수 있도록 하기 위해 할당해야 하는 구성 설정 및 역할이 있습니다. 이러한 설정 및 역할에 대한 정보는 이 문서의 범위를 벗어납니다.
거의 실시간으로 솔루션을 원하고 데이터를 실시간으로 동기화할 필요가 없는 경우 예약된 파이프라인 실행을 사용하는 것이 좋은 옵션일 수 있습니다. 예약된 트리거를 설정하여 비즈니스에서 감당할 수 있는 거의 실시간 빈도에 가까운 빈도로 복사 작업 또는 데이터 흐름을 사용하여 파이프라인을 트리거하여 MongoDB 커넥터를 사용하여 마지막으로 예약된 실행과 현재 실행 사이에 삽입, 업데이트 또는 삭제된 MongoDB에서 데이터를 가져올 수 있습니다. 파이프라인은 MongoDB 커넥터를 원본 커넥터로 사용하여 MongoDB Atlas에서 델타 데이터를 가져오고 이를 싱크 연결로 사용하여 Data Lake Storage 또는 Azure Synapse Analytics 전용 SQL 풀에 푸시합니다. 이 솔루션은 Atlas 트리거가 수신 대기하는 MongoDB Atlas 컬렉션에서 변경이 발생할 때 MongoDB Atlas의 끌어오기 메커니즘(이 문서에 설명된 기본 솔루션인 푸시 메커니즘)을 사용합니다.
잠재적인 사용 사례
MongoDB 및 Azure Synapse Analytics EDW 및 분석 서비스는 다음과 같은 다양한 사용 사례를 제공할 수 있습니다.
Retail
- 제품 번들링 및 제품 프로모션에 인텔리전스 빌드
- 고객 360 및 하이퍼 개인 설정 구현
- 재고 고갈 예측 및 공급망 주문 최적화
- 전자상거래에서 동적 할인 가격 책정 및 스마트 검색 구현
은행 및 금융 업무
- 고객 금융 서비스 사용자 지정
- 사기성 트랜잭션 검색 및 차단
전자 통신
- 차세대 네트워크 최적화
- 경계 네트워크 값 최대화
자동차
- 연결된 차량의 매개 변수화 최적화하기
- 연결된 차량의 IoT 통신에서 변칙 검색
제조업
- 기계류에 대한 예측 유지 관리 제공
- 스토리지 및 재고 관리 최적화
고려 사항
이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일련의 기본 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.
보안
우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요.
Azure Functions는 서버리스 관리 서비스이므로 앱 리소스 및 플랫폼 구성 요소는 향상된 보안으로 보호됩니다. 그러나 HTTPS 프로토콜 및 최신 TLS 버전을 사용하는 것이 좋습니다. 또한 입력의 유효성을 검사하여 MongoDB 변경 문서인지 확인하는 것이 좋습니다. Azure Functions에 대한 보안 고려 사항은 Azure Functions 보안을 참조하세요.
MongoDB Atlas는 관리되는 데이터베이스 as a Service이므로 MongoDB는 향상된 플랫폼 보안을 제공합니다. MongoDB는 데이터베이스 액세스, 네트워크 보안, 미사용 및 전송 중 암호화 및 데이터 주권을 포함하여 저장된 데이터에 대한 360도 보안을 보장하는 데 도움이 되는 여러 메커니즘을 제공합니다. MongoDB Atlas 보안 백서를 위한 MongoDB Atlas 보안 및 기타 도움이 되는 문서를 참조하여 MongoDB의 데이터가 데이터 수명 주기 내내 안전하게 보호되도록 하세요.
비용 최적화
비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.
Azure 제품 및 구성의 비용을 예상하려면 Azure 가격 계산기를 사용합니다. Azure는 올바른 리소스 수를 정하고, 시간 경과에 따른 지출을 분석하고, 초과 지출 없이 비즈니스 요구 사항을 충족하도록 스케일링하여 불필요한 비용을 방지하는 데 도움이 됩니다. Azure Functions는 호출될 때만 비용이 발생합니다. 그러나 MongoDB Atlas의 변경 볼륨에 따라 Atlas 함수의 일괄 처리 메커니즘을 사용하여 다른 임시 컬렉션에 변경 내용을 저장하고 일괄 처리가 특정 제한을 초과하는 경우에만 Azure 함수를 트리거할 수 있습니다.
Atlas 클러스터에 대한 자세한 내용은 MongoDB Atlas를 사용하여 비용을 절감하는 5가지 방법 및 클러스터 설정 비용을 참조하세요. MongoDB 가격 책정 페이지는 MongoDB Atlas 클러스터 및 MongoDB Atlas 개발자 데이터 플랫폼의 다른 제품에 대한 가격 책정 옵션을 이해하는 데 도움이 될 수 있습니다. Atlas 데이터 페더레이션은 Azure에 배포할 수 있으며 Azure Blob Storage 를 지원(미리 보기로)합니다. 일괄 처리를 사용하여 비용을 최적화하려는 경우 MongoDB 임시 컬렉션 대신 Blob Storage에 쓰는 것이 좋습니다.
성능 효율성
성능 효율성은 사용자가 배치된 요구 사항을 효율적인 방식으로 충족하기 위해 워크로드의 크기를 조정할 수 있는 기능입니다. 자세한 내용은 성능 효율성 핵심 요소 개요를 참조하세요.
Atlas 트리거 및 Azure Functions는 성능 및 확장성을 위해 시간 테스트됩니다. Azure Functions에 대한 성능 및 확장성 고려 사항을 이해하려면 지속성 함수(Azure Functions)의 성능 및 규모를 참조하세요. MongoDB Atlas 인스턴스의 성능을 향상시키기 위한 몇 가지 고려 사항은 주문형 크기 조정을 참조하세요. MongoDB Atlas 구성에 대한 모범 사례는 MongoDB 성능에 대한 모범 사례 가이드를 참조하세요.
결론
MongoDB Atlas는 Azure Synapse Analytics와 원활하게 통합되어 Atlas 고객이 Azure Synapse Analytics의 원본 또는 싱크로 Atlas를 쉽게 사용할 수 있도록 합니다. 이 솔루션을 사용하면 복잡한 분석 및 AI 유추를 위해 Azure Synapse Analytics에서 MongoDB 운영 데이터를 실시간으로 사용할 수 있습니다.
시나리오 배포
MongoDB Atlas와 Azure Synapse Analytics의 실시간 동기화
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
주요 작성자:
- 다이애나 애니 제노시 | 선임 솔루션스 아키텍트 - MongoDB 파트너 팀
- 벤카테시 샨백| 선임 솔루션 설계자 - MongoDB 파트너 팀
기타 기여자:
- Sunil Sabat | 수석 프로그램 관리자 - ADF team
- Wee Hyong Tok | PM 수석 이사 - ADF 팀
비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.