다음게시글

탐색기를 통한 데이터핸들링 및 Select 구문까지는 확인

다음에 개발소스를 찾아볼것, 실제 구현이 어떤 형태인지

 

 

 

 

 

Azure Cosmos DB의 전자상거래 데이터베이스에 재고 목록 데이터를 추가 

 

SQL 쿼리와 동일한 익숙한 SQL 쿼리를 사용하여 쿼리를 실행하고, 저장된 프로시저와 UDF(사용자 정의 함수)를 사용 

 

데이터탐색기 사용해보자 

 

CLI 실습 

주의사항 

정확한 구독선택 정확한 RG선택 

구독 조회 

az account list --output table 

 

구독선택 

az account set --subscription "<subscription name>" 

 

리소스그룹 조회 

az group list --out table 

 

필요시 리소스그룹 생성, 위치설정 

az group create --name <name> --location <location> 

 

변수에  설정 계속 쓰게 

 

 

Cosmosdb 생성 (몇분 걸림) 

az cosmosdb create --name $NAME --kind GlobalDocumentDB --resource-group $RESOURCE_GROUP 

 

Product 데이터베이스 생성 

az cosmosdb database create --name $NAME --db-name $DB_NAME --resource-group $RESOURCE_GROUP 

 

Clothing 컬렉션 생성(테이블 느낌) 

az cosmosdb collection create --collection-name "Clothing" --partition-key-path "/productId" --throughput 1000 --name $NAME --db-name $DB_NAME --resource-group $RESOURCE_GROUP 

 

 

아래는 캡쳐 

 

 

 

 

 

 

 

 

 

이제 포털에서 데이터탐색기를 이용하자 Web based 

 

 

새문서 만들기 "" 개념 

 

 

{ 

   "id": "1", 

   "productId": "33218896", 

   "category": "Women's Clothing", 

   "manufacturer": "Contoso Sport", 

   "description": "Quick dry crew neck t-shirt", 

   "price": "14.99", 

   "shipping": { 

       "weight": 1, 

       "dimensions": { 

       "width": 6, 

       "height": 8, 

       "depth": 1 

      } 

   } 

} 

 이렇게 새문서 2 입력 

 2 입력 

 

{ 

   "id": "2", 

   "productId": "33218897", 

   "category": "Women's Outerwear", 

   "manufacturer": "Contoso", 

   "description": "Black wool pea-coat", 

   "price": "49.99", 

   "shipping": { 

       "weight": 2, 

       "dimensions": { 

       "width": 8, 

       "height": 11, 

       "depth": 3 

      } 

   } 

} 

 

문서 2 확인됨 

 

 

New 쿼리 선택해서 아래와 같이 쿼리도 가능 

 

 

그런데 

Select 할때 from Product  from Clothing  결과가 같음 

 

SELECT * FROM Products p WHERE p.id ="1" 

 

 

컬렉션 1  만들어보자 

az cosmosdb collection create --collection-name "Clothing222" --partition-key-path "/productId" --throughput 1000 --name $NAME --db-name $DB_NAME --resource-group $RESOURCE_GROUP 

 

 

온라인 소매 애플리케이션에서 사용자가 주문을   쿠폰 코드, 크레딧, 배당금  하나 또는  가지를 모두 동시에 사용하려는 경우 사용자 계정에 해당 옵션을 쿼리하고, 사용자가 해당 옵션을 사용했음을 나타내는 업데이트를 사용자 계정에 적용하고, 주문 총액을 업데이트한  주문을 처리해야 합니다. 

이러한 모든 작업이 단일 트랜잭션 내에서 동시에 수행되어야 합니다. 사용자가 주문 취소를 선택하는 경우에는 변경 내용을 롤백하여 계정 정보를 수정하지 않아야 합니다. 그래야 사용자가 쿠폰 코드, 크레딧, 배당금을 다음 구매 시에 사용할  있습니다. 

Azure Cosmos DB에서 이러한 트랜잭션을 수행할 때는 저장 프로시저  UDF(사용자 정의 함수) 사용합니다. 

 

