반응형

불금(0707)엔 역시 운동이지~!


딥스100개로 시작해서 어깨운동 및 레그레이즈 100개로 마무리


뿌듯:)




반응형
반응형


엘라스틱서치(ElasticSearch) 키바나(Kibana)


데이터를 다루는 사람이라면 한번쯤은 ELK(ElasticSeach + LogStash + Kibana) 들어봤거나 다루고 있을 것이다.


내가 지금 만지고 있는 시스템에서는 nginx, fluentd, kafka, cassandra 데이터를 처리하고 있다보니 ELK 다룰 기회가 없었다. 


최근 nginx 통해 유입되는 데이터량과 카프카 + 카뮈(camus, 카프카에서 hdfs 데이터를 배치로 옮겨주는 역할) 데이터량에 대한 


모니터링이 필요할 같다는 생각이 들었다. 



금방하겠지 생각하고 로컬에 엘라스틱서치(ElasticSearch), Kibana설치하고 데이터 놓고 그래프 그리려는데 생각보다는 쉽지 않았다.


엘라스틱서치(ElasticSearch) 키바나(Kibana) 설치 실행까지는 굉장히 쉬웠고 단조롭게 진행되었다.


curl 엘라스틱서치(ElasticSearch) 데이터를 넣고 키바나로 그래프를 그리는 부분에서 많은 시간을 소모하게 되었다.



아무래도 누군가의 설명과 도움없이 진행하다보니 시행착오를 많이 겪었다.


결국 내가 원하는대로 데이터를 넣고 그래프를 넣는데 까지는 성공을 했지만 


효율적으로 엘라스틱서치(ElasticSearch) 키바나를 사용하기 위해서는 학습이 필요하겠다라는 생각이 들었다.



앞으로 엘라스틱서치(ElasticSearch) 가까워 같다는 느낌이 들었고 


짧게 만져봤지만 앞으로 새로 구축하는 시스템에는 검색 데이터스토리지로도 활용하는 것도 굉장히 좋을 같다는 생각이 들었다.


일단 책부터 지르자~gogo!!!



반응형
반응형

금요일(0707)

 

칠월칠일 금요일 불금에는 역시 운동!!!

 

어깨운동

딥스, 바벨숄더프레스, 레터럴레이즈 등등

 

 

 

반응형
반응형

수요일(0705)


등운동 한 날...인데 참 부실하게도 했다...


오전에 운동하는건 쉽지 않아ㅎㅎ



반응형
반응형

가슴 삼두운동 한 날 화요일(0704)


딥스, 인클라인벤치프레스, 벤치프레스, 케이블플라이 등등


그래도 과자는 많이 줄였다...마가렛트 4봉지 먹긴했지만...ㅠ



반응형
반응형

화요일(0627)


등운동 한 날

바벨로우, 데드리프트, 케이블로우, 랫풀다운 등등


데드리프트 최고 120 3reps


몸무게에 두배는 들어야 할텐데...




반응형
반응형

월요일(0626)


가슴운동

플라이덱, 인클라인벤치프레스, 딥스, 케이블플라이 등등...


기록하는 삶.



반응형
반응형
이전에 데이터 처리하는 어플리케이션을 개발할 때 NoSQL로 어떤걸 쓰면 좋을지 조사한 글을 포스팅해본다.
그 당시 고민했던 NoSQL 중 카산드라(Cassandra), HBASE, MongoDB 세 가지로 선정해 조사했었다.
RDBMS? NOSQL?
  • 데이터의 읽기 쓰기 등 퍼포먼스에 치중한다면 NOSQL, 트랜잭션과 같은 정합성 위주의 시스템을 사용한다면 RDBMS
  • RDBMS 컬럼 변경 용이하지 않음, NOSQL 컬럼 변경 용이
  • NOSQL의 경우 sorting, join, grouping, range query, index 매우 취약
  • RDBMS 학습 비용 x
  • NOSQL 학습 비용 소요 (운영시 어떤 장애상황이 생길지 예측이 어려움)
  • NOSQL 가장 큰 장점 (Scale-Out, RDBMS보다 상대적으로 빠른 쓰기/읽기)

NOSQL 분류
[ 키 밸류형 ] redis, memcached, Oracle Coherence
[ 컬럼형 ] Cassandra, HBASE, Cloud Datastore
[ 문서형 ] MongoDB, Couchbase, MarkLogic, PostgreSQL, MySQL, DynamoDB MS-DocumentDB
[ 그래프형 ] Neo4j

DataStore설 명장 점단 점
Cassandra

-Facebook에 의해 2008년 아파치 오픈소스로 공개된 분산 데이터 베이스 (자바 언어 기반) 
-컬럼 단위로 관리되어 컬럼형으로 분류 
-대용량의 데이터 트랜잭션에 대해 고성능 처리가 가능(실제 트위터 MYSQL -> Cassandra로 전환)

