클라우드 컴퓨팅 & NoSQL/Amazon Web Service 27

간단한 S3 Performance Test

스크립트 from boto.s3.connection import S3Connectionfrom boto.s3.key import Keyimport time startime=time.time() conn = S3Connection(XXX','XXX') bucket = conn.create_bucket('terry-s3-performance-test')for i in range(1,100):k = Key(bucket)k.key = "logfile%s" % ik.set_contents_from_filename('logfile origin')conn.close()endtime = time.time() print 'Elaped time %s'% (endtime-startime) 위의 스크립트를 멀티프로세스로 돌려..

아마존의 SSD의 NoSQL 서비스 Dynamo

Dynamo는 새롭게 소개된 AWS의 NoSQL서비스이다. Key-Value 형태로 대용량의 데이타를 저장할 수 있으며, 고속의 데이타 access를 제공한다. 데이타 모델 먼저 데이타 모델을 살펴보자, RDBMS의 일반적인 테이블 구조와 유사하지만, 조금 더 유연성을 가지고 있다. RDBMS와 똑같이 테이블이라는 개념을 가지고 있으며, 테이블은 테이블명과 각각의 ROW로 구성된다. 테이블은 Unique한 Primary Key를 가지고 있다. 이를 Key라고 정의한다. 테이블의 ROW에 해당하는 내용은 item이라고 부르는데, 각 item은 key에 의해서 구분된다. RDBMS와는 다르게, 각 ROW는 똑같은 Column을 갖는 것이 아니라, 각 row 마다 다른 column을 가질 수 있다 그래서, 각..

Amazon S3 서비스 소개

AWS S3 (Simple Stoage Service)는 파일을 저장하기 위한 스토리지이다. 일반적인 파일시스템의 개념과는 약간 다르고, 파일 이름을 대표하는 key와 파일 자체로 구분되는 Object Storage이다.저장할 수 있는 파일의 크기는 개당 1byte~5TB이고, 총 저장 용량에는 제한이 없다. 디렉토리와 비슷한 개념으로, bucket이라는 개념을 가지고 있다.S3에 접근하기 위해서는 일반적은 file io api등은 사용할 수 없으며, REST/HTTP 기반의 프로토콜만 지원한다. 그래서, 성능이 다른 파일 시스템에 비해서 느리다.기본적으로 3 copy를 지원하여, 데이타를 복제하고, 이 복제는 Amazon availability zone (AZ) 단위로 복제가 되기 때문에 데이타 센터 ..

EMR 특징

AWS EMR HDFS in EMR : internal disk 사용NameNode : SPOFquestion Cascading java based data processing and pipeline API Cacalog tetual programming languageMahout : Machine learning algorithmR : statistics analysis. 데이타를 emr에 넣고 빼기 위한 작업 디렉토리는 S3의 RRS 를 사용하는 것도 고려할만함. transfer data into aws is FREE. Spot instance- 일단 on demand로 시작해놓고 spot을 추가해놓으면 운이 좋게 spot이 돌면, 전체 시간을 줄일 수 있고, worst case에도, on deman..

Dynamo 특징

Dynamo 특징 - SSD 사용- Atomic Counter 보유- 전체 용량 한계 없음 attribute (name,value) pairitem : set of attribute with keytable : set of items - range query를 위한 compisite primary key 지원 ( "hash partition attribute", " range attribute" ) http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/QueryAndScan.html Cloud Search와 연동 가능 Read/Write에 대한 용량 보장 유료 Read capacity Write capacity Units of Ca..

빅데이타 분석을 위한 Amazon의 새 서비스 - redshift와 data pipe line

몇일전 AWS에서 redshift 라는 이름의 새로운 서비스가 발표되었다.redshift는 aws 상에서 제공되는 dataware house 서비스이다.data warehour란, 데이타 분석 및 리포팅의 목적으로, 기업의 모든 데이타를 한곳에 모아서 쿼리에 최적화된 데이타 베이스 서비스를 제공한다.특징은, 많은 양의 데이타를 보관해야 하며, CUD (Create/Update/Delete)보다는 Select나 Join등에 최적화되어 있다. AWS의 redshift의 주요 특징을 보면내부 DB는 postgres로 구현되어 있으며 (실제 구현 제품은 http://www.paraccel.com/ 을 사용하였다.) , IO 성능 최적화에 많은 신경을 썼다.스토리지는 EBS를 사용하지 않고, 다수의 Local S..

Amazon EC2 소개 (개정)

아마존의 EC2 서비스는 VM 기반의 컴퓨팅 자원을 제공하는 서비스이다.클릭 몇 번으로 저기 바다 넘어있는 나라에 내 서버를 만들 수 있으며, 내가 사용한 만큼만 비용을 지불하면 된다.아마존 EC2에서 제공하는 VM은 성능과 특성에 따라 여러가지 타입을 가지고 있다. 일반적인 인스턴스 1세대 인스턴스(m1) : m1.* 이름으로 시작하며 아마존에서 일반적으로 제공하는 가상화된 VM 인스턴스 이다.2세대 인스턴스(m3) : 2012년에 발표한 인스턴스로 m3.* 로 시작하며, 기존에 비해서 50% 이상의 높은 CPU 성능을 가지고 있다.특수목적 인스턴스 고용량 메모리 인스턴스(m2) : m2.* 이름으로 시작하며 17,34,68 GB등 많은 용량의 메모리를 가지고 있는 인스턴스이다. (가상코어 역시 그만큼..

Tips Amazon Cloud 사용시 고려 사항

AWS (Amazon Web Service) 사용시 주의 사항 1. IP가 매번 바뀐다.aws의 ec2 instance는 restart시 마다 ip가 매번 바뀐다. ip를 바꾸지 않으려면 EIP (Elastic IP)를 사용해야 하는데, 비용이 크다. 그래서 이런 경우에는 aws에 자체 dns 서버를 세팅하고, instance 가 start up 될때 마다, 고유 서버의 dns 이름을 새로 binding된 ip와 맵핑해서 dns서버에 등록하도록 스크립트를 짜 놓으면 유용하다. 2. io bandwidth를 믿지 마라aws의 가장 큰 어려운 점이, 네트워크 대역폭이다. 아무래도 공유 서비스이다 보니 네트워크 대역폭이 매우 느리다. 즉 내부 서버간 예를 들어 application server - dbms 또..

AWS SQS(Simple Queue Service) 소개

AWS SQS(Simple Queue Service) AWS SQS(Simple Queue Service)는 말 그대로, Simple 한 message queue 서비스 이다.전반적인 기능을 보면 message에 대한 send, receive 기능만 가능하다.대신 AWS 클라우드 환경에서 메세지의 복제를 통해서 장애 대비 능력에 촛점이 맞춰져 있다. JMS 처럼 XA 기반 트렌젝션 관리 능력이나, Error Queue에 대한 처리, auto retry와 같은 고급 기능도 없고RabbitMQ 처럼, routing,pub/sub 등의 다양한 message exchange pattern도 지원하지 않는다. 단순한 enqueue/dequeue 기능의 큐이다. 몇 가지 특성을 살펴보면 1. message 크기는 ..