Cheers Hena ;) 259

JNDI란? Java Naming and Directory Interface.

JNDI Java Naming and Directory Interface. 이름지정 및 디렉토리 서비스에서 제공하는 데이터 및 객체를 참조(lookup)하기 위한 자바 API이다. 일반적으로 자바 애플리케이션을 외부 디렉터리 서비스(DB server,LDAP server..)에 연결할 때 쓰이는데 그중에서도 데이터베이스 연결에 가장 많이 쓰인다. 데이터베이스 연결 시에는 데이터베이스 커넥션을 미리 만들어서 저장해두고, 필요할때 저장된 공간 (DB Pool)에서 가져다 쓰고 반환하는 기법이다. 커넥션 풀을 이용하면 미리 커넥션을 만들어두고 사용하기 때문에 매번 사용할때마다 드라이버를 로드하고, 커넥션 객체 생성-연결-종료 하는 과정을 반복하지 않아도 되어서 데이터베이스의 부하를 줄이고 자원을 효율적으로 관..

[빅쿼리] ARRAY / STRUCT / UNNEST. 정체가 무엇이냐??

BigQuery는 SQL을 제공하기 때문에 기존의 SQL과 같이 질의할 수 있어 접근성이 쉽다. 하지만, 우리에게 익숙한 RDB의 데이터 구조와 완전히 동일하지는 않다. 자주보기 힘든 배열 ARRAY, 구조체 STRUCT, UNNEST 등의 문법을 사용하기 때문이다. 예를 들어 우리에게 익숙한 RDB의 데이터 구조가 다음과 같다면, ARRAY, STRUCT, UNNEST 문법이 사용된 데이터 구조는 다음과 같다. 딱 봐도 하나의 행에 하나의 데이터 값이 저장되는 구조의 테이블과 다른 모습이 어색하다. event_name 컬럼 까지는 하나의 데이터가 있지만 event_params.key 부터는 하나의 행에 데이터 타입이 동일한 여러값이 저장되어 있다. 이러한 형태가 배열 ARRAY 문법이다. 또하나 어색한..

BigQuery 빅쿼리란?

BigQuery 빅쿼리란? 빅쿼리는 구글에서 만든 클라우드용 데이터웨어하우스(DW)로, 빅데이터에 최적회된 저장 및 분석용 클라우드 서비스이다. 빅쿼리의 구조는 관계형이 아닌 NoSQL기반의 데이터 저장소이나, 일반적으로 사용하는 관계형 RDB처럼 쓸 수 있도록 SQL을 제공한다. 머신러닝, 지리정보분석, 비즈니스 인텔리전스와 같은 기능을 기본 제공하여 데이터를 분석/관리할수 있다. 여러 프로그램과 연동 가능하며, 특히 구글 애널리틱스와 연동하여 수집한 데이터를 새롭게 가공할 수 있다. 빅쿼리 특징 클라우드 서비스로 설치 및 운영이 필요 없음(NoOps) 로컬이나 서버 등에 설치해서 사용하는 서비스가 아닌 언제 어디서나 사용가능한 클라우드 서비스를 제공한다. 인터넷이 가능한 어디서나 클릭 몇번으로 사용이..

GA(Google Analytics)란?

GA(Google Analytics)란? GA란 Google Analytics의 약자이며 구글에서 제공하는 무료 웹로그 분석 툴이다. 구글의 통계 및 머신러닝 기술로 사이트 및 애플리케이션의 방문자들의 행동 데이터를 분석하고, 마케팅의 실적이나 웹사이트의 경험을 개선할 수 있도록 돕는 도구이다. 설문조사에 따르면, 참여자 약 50% 가 GA를 통해 10개 이상의 웹사이트를 관리한다고 한다. * 행동데이터란? 어떤 사용자가 웹사이트를 방문하는지, 어떤 경로를 통해 방문했는지, 웹사이트에서 어떤 행동을 보이는지에 대한 흔적을 분석한 데이터를 뜻한다. 설문조사에 따르면, 참여자 약 50% 가 GA를 통해 10개 이상의 웹사이트를 관리한다고 한다. GA를 왜 사용할까? 다양한 데이터 시각화 제공 GA는 쉬운 사..

Data Analytics 2023.01.03

[MYSQL] REGEXP란? 정규표현식 / 무료테스트사이트

정규표현식이란 특정 규칙을 가진 문자열의 집합을 표현하는 형식언어이다. 문자열이 가진 규칙을 파악하여 해당 규칙을 만족하는 문자열만 추출할 수 있다. 검색, 필터링, 치환 등에 사용된다. mySQL에서는 REGEXP(Regular Expression)이라는 키워드로 정규표현식을 사용함. REGEXP SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 REGEXP '정규표현식'; 정규표현식 기본 문법(일부) ^ : 문자열의 시작 $ : 문자열의 끝 [aeiou] : aeiou 중 하나 ^[aeiou] : aeiou중 하나로 시작하는 문자 ^[aeiou].* : aeiou중 하나로 시작하는 문자열 [aeiou]$ : aeiou중 하나로 끝나는 문자 .*[aeiou]$ : aeiou중 하나로 끝나는 문자열..

Back-end/DataBase 2022.12.21

Cohort 코호트 분석이란?