-대량으로 쓰기가 발생하는 서비스에 좋음 
-확장성이 뛰어남  
-Apache Foundation에서 개발중이며커뮤니티 활발 
- Scale-Out

-최소 3대 이상 구성(클러스터 환경) 
-복잡한 조건 검색 불가 
-데이터 갱신 및 입력시 Atomic한 처리가 힘듬

HBase

-대량 데이터를 우수한 성능으로 데이터 일관성을 보장하면서 다뤄야 할 때 주로 사용 
-대량 데이터 분석 및 처리를 위해 사용되는 Hadoop의 산하 프로젝트로 시작된 데이터베이스 (HDFS 및 MapReduce등과 함께 사용하기에 최적화) 
-수십 테러바이트가 넘는 빅데이터에 적합

-하둡 기반에서 동작하고 다양한 하둡 의 도구들과 상호 운영성이 좋음
-데이터 일관성 보장 우수(상대적)

-5대 미만에서는 사용할 수 없다(대규모 전용) 
-성능이 좋진 않다 (상대적)

MongoDB

-MongoDB는 10gen 사에서 개발된 높은 성능과 확장성을 가지고 있는 데이터베이스
NoSQL 데이터베이스에서는 문서형 데이터베이스로 분류(C언어 기반)
-데이터를 입력할때 데이터 구조 정보를 포함하여 BSON(JSON을 바이너리화한것)형식으로 저장하고, key value로 사용
-NON-SCHEMA
-비정형 데이터, 파일 데이터등의 스키마프리(Scheme free)모델에서 적합  - SQL 과 비슷한 방식의 쿼리 사용

-스키마 없이 사용 가능 
-SQL 과 비슷한 방식의 쿼리 사용 
-몽고는 쓰기할때 메모리에 먼저 Write 후에
  1분 단위로 Flushing하는 Write back 방식을     사용한기 때문에 write성능이 좋음
-Read시에는 파일의 Index를 메모리에 로딩해   놓고 찾는다(memory mapped file) - 빠름
-다양한 기능 제공

-JOIN이나 트랜잭션 처리가 불가능 
-디스크에 쓰기가 비동기식으로 이루어진다. 때문에 경우에 따라 데이터가 유실될 가능성도 있다.

[ Cassandra & HBase ]

  • 카산드라 클러스터 설정 및 구성이 HBase 클러스터 구성보다 훨씬 쉽다.
  • 카산드라가 일반적으로 write시 5배 이상의 더 나은 성능, read시 4배 이상의 성능을 보인다.

[ Cassandra & MongoDB ]

  • Cassandra 노드가 추가될수록 MonogoDB  보다 훨씬 나은 선형적인 성능 향상을 보인다.
    - 다중 Index가 필요한 구조라면 MongoDB를 선택하고, 데이터 항목 변경이 많고 unique access가 많은 경우라면 Cassandra가 적합
  • http://db-engines.com/en/system/Cassandra;MongoDB

성능비교

https://academy.datastax.com/planet-cassandra/nosql-performance-benchmarks
https://www.datastax.com/nosql-databases/benchmarks-cassandra-vs-mongodb-vs-hbase



반응형
반응형


OSX Server의 경우 curl은 별도 설치가 필요 없지만 wget 은 설치가 필요하다.


물론 설치를 하면 되지만 귀찮다면 curl을 사용하도록 하자.


MAC에서 wget이 안먹힐 떄


curl -O -L '다운받을경로' 를 사용하여 다운받을 수 있다


여기서 끝내면 아쉬우니 간단히 둘의 공통점과 차이점에 대해서 자료를 가져왔다.



[ wget, curl 공통점 ]

둘다 FTP, HTT, HTTPS 로 자료를 전송할 수 있다.

둘다 HTTP POST 요청을 보낼 수 있다.
둘다 HTTP 쿠키를 지원한다.
둘다 스크립트처럼 사용자와 상호작용없이 작동한다. 
둘다 오픈소스이며 무료다.
둘다 90년대부터 시작한 프로젝트이다.
둘다 메타링크를 지원한다.

.

 

[ wget, curl 차이점 ]

1. curl
-  라이브러리 존재 libcurl . 
- 더 다양한 프로토콜 지원
- 더 다양한 플랫폼에서 빌드/작동 가능. 
- 더 다양한 SSL 라이브러리와 SSL 지원.
- 더 활발히 개발 중

2. wget
- 라이브러리 없음.
- Recursive! 재귀적! 가장 큰 장점. 디렉토리 구조와 파일을 그대로 복사해 온다.
- 더 오래되었음 Wget 1995, curl late 1996)
- 100% GPL v3. curl is MIT licensed.

참고 : http://daniel.haxx.se/docs/curl-vs-wget.html

반응형

+ Recent posts