工作中见到的新鲜东西

1. go语言 Google开发

  • 모든 Go프로그램은 package 로 구분됨
  • go run 시에는 main 패키지내에 main 함수가 구동됨
  • 외부패키지에 노출하기위해서는 이름 첫글짜를 대문자로 지정(변수나 함수)
  • 함수 선언시 변수 타입이 변수명 뒤에 기술됨 
  • 함수에서 여러개의 값을 리턴가능
  • 함수 선언부에서 리턴값 지정이 가능
  • 변수 선언시에는 var, 함수 안에서는 값 할당만으로 변수선언가능 := 사용
  • 타입선언없이 숫자를 선언해서 사용하면 실제 함수로 전달되어 사용할때 타입체크(컴파일타임에러)
  • for, if 문에 () 가 없다.
  • for에 조건문만 표시하여 while처럼 사용가능, 조건까지 생략하면 무한루프
  • 연습문제 각자 풀기!

2. lambda architecture 大数据分析工具

http://lambda-architecture.net/

3. material design

간단하게 잘 정리된 PT들이 있어서 공유합니다.

1. 3분만에 매터리얼 디자인 이해하기 http://www.slideshare.net/watchncompass/3-material-design

2. 매터리얼 디자인 가이드 소개 http://www.slideshare.net/aryapadte/material-design-38774251

3. 매터리얼 디자인 가이드 소개 http://www.slideshare.net/Ciklum_Kyiv/material-design-39284312?related=1

람다 아키텍쳐란

람다 아키텍쳐는 트위터에서 스트리밍 컴퓨팅에 있었던 Nathan Marz에 의해서 소개된 아키텍쳐로, 실시간 분석을 지원하는 빅데이타 아키텍쳐이다.

참고 : http://lambda-architecture.net/

빅데이타 처리를 위한 해결 방안 

문제 : 아래 조건에서 기간별 특정 이벤트 추이, 가장 많이 활용되는 이벤트 TOP5 등의 통계 정보를 실시간으로 보고 싶다

조건 : 페이스북과 SNS 애플리케이션 SNS가 있다고 가정하자. 이 애플리케이션은 모바일 애플리케이션이며, 글쓰기, 읽기, 댓글 달기, 스크롤 하기, 페이지 넘기기등 약 1000여개의 사용자 이벤트가 있다. 사용자 수는 대략 1억명이며, 매일 이 각 사용자의 행동 패턴을 서버에 저장하여, 일별로, 사용자 이벤트의 개수를 통계로 추출, 실시간으로 기간별 특정 이벤트 추이, 가장 많이 활용되는 이벤트 TOP5 등의 통계 정보 제공 

해결방안 1 : 접근은 RDBMS에 저장하고 쿼리를 수행하는 방법이다.

=> 문제점 : 쿼리 수행 시 수행시간이 오래 걸린다. 

RDBM에 저장하고 SQL 쿼리문을 돌리면 되겠지만, 문제는 간단하지 않다. 1000개의 컬럼에, 1억명이 사용하는 시스템이다. 즉. 하루에 최대 1000개의 컬럼 짜리, 1억개의 레코드가 생성이 된다것이다.한달이면 30억개의 레코드이다.
이런 많은 데이타를 동적 SQL로 실행하였을때 그 수행시간이 많이 걸린다.

해결방안 2 : 배치를 활용한다.

=> 문제점 : 실시간 데이타 반영이 안 된다.

배치(BATCH)를 활용하는 것이다
즉 데이타를 모아 놓았다가.밤마다.그날짜의 사용자들의 이벤트들의 합을 매일 계산해놓은 테이블을 만들면  1년분의 데이타라하더라도 365 행 밖에 되지 않기 때문에, 속도 문제가 해결이 된다.
 

해결방안 3 : 배치 테이블과 실시간 데이타 테이블 2개를 활용 

=> 문제점 : 그러나 빅 데이타인 경우 실시간 데이타 조인 시 성능 보장이 되지 않는다.

즉 어제까지의 데이타는 일별 배치로 생성된 테이블을 사용하고, 오늘 데이타 부분은 사용자별로 기록된 로그 테이블을 사용하여 두 테이블을 조인 하면, 오늘의 지금 순간의 통계값까지 볼 수 있다.

 

해결방안 4 : 배치 테이블과 실시간 집계 테이블 활용 

배치는 매일 돌리되, 오늘 데이타에 대한 통계 값을 실시간으로 업데이트 하는 방법

클라이언트에서 받은 로그를 원본 데이타 테이블에 계속 저장을 하고, 오늘 통계에 대한 실시간 집계 테이블에, 글쓰기, 글 읽기 등 개별 이벤트의 값을 계산해서 더해 주면 된다.

 

위 개념을 람다 아키텍쳐를 활용

이 개념을 람다 아키텍쳐로 해석해보자. 데이타 흐름을 도식화 해보면 다음과 같다.

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值