카테고리 없음2018. 6. 28. 14:45
반응형

출처 : http://hamait.tistory.com/675




아마존 웹서비스 (AWS) 이용 가격


세부적으로는 요금계산기를 통해 알아보고 대충 머리속에 기억하고 있을만한 내용만 적어보았다.
여기서 나오는 가격은 모두 대략 이란 것을 명심하라. 각종 옵션에 따라 매우 달라진다.


정확한 계산을 위한 계산기는 여기 http://calculator.s3.amazonaws.com/index.html



S3 (스토리지) 


- 일반적인 저장소로서 1TB 저장하는데 한달에 대략 5만원  (1기가당 50원) 

- 같은 리전에 있는 EC2 와 S3 간의 데이터 전송에는 전송 요금이 청구되지 않음.

- Copy 요청을 통해 S3 지역에서 데이터를 전송한 경우 데이터 전송 요금이 청구되지 않음.

- S3 에서 인터넷으로의 데이터 송신은 1TB 월당 대략 15만원 ( GB 당 150원 )

 S3 의 get/set 횟수에 따른 요금이 부과된다.


Glacier (백업 스토리지)


백업용 저장소로서 1TB 저장하는데 한달에 대략 1만원  (1기가당 10원) 



EC2 (컴퓨팅)


온디맨드 (선결재나 장기 약정 없이 사용한 만큼) 


- t2.medium CPU 2개, 메모리 4기가 : 시간당 100원 한달 대략 7~8만원 

- m4.xlarge CPU 4개, 메모리 16기가 : 시간당 400원 한달 대략 25 ~만원 


스팟 인스턴스 ( 시작 및 종료 시간이 자유로운 애플리케이션, 컴퓨팅 가격이 저렴해야하는 경우)

 - 온디맨드보다 대략 반정도 싸다고 생각하면 된다. 


예약 인스턴스 ( 수요가 꾸준한 애플리케이션, 1년~3년동안 약정할 수 있는 고객)

 - t2.medium 은 1년 약정 기준 한달에 대략 6만원 , 3년 약정 기준 2만원 



RDS (관계형 데이터베이스)


PostgreSQL 기준 ( RDS 를 이용하면 스토리지 관리,업그레이드,복제,백업등을 관리) 


온디맨드 DB 인스턴스

- db.t2.medium  100기가 스토리지 + 100기가 백업 스토리지:   한달에 대략 10만원 

- db.m4.xlarge   100기가 스토리지 + 100기가 백업 스토리지:   한달에 대략 40만원 



Route53 (DNS) 


- 한달에 100만 쿼리면 천원 , DNS Failover Health Check 하면 만원까지 올라감. 



CloudFront (컨텐츠 캐쉬)


- Data Transfer Out 의 한달량이 1기가이고 10kb 데이터가 만번 요청되면 5만원.



IoT 플랫폼


- 메세지 백만개당 (512바이트 블록 기준, 최대 128kb 를 하나의 블록으로 전송)  7천원 
- 키네시스와 다른 점은 이것은 스트리밍 처리가 아니라는 점


예) 1개 디바이스가 10초당 1개의 500바이트 메세지를 IoT 로 보낼때 : 1 * 6 * 60 * 24 * 30 = 259200개 
     즉 4개의 디바이스가 10초에 한번씩 메세지를 전송하면 한달에 7천원 든다. 
     디바이스 4000개면 한달에 7백만원이다. 



Lambda (분산 실행 모듈)


-  모듈에 함수를 요청 할때 마다 과금됨.

-  매월 첫 요청 1백만 회까지 무료, 이후 요청 1백만회당 200원 
-  Lambda 에서 처리한 데이터를 S3 에 put 하는데는 S3 의 get/set 의 요금이 부과된다.

예) 1개의 디바이스가 전송한 데이터를 분삭할 모듈을 호출한다고 해보자. 10초에 한번씩 전송하면 
     한달에 1 * 6 * 60 * 24 * 30 = 259200번 호출된다.  디바이스 4개면 천원 든다.
     디바이스 4000 개를  분석하기위한 호출을 하는데 한달에 백만원이다. 



Kinesis Streams (데이터처리 스트림)
-  중요한건 스트리밍이라는 점.. ( 외부에서 생성된 ,디바이스라든지 데이터가 끊임없이 밀려들어 오는것 처리)


-  종량 과금제 

