반응형
반응형

'구글 스패너'···막 오르는 SQL 데이터베이스 새 시대 


 원문보기: http://www.ciokorea.com/news/34274


전통적인 데이터베이스를 확장할 때에는 일반적으로 샤딩(sharding)이라는 프로세스가 사용된다. 데이터를 여러 개의 소규모 데이터베이스로 쪼갬으로써 부하를 분산하는 방식이다. 2005년 당시에 애드워즈를 구동하는 데이터베이스는 샤딩을 한 번 다시 하려면 몇 년이 걸릴 정도로 방대해지고 있었다. 새로운 데이터베이스가 필요했고 구글은 직접 구축에 나섰다.


이처럼 구글이 애드워즈 처리를 위해 구축했던 데이터베이스가 스패너(Spanner)라는 제품으로 최근 일반에 공개됐다. 최근 새로운 데이터베이스들이 잇달아 출시되고 있는 가운데 스패너도 합류한 것이다. 최신의 데이터베이스들은 전통적인 관계형 SQL데이터베이스와 비슷하지만 방대한 규모로의 확장성은 훨씬 뛰어나다. 기존의 SQL에 새롭다는 의미의 형용사(New)를 결합해 NewSQL이라고 불리곤 한다.


데이터베이스 시장의 움직임을 주시하는 전문가들은 NewSQL 데이터베이스가 언젠가는 오라클, IBM, 마이크로소프트 등의 거물급 데이터베이스 제품들과 치열한 경쟁을 벌이게 될 것이라고 보고 있다.


스패너란 어떤 제품? 

구글의 스패너는 여러 요건을 충족시키기 위해 등장했다. 한편으로는 방대한 규모로 확장성이 필요했고 다른 한편으로는 전 세계 데이터센터로의 분산도 필요했다. 아울러, 구글은 데이터베이스 프로그래밍 언어의 대표격인 SQL을 사용하는 관계형 데이터베이스를 원했고 여기에 낮은 지연시간과 매우 높은 신뢰성이라는 조건도 추가했다. 구글은 10년 가까운 개발 노력 끝에 2012년 스패너와 이를 구글 내에서 이용한 사례를 소개한 연구 논문을 발표했다.


그 후 몇 년에 걸쳐 구글은 스패너를 자사 클라우드 플랫폼에서 제공되는 데이터베이스로 개발하는 작업을 진행했다. 마침내 올해 초 스패너의 초기 베타 버전이 등장했다.

스패너는 구글의 클라우드에 호스팅되는 분산형 데이터베이스로서 전 세계적인 일관성과 확장성이 특징이다. 이는 데이터 접근이 필요한 최종 사용자와 가깝게 데이터가 존재할 수 있도록 스패너의 인스턴스(instance)가 전 세계 곳곳에 위치할 수 있는 동시에 데이터베이스의 각 복사본은 동일하다는 것을 의미한다. 말은 쉽지만 결코 쉽지 않은 특징이다.


구글 클라우드 내에는 스패너 운용에 필수적인 두 가지 독특한 기능이 있다. 하나는 전 세계 데이터를 동기화 하기 위해 가장 정확한 시간 측정 방식인 원자 시계를 사용하는 트루타임(TrueTime)이라는 타임 스탬프(time-stamp) 기능이다.


다른 하나는 전 세계 구글 데이터센터를 연결하는 구글 내부 광섬유망이다. 스패너의 내부 데이터베이스 트래픽은 일반 인터넷 대신 구글에서 직접 구축하고 통제하는 구글 트래픽 전용 파이프를 통해 전송된다. 전 세계 어느 곳이든 연결되는 스패너 내부 트래픽 전용 고속도로가 있는 셈이다.


NewSQL 시장 

스패너는 클라우드에 호스팅되는 NewSQL 데이터베이스 중 최초로 광범위하게 사용될 것으로 여겨지는 제품 가운데 하나다. 카네기 멜론 대학교(Carnegie Mellon University) 앤드류 파블로 교수는 공동 논문에서 NewSQL에 대해 “지속적으로 발전되는 데이터베이스 기술의 다음 단계”라고 평가했다.