Cohort 코호트 분석이란? Cohort 의 사전적의미는 동질집단 이다. 즉, 특정 기간 동안 공통된 특성이나 경험을 갖는 사용자 집단을 나누어 분석하는 기법이다. 나누는 방식에는 프로덕트에 따라 여러가지가 될 수 있다. 예를 들어 첫 방문일, 첫 구매일 등 특정 조건에 해당되는 사용자들을 그룹화하고 시간흐름에 따른 행동 패턴을 추적한다. 시간 흐름 또한 비즈니스 특성에 맞게 주기를 정해야 한다. 앱설치 같은 경우 주기를 매일 트래킹해야 할 것이고, 넥플릭스와 같이 구독 갱신 사업모델은 월별로 트래킹 해야 한다. 타켓 분석과 유사해 보일수 있지만, 코호트 분석은 '특정기간'이 같다는 조건과 '특정 경험'을 기준으로 그룹을 분류한다는 차이점이 있다. 예) '1월'에 '회원가입'을 한 사용자 그룹, '2월..

Data Analytics 2022.12.16

윈도우 함수_ 순위함수 RANK, DENSE_RANK, ROW_NUMBER

윈도우 순위 함수에는 RANK, DENSE_RANK, ROW_NUMBER 3가지가 있다. 순위함수 문법) 1. 순위함수() OVER(ODER BY컬럼) -- 컬럼의 순위 2. 순위함수() OVER(PARTITION BY 컬럼1 ODER BY 컬럼2) -- 컬럼1의 그룹별 컬럼2의 순위 순위함수는 OVER절과 함께 쓰이며 OVER구에는 반드시 ORDER BY절이 들어가야 한다. PARTITION 이 없는 경우에는 전체 행을 대상으로 하고, PARTITION이 존재하는 경우 해당 그룹의 행을 대상으로 한다. 1. RANK 함수 RANK함수에는 반드시 OVER구절에 ODER BY 가 들어가야 한다. ODER BY절의 컬럼을 기준으로 순위를 매기기 때문. 코드로 이해해보자. 다음과 같은 Employee Tabl..

Data Analytics 2022.12.16

[SQL] Window Function 윈도우 함수란?

SQL문의 윈도우 함수란 Group By 와 비슷하게 데이터를 그룹화 하여 집계한다. 하지만 Group By 는 집계된 결과만 보여주는 반면, 윈도우 함수는 기존 데이터에 집계된 값을 추가하여 나타낸다. 함수(컬럼) OVER(PARTITION BY 컬럼 ODER BY 컬럼) 함수: MIN(), MAX(), SUM(), COUNT() 등과 같은 기존 함수 또는 LAG(),LEAD(),RANK(), ROW_NUMBER() 등의 윈도우 함수를 쓸 수 있다. 기존 함수) 윈도우 함수) OVER: 윈도우 함수에서 꼭 들어가야 하며, OVER내부에 PARTITION BY 절과 ORDER BY 절이 들어감. PARTITION BY (생략가능) 전체 집합을 기준 컬럼에 따라 나눌지 결정 ORDER BY (생략가능) 정..

Data Analytics 2022.12.14

Funnel Anlysis 퍼널분석 /AARRR퍼널 이란?

Funnel Anlysis 퍼널 분석 먼저 퍼널(Funnel)의 사전적 의미는 깔대기 이다. 퍼널 분석은 사람들이 앱과 어떻게 상호작용하는지, 사용자의 유입과 이탈의 여정을 시각화하여 얼마나 많은 사람들이 어디에서 이탈하는지 보여주는 분석과정이다. 위에서 아래로 내려갈수록 사용자가 진입하여 사이트를 보는 시간이 늘어나는데, 시간이 늘어날수록 이탈하는 사용자는 많아진다. 여기서 사용자들이 나가는 시점은 제각각인데, 이런 부분이 어디인지 집중적으로 분석한다면 왜 사용자들이 이탈하는지에 대한 단서를 찾을 수 있다. 즉, 이처럼 사용자가 이탈하는 행위, 이탈하는 비율을 이탈률이라 하고 이 이탈률이 높은 시점을 분석하는 것을 퍼널 분석이라 한다. 각각의 단계를 넘어가는 것을 전환(Conversion)이라 하고, ..

Data Analytics 2022.12.13

RFM Segmentation (RFM 분석) 이란?

RFM Segmentation RFM은 고객 세분화 모형 중 실무에서 자주 사용하는 모형으로 가치있는 고객을 추출해내어 이를 기준으로 고객을 분류하는 분석방법중 하나다. 구매 가능성이 높은 고객을 선정하기 위한 데이터분석방법으로서, 분석과정을 통해 데이터는 의미있는 정보로 전환된다. Recency - 거래의 최근성: 고객이 얼마나 최근에 구입했는가? Frequency - 거래빈도: 고객이 얼마나 빈번하게 우리 상품을 구입했나? Monetary - 거래규모: 고객이 구입했던 총 금액은 어느 정도인가? 1. Recency 최근성 > 최근성 관점에서는 2일전 구매한 B고객이 3일전 구매한 A고객보다 가치 있다. 2.Frequency 행동 빈도 > 행동빈도 관점에서 정해진 기간동안 3번 구매한 A고객이 1번 구..

Data Analytics 2022.12.02