-  샤드 1개는 초당 1MB 의 데이터 입력 및 2MB 의 데이터 출력 용량을 제공

-  샤드 1개는 초당 최대 1,000개의 레코드를 지원한다.  

-  각 샤드에 대한 시간 단위로 사용료가 부과

-  샤드 시간 (초당 1MB 수신, 초당 2MB 송신 ) :   10원 

-  PUT 페이로드 유닛, 1백만개 유닛당 : 20원



Kinesis Firehose (데이터처리 인프라)


-  중요한건 스트리밍이라는 점.. ( 외부에서 생성된 ,디바이스라든지 데이터가 끊임없이 밀려들어 오는것 처리)


Amazon S3로 로드하기 위해 미국 동부 리전의 Amazon Kinesis Firehose로 스트리밍 데이터 레코드를 초당 1,000개 전송하고, 각 레코드 크기는 3KB인 경우, 월별 요금은 다음과 같이 계산됩니다.

월별 요금

미국 동부 리전의 수집 데이터 요금은 GB당 0.035 USD입니다.

3KB의 레코드 크기를 5KB 단위로 올림 처리 = 5KB

수집 데이터(초당 GB) = (레코드 1,000개/초 * 5KB/레코드) / 1,048,576KB/GB = 0.004768GB/초

수집 데이터(월별 GB) = 30일/월 * 86,400초/일 * 0.004768GB/초 = 12,359.62GB/월

월별 요금 = 12,359.62GB * 0.035 USD/GB = 432.59 USD

Amazon S3와 Amazon Redshift로 로드하기 위해 미국 동부 리전의 Amazon Kinesis Firehose로 스트리밍 데이터 레코드를 초당 5,000개 전송하고, 각 레코드 크기는 7KB인 경우, 월별 요금은 다음과 같이 계산됩니다.

월별 요금

미국 동부 리전의 수집 데이터 요금은 GB당 0.035 USD입니다.

7KB의 레코드 크기를 5KB 단위로 올림 처리 = 10KB

수집 데이터(초당 GB) = (레코드 5,000개/초 * 10KB/레코드) / 1,048,576KB/GB = 0.0476837GB/초

수집 데이터(월별 GB) = 30일/월 * 86,400초/일 * 0.0476837GB/초 = 123,596.19GB/월

월별 요금 = 123,596.19GB * 0.035 USD/GB = 4,325.87 USD


Kinesis Analytics (데이터 분석 인프라)


-  중요한건 스트리밍이라는 점.. ( 외부에서 생성된 ,디바이스라든지 데이터가 끊임없이 밀려들어 오는것 처리)

고객은 Amazon Kinesis Analytics를 사용하여 Kinesis Firehose에서 캡처한 스트리밍 데이터를 지속적으로 필터링하고 원하는 레코드만 보관합니다. 이 고객의 월별 Kinesis Analytics 요금은 다음과 같이 계산됩니다.

월별 요금

미국 리전의 요금은 스트림 처리 애플리케이션에서 사용한 KPU별로 시간당 0.11 USD입니다. 1KPU는 메모리 4GB, 컴퓨팅 1vCPU 및 해당 네트워킹 기능과 동일한 스트림 처리 용량을 제공합니다.

이 간단한 스트리밍 필터는 Firehose의 데이터를 처리하는 데 1.7GB의 메모리와 1vCPU의 50%를 사용합니다.

스트리밍 SQL 쿼리가 메모리를 4GB 미만 그리고 컴퓨팅을 1vCPU 미만으로 사용하므로, 애플리케이션에서 워크로드를 처리하는 데 1KPU만 있으면 됩니다.

월별 요금 = 30일 * 24시간 * (1KPU * 0.11 USD/시간) = 79.20 USD


고객은 Amazon Kinesis Analytics를 사용하여 Kinesis Stream에 캡처되어 있는 온라인 쇼핑 트랜잭션에서 판매된 항목의 1분 슬라이딩 윈도우 합계를 계산합니다. 이 스트림은 보통 초당 레코드 1,000개의 속도로 데이터를 수집하지만, 데이터는 하루에 한 번 프로모션 캠페인 중에 1시간 미만 동안 초당 레코드 6,000개의 속도로 급증합니다. 이 고객의 월별 Kinesis Analytics 요금은 다음과 같이 계산됩니다.

월별 요금