NewSQL 데이터베이스의 개별적인 특징은 새로울 것이 없지만 그 동안 이를 모두 아우르는 데이터베이스는 없었다. 예컨대, 전통적인 관계형 데이터베이스는 SQL를 지원하고 일관성이 강한 반면 확장성이 부족하고 NoSQL 데이터베이스는 확장이 쉬운 반면 SQL 지원이 부족한 단점이 있다.


위 논문에서는 NewSQL 데이터베이스에 대해 “분산된 컴퓨팅 리소스가 풍부하고 저렴한 동시에 응용프로그램의 요구사항은 훨씬 더 커진 새로운 시대가 낳은 산물”이라고 표현했다.


이렇게 새로운 세대의 데이터베이스의 시장은 아직 시작 단계다. NewSQL 데이터베이스 중 가장 주목할 만한 예로는 인메모리(in-memory) 관계형 데이터베이스인 SAP 하나(HANA)를 들 수 있다. 이 밖에도 몇몇 신규업체에서 NuoDB, H-Store, Clusterix, VoltDB, MemSQL 등의 NewSQL을 선보이고 있다.


이 밖에 아마존 웹 서비스의 아마존 오로라(Amazon Aurora)가 MySQL 및 PostreSOL이 지원함에 따라 NewSQL의 일종으로 간주되기도 한다.


NewSQL 데이터베이스의 장점 중 하나는 전통적인 SQL데이터베이스에서 실행되는 응용프로그램이 지원된다는 점이다. 그러나 위 논문 저자들은 그러한 전통적인 데이터베이스에서 실행되는 작업은 보통 핵심 응용프로그램이므로 기업들은 강력한 요인이 없는 한 이를 새로운 데이터베이스로 이동하기를 꺼릴 것이라고 지적했다.


NoSQL 데이터베이스는 확장성이 뛰어나며 소셜, 모바일, 사물 인터넷 응용프로그램을 중심으로 하는 새로운 응용프로그램에 주로 사용될 전망이다. 


NewSQL 시장의 움직임을 주시하는 애널리스트들은 향후 몇 년간 무난한 성장할 것으로 낙관하고 있다. 마켓 어낼리시스(Market Analysis)에서는 NewSQL 데이터베이스 시장이 복합 성장률 26%을 기록하여 2020년까지 10억 달러 규모에 이를 것으로 예측하고 있다.


이는 IDC에서 연간 300억 달러 이상으로 보고 있는 전통적인 관계형 데이터 관리 시장 규모에 비하면 미미한 수준이다. 그러나 전통적인 데이터베이스에 고충을 겪고 있는 고객들이라면 새로운 작업을 위해 기꺼이 NewSQL에 투자할 것이라는 의미이기도 하다.




.


반응형
반응형

Kotlin - https://kotlinlang.org/  코틀린


Statically typed programming language for modern multiplatform applications 100% interoperable with Java™ and Android™





반응형
반응형

구글, 코틀린 언어 공식 지원

구글이 안드로이드 공식 언어로 코틀린을 추가했다고 5월18일 ‘구글I/O’ 행사에서 밝혔다.


코틀린은 젯브레인이 만든 자바가상머신(JVM) 언어로, 자바와 호환되고 안드로이드 개발에 주로 활용된다. 2011년 처음 공개된 코틀린은 현재 1.1 버전까지 나왔으며, 오픈소스 언어로 개발되고 있다. 젯브레인을 비롯해 핀터레스트, 스퀘어, 엑스피디아 등이 코틀린을 활용해 서비스를 개발한 것으로 알려져 있다. 국내에서도 레진코믹스, 뤼이드 같은 스타트업이 코틀린을 일부 안드로이드 기술에 도입했으며, 국내 커뮤니티 행사도 활발히 진행되고 있다. 코틀린은 간결한 문법, 빠른 컴파일 속도, 배우기 쉬운 언어, IDE 지원 등의 강점을 가지고 있다.