출처: <https://docs.microsoft.com/ko-kr/learn/modules/access-data-with-cosmos-db-and-sql-api/6-javascript-programming 

 

 

쿼리 종류 

 

SELECT 

    p.id, 

    p.manufacturer, 

    p.description 

FROM Products p 

WHERE p.id ="1" 

SELECT * 

FROM Products.shipping 

 

SELECT p.description 

FROM Products p 

WHERE p.id = "1" 

SELECT p.price, p.description, p.productId 

FROM Products p 

ORDER BY p.price ASC 

SELECT p.productId 

FROM Products p 

JOIN p.shipping 

 

 

 




Application Insights 고객이 불평하기 전까지는 웹사이트의 품질(속도 ) 대해서 인지하지 못한다. 

  • Application Insights 런타임계측 활성화 

  • 원격분석 시각화 기능 사용 

  • 특정 메트릭으로 차트만들기 

 

 

 

웹어플리케이션 성능/동작 모니터링 도구 

각종 지점에서 위의 그림과 같이 이벤트/메트릭 데이터를 캡쳐해준다 

비즈니스도메인 이벤트, 사용자 활동 

메트릭(. 큐의 길이 ) 

 

 

Application Insights에 데이터를 보내도록 앱을 구성하는 데 사용할 수 있는 두 가지 방법 

  1. 런타임계측 (윈도우 IIS 지원?) 웹앱만들  구성해주면  

  2. 웹앱의 코드에 서버 쪽 SDK를 추가(VS에서 nuget 이용) 

 

  • 라이브 메트릭 스트림: 거의 실시간으로 변화하는 성능 값을 표시하는 차트입니다. 

  • 메트릭 탐색기: 시간이 지남에 따라 메트릭이 어떻게 달라졌는지를 보여줍니다. 

  • 경고메시지는 대상 메트릭이 지정된 임계값을 초과하면 자동으로  관리자에게 전송됩니다. 팀이 중요한 문제를 인식하도록 하기 위해 경고를 사용할  있습니다. 

  • 프로파일러: 단일  페이지와 같은 요청 세트가 전달된 방법을 보여줍니다. 예를 들어, 이러한 프로필을 사용하여 어떤 페이지 요소가 느리게 로드되는지 확인할  있습니다. 

  • 애플리케이션 : 애플리케이션의 구성 요소와 해당 구성 요소가 서로 연결되는 방법을 표시합니다.  구성 요소에 표시된 데이터를 사용하여 성능 병목 현상  실패 핫스폿을 진단할  있습니다. 

  • 사용 분석:  사용자에 대한 정보입니다. 예를 들어, 사용자 보존에 대한 정보뿐만 아니라 고유한 사용자  세션 수를   있습니다. 

 

 

기존 웹앱 만들면 기본적인 오류빈도와 요청비율등은 개요 페이지 에서 보여준다 

 

Failed Request 

Server Response Time 

Server Request 

Availability 

 

 

위의 구성도에서와 같이 각종 메트릭은  

애저포털, PowerBI, VS 등에서   있다. 

 

포털- 인사이트 - 메트릭 메뉴에서 확인 가능 

 

 

 

애플리케이션 대시보드를 누르면 포털 대시보드에 표시됨. 아래 

 

 

 

 




'기술(Azure 만...) > [MS]Azure PaaS' 카테고리의 다른 글

웹앱 스케일링  (0) 2019.09.02
webapp 소스 가져오기, sync 다양한 방법  (0) 2019.08.13
Azure SQL databse , 스케일링  (0) 2019.05.15
WebJob 일반 and Azure Function일부  (0) 2019.05.07
CosmosDB 실습  (0) 2019.03.29

플랫폼 관리측면

  1. 자산현황 정확히 파악
  2. 정책 수립
  3. 정기적인 백업, 패치, 백신
  4. 인증강화, MFA

 

프로세스 관리측면

  1. 모니터링
  2. 정기점검(최소 6개월마다)
  3. 남용예방

퇴사 계정 즉시 삭제

 

직원보안 인식관리 측면

  1. 비상체계
  2. 권한 최소화
  3. 자가학습체계
  4. 교육 위임

 




+ Recent posts