미국 리전의 요금은 KPU별로 시간당 0.11 USD입니다. 1KPU는 메모리 4GB, 컴퓨팅 1vCPU 및 해당 네트워킹 기능과 동일한 스트림 처리 용량을 제공합니다.

수신 Kinesis 스트림은 초당 레코드 1,000개의 속도로 데이터를 전송합니다. 하지만 하루에 한 번 1시간 미만 동안 Stream이 초당 레코드 6,000개로 급증합니다. 

  • 하루 24시간 중 23시간 동안 발생하는 '안정 상태'의 경우:

    슬라이딩 윈도우 쿼리는 데이터를 처리하는 데 3.2GB의 메모리와 1vCPU의 50%를 사용합니다.

    스트리밍 SQL 쿼리가 메모리를 4GB 미만 그리고 컴퓨팅을 1vCPU 미만으로 사용하므로, 이 시간 동안은 애플리케이션에서 워크로드를 처리하는 데 1KPU만 있으면 됩니다.

  • 하루 24시간 중 1시간 동안 발생하는 '스파이크 상태'의 경우:

    슬라이딩 윈도우 쿼리는 스트림의 더 큰 데이터 처리량을 처리하는 데 6.4GB의 메모리와 1vCPU의 75%를 사용합니다. 이 스트리밍 SQL 쿼리는 단일 KPU에서 제공하는 메모리를 초과하여 사용하지만, 2개의 KPU에서 제공하는 메모리 양인 8GB보다는 적게 사용합니다. 이 고객에게는 하루 24시간 중 1시간은 2개의 KPU에 대한 요금이 부과됩니다.

월별 요금: 

안정 상태 = 30일 * 23시간 * (1KPU * 0.11 USD/시간) = 75.90 USD

스파이크 상태 = 30일 * 1시간 * (2KPU * 0.11 USD/시간) = 6.60 USD

요금 합계 = 75.90 USD + 6.60 USD = 82.50 USD



출처: http://hamait.tistory.com/675 [HAMA 블로그]

Posted by 1010
02.Oracle/DataBase2018. 6. 19. 10:33
반응형

call SP_B_GPS_REG_DATES( 

        '20170101',

        '20171231'

    );


--------------------------------------


CREATE OR REPLACE PROCEDURE `wbdb`.`GenerateRangeDates`(IN S_INDATE DATE, IN E_INDATE DATE)

BEGIN


    -- CREATE TEMPORARY TABLE IF NOT EXISTS dates (day DATE);

DELETE FROM B_GPS_REG_DATES_TMP;


    loopDate: LOOP

        INSERT INTO B_GPS_REG_DATES_TMP

        (

        YY, MM, DD, QUARTER, INDATE

        )

        VALUES 

        (

        -- SUBSTR(S_INDATE,1,4), SUBSTR(S_INDATE,6,2), SUBSTR(S_INDATE,9,2), QUARTER(S_INDATE), S_INDATE

SUBSTR(S_INDATE,1,4), SUBSTR(S_INDATE,6,2), SUBSTR(S_INDATE,9,2), QUARTER(S_INDATE), CONCAT(SUBSTR(S_INDATE,1,4), SUBSTR(S_INDATE,6,2), SUBSTR(S_INDATE,9,2))

        )

        ; 

        SET S_INDATE = DATE_ADD(S_INDATE, INTERVAL 1 DAY);


        IF S_INDATE <= E_INDATE 

            THEN ITERATE loopDate;

            ELSE LEAVE loopDate;

        END IF;

    END LOOP loopDate;


    -- SELECT day FROM dates;

    -- DROP TEMPORARY TABLE IF EXISTS dates;


END

Posted by 1010
반응형

function excelExport(){

  exportTable($('#jsGrid').html(), 'myFilename.xls');

}


function exportTable(myTable, filename) {

  var agent = navigator.userAgent.toLowerCase();

  if ( (navigator.appName == 'Netscape' && agent.indexOf('trident') != -1) || (agent.indexOf("msie") != -1)) {

       // ie일 경우

       csvData = myTable;

       if (window.navigator.msSaveBlob) {

           var blob = new Blob([csvData], {

               type: "text/html"

           });

           navigator.msSaveBlob(blob, filename);

       }

  }else{

       // ie가 아닐 경우

       window.open("data:application/vnd.ms-excel," + encodeURIComponent(myTable));

  }

}



Posted by 1010