그동안 안드로이드 개발자는 주로 자바를 기본 언어로 활용해 안드로이드 앱을 개발할 수 있었다. 구글이 코틀린을 안드로이드 공식 언어로 추가 지원하겠다고 발표하자 현장에서는 큰 환호와 박수가 이어졌다. 구글은 “코틀린은 개발자 커뮤니티에서 항상 요구했던 부분 중 하나였다”라며 “코틀린을 이용하면 생산성이 훨씬 높아지며, 기존 자바 코드와도 호환이 되고, 현장에 도입할 수 있을만큼 성숙한 언어”라고 소개했다.


코틀린을 공식 지원함에 따라, 구글은 ‘안드로이드 스튜디오 3.0’에서 코틀린 관련도구를 바로 이용할 수 있게 구성할 예정이다. 안드로이드 스튜디오는 구글이 만든 IDE로, ‘인텔리J’라는 오픈소스 IDE를 활용해 개발됐다. 인텔리J 역시 젯브레인이 만든 기술이다. IDE와 프로그래밍 언어에서 젯브레인 기술을 적극 활용하면서 구글과 젯브레인의 파트너십은 더욱 단단해질 것으로 보인다. 애플이 내부 개발도구인 ‘X코드’와 오픈소스 프로그래밍 언어 ‘스위프트’를 지원하는 것과 달리, 구글은 외부 기업의 기술을 활용하는 전략을 구사하는 셈이다.

이러한 환경 덕에 젯브레인이 구글에 인수되는 것 아니냐는 의견도 있었다. 하지만 막심 샤피로브(Maxim Shafirov) 젯브레인 CEO는 공식 블로그를 통해 “젯브레인을 구글에 넘길 계획은 전혀 없다”라며 “언어와 플랫폼 상관없이 누구나 이용할 수 있는 기술을 만들기 위해 앞으로 계속 독립된 기업으로 운영할 것”이라고 밝혔다.


반응형
반응형

유튜브 영상 웹페이지에 넣을때 파라미터 적용. 

툴바 안나오게. 


https://www.youtube.com/embed/h1zYJkkDbtA?version=3&controls=0&showinfo=0&autoplay=1&rel=0&modestbranding=0&loop=1




YouTube 내장 플레이어 및 플레이어 매개변수

  https://developers.google.com/youtube/player_parameters?hl=ko


.

반응형
반응형

[mac] 포스터치에서 세손가락으로 드래그 사용하기


"손쉬운 사용"에서 "마우스와 트랙패드"의 [트랙패드 옵션]에서 '드래그 활성화' 체크하고, 

  '세손가락으로 드래그 하기' 선택





.

반응형
반응형

AARRR 기법



1. Acquisition : 유저는 어떻게 앱/웹을 발견하는가?

2. Activation : 유저가 실제 앱/웹을 이용하는가?

3. Retention : 한번 이용한 유저가 다시 방문하는가?

4. Revenue : 실제 매출을 일으키는 행동을 하는가?

5. Referral : 유저가 주변 사람들에게 적극적으로 홍보하는가?


AARRR기법은 ARM 기법과 Engine Of Growth 기법이 합쳐진 기법이라고 이해 하시면 됩니다.

결국 고객 확보 > 서비스를 이용하는 고객 > 이러한 고객들이 지속적으로 이용하는지? ? 또한 적극적으로 홍보를 하고 있는지 > 그래서 매출까지 이뤄지고 있는지를 각 단계별로 분석할 수 있어 현재 많은 기업에서 AARRR기법을 통해 데이터를 분석하고 있습니다.

그럼 각 단계별로 필요한 데이터는 무엇일까요?
* 여기서 말하는 데이터는 통상적으로 많이 확인하는 데이터이며, 각 단계 별 핵심 KPI을 무엇으로 하느냐에 따라 다를 수 있습니다.

고객확보(Acquisition) 단계


이 단계에서는 웹사이트의 유입경로 별 신규 방문자수 / 회원가입수를 확인해야 합니다.

여러분은 사업을 목표를 달성하기 위해 다양한 미디어 믹스 전략을 세워 디지털마케팅을 진행합니다. 이 때 1차적으로 고객 확보가 우선이 되어야겠죠? 그럼 유저들이 우리 앱/웹에 유입을 유도해야 고객을 확보할 수 있습니다.

