데이터 검색 엔진을 찾아보고 있다. 근데  SQL이 잘되는 RDB를 사용하기에는 데이터의 양이 많은 것 같다. 기존 시스템에서 사용한 RDB로는 커버하기 힘든 양이라 다른 database를 찾고 있다.


우선 http://db-engines.com/en/ranking 에서 기존 DB들과 새롭게 등장한 녀석들을 쓱~~~ 훓어봤다. 양이 양이지만 검색엔진이 잘되어야하는 특성이 존재한다.


첫번째로 눈에 들어온건 MongoDB, Elastics search, Splunk 그리고 redshift이다.

우선 Splunk는 유료이니~ PASS ! Elastics Search는 JOIN 불가능(현재 5.0버전까지)~


여기에서는 Amazon Redshift에 대해서 한번 봐야겠다.


주요 꼭지로 뽑으라면.....

데이터 Warehouse system이다. 그리고 성능을 당연히 봐야겠지? 특성과 구조에 대해서 파악해야할 것 같다. 마지막으로는 연동할 수 있는 다른 서비스적 관점이다.


구조와 특성

RedShift는 PostgreSQL을 베이스로 만들어졌다. JDBC와 ODBC와 같은 SQL을 사용할 수 있다. 

데이터를 저장할 때는 Column base로 압축 저장하며 Clustering환경에서 분산 저장된다.


http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/images/02-NodeRelationships.png


Leader Node에서 SQL에 대한 처리를 담당하고 있다. 특정 쿼리의 경우 Leader Node에서만 동작이 되며 Compute nodes에서는 실행 되지 않은다.(Error 반출) 개별 Node에서 처리한 값들을 Leader Node에서 최종 통합 된다.


http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/images/05-InternalComponents.png


Node들은 Cluster로 묶여 있고 Node는 여러 개의 Slices들로 구분되며 해당 Slices들은 메모리나 디스크에 데이터를 저장하고 있다.


사용함에 있어 중요한 정보는 다음과 같다.

- Best Practices for Designing Tables.

- Best Practices for Disugning Queries.

- Best Practices for Loading Data.



Mysql 과 PostgreSQL을 비교하는 건 다음 사이트에서 확인 가능하다.

http://developer.olery.com/blog/goodbye-mongodb-hello-postgresql/


ConstraintsOraclePostgresMySQL
Check constraintsYesYesNo
Check constraints using custom functions(*)YesYesNo
Exclusion constraints(*)NoYesNo
Statement based constraint evaluationYesYesNo
IndexingOraclePostgresMySQL
Partial index(*)YesYesNo
Descending Index(*)YesYesNo
Index on expression(*)YesYesNo
Index using a custom function(*)YesYesNo
Data TypesOraclePostgresMySQL
User defined datatypes(*)NoYesNo
DomainsNoYesNo
ArraysNoYesNo
Enums(*)NoYesYes
IP addressNoYesNo
BOOLEAN(*)NoYesNo
JOINs and OperatorsOraclePostgresMySQL
FULL OUTER JOINYesYesNo
LATERAL JOINYesYesNo
INTERSECTYesYesNo
INTERSECTYesYesNo
ORDER BY ... NULLS LASTYesYesNo
* 표) 출처 - AGENS (http://www.agens.co.kr/sp.php?p=33)


저작자 표시
신고

'Cloud' 카테고리의 다른 글

아마존 레드쉬프트(RedShift)  (0) 2016.10.18

+ Recent posts