그래서 Acquisition 단계에서는 신규 방문자수 또는 회원가입수를 가장 많이 발생시키는 채널이 무엇인지를 파악하여 이러한 채널 별로 고객확보에 집중해야 합니다.

활동 유저 확보(Activation) 단계


이 단계에서는 외부 채널별 유효 방문자수 / 랜딩 페이지 반송률 / 평균 체류시간 / 평균 페이지뷰, 이벤트 참여수 데이터를 확인해야 합니다.

여러분이 진핸한 디지털 마케팅을 통해 고객을 확보했다면 확보한 고객이 얼마나 앱/웹을 이용하는지를 확인해야 합니다. 앱/웹 접속 후 첫 화면에서 아예 나가버린다면, 머무르는 시간이 30초도 안된다면, 1페이지 이상을 보지 않는다면, 아무리 고객을 확보하더라도 돈만 낭비한 상황이라고 보시면 됩니다.

그래서 랜딩 페이지 최적화가 중요한 단계이고, 유저들이 활동하기에 불편한 부분이 없는지를 파악해야 합니다. 만약 앱/웹의 유입만 많고 매출이나 그 외 전환값이 적거나 페이지뷰가 적은 경우라면 UX/UI에 개선이 필요한 건 아닌지 고민해 봐야 합니다.

지속적으로 앱/웹을 사용하는 유저 확보(Retention) 단계


이 단계에서는 재방문 / 이벤트 기간 내 유입된 유저 별 지속적인 방문수 데이터를 확인해야 합니다. 방문자들이 앱/웹을 한번 사용 후 지속적으로 사용하는지를 확인해야 합니다.

한번 사용한 유저가 지속적으로 앱/웹을 이용해야 최종 목표인 매출에 기여하는 유저를 만들 수 있으며, 이를 통해 유저가 앱/웹을 홍보할 수 있습니다. 재방문이 적다는 것은 방문자들이 한번 사용한 후 다시 사용을 하지 않는다는 것이기 때문에 웹사이트 내 문제점이 무엇인지를 확인해 볼 필요가 있습니다. 방문자들이 어떤 단계에서 이탈을 하는지를 확인 후 기능 개선이 우선 시 되어야 하며, 그 후 마케팅을 지속적으로 진행해야 합니다.

또한 재방문을 유도하기 위해 Retention 단계에서는 이메일 마케팅과 리타겟팅 광고를 이용하여 재방문을 유도합니다.

결국 매출을 얼마나 일으키는지를 확인하는(Revenue) 단계


이 단계에서는 매출액, ROAS, ROI, 주문 당 매출 데이터를 확인해야 합니다. 결국 앱/웹을 운영하는 최종 목적은 매출을 올리기 위함이죠.

그렇기 때문에 접속한 유저가 앱/웹에서 얼마나 매출을 일으키고있는지를 확인해야 하며, 마케팅 투자 대비 얼마의 ROAS을 일으키는지? 방문자들이 주문을 할 때 평균적으로 얼마를 지불하는지를 확인해서 매출을 일으키는 유저들이 평균적으로 주문을 할 때 고가의 상품을 주문하는지, 중저가의 상품을 주문하는지를 파악할 수 있습니다.


앱/웹을 사용한 유저들이 주변 사람들에게 얼마나 구전하는지를 확인하는(Referral) 단계


이 단계에서는 웹사이트에서의 SNS 공유수, SNS 좋아요수 / 공유수 데이터를 확인해야 합니다.

디지털마케팅 시대에서는 우리가 우리를 홍보하는 것이 아니라 앱/웹을 사용한 유저가 얼마나 많은 사람들에게 우리를 알려주느냐가 중요한 사항입니다. 네이버 밴드의 경우 한 유저가 여러 친구들에게 밴드에 초대하게 되면 이 한 유저로 인해 여러 고객을 확보하게 됩니다.

예로 들면 “포켓몬 GO”의 경우 Referral 단계에서 성과를 본 대표적인 사례입니다.


.


반응형

+ Recent posts