데이터베이스를 사용하면서 우리는 SQL과 NoSQL로 구분을 해왔습니다. SQL은 SQL이라는 문법을 사용해서 RDBMS를 이용하는 데이터베이스라는 뜻으로 사용해왔고, NoSQL은 말 그대로 SQL이 아닌 모든 데이터베이스를 통칭합니다. 우리는 여기서 SQL 문법을 사용하는 RDBMS의 종류를 살펴보겠습니다. 여기서는 대중적이고 가장 오래된 RDBMS부터 순서대로 설명하겠습니다. 1. Oracle - 1979년 Oracle에서 상업화된 SQL RDBMS를 처음 서비스하기 시작했습니다.- 현재 가장 많이 쓰이는 RDBMS중 하나이고 사실상 SQL의 표준라고 볼 수 있습니다.- 유닉스 기반의 워크스테이션에서 최적화 시켜서 작은 네트워크를 기반으로 서비스를 시작했습니다.- 현재는 윈도우, 유닉스 기반의 모든 ..
MySQL을 사용하게 되면, 사용자가 원하는 내용을 제공해주기 위해서 많은 고민을 하게됩니다. 1 . "어떻게 하면 빠르게 정보를 검색,제공 해줄 수 있을까?" - 빠른 서비스 제공 2 . "가능한 적은 자원으로 동일한 서비스를 제공할 수 있을까?" - 효율적인 서비스 운영 위 두가지 질문을 많이 떠올린다고 생각합니다. 2번 질문은 쿼리 최적화, 캐싱의 이용과 같은 로우 레벨의 운영부분이다. 여기서는 1번 질문을 해결할 수 있는 인덱스에 대한 이야기를 해보겠습니다. 빠른 속도의 서비스 제공을 하기 위해서는 DB를 정규화하는 방법도 있지만, 다른 한편으로는 인덱스를 사용하는 방법도 있습니다. 이 글을 읽고 있는 사용자들이 어떤 DB 구조를 사용하고 있는지 모르고 있기 때문에 인덱스를 설명하는 게 DB를 빠..
DB의 성능 튜닝은 어떻게 디스크 I/O를 줄이면서 최대한의 작업을 할 수 있는가에 대한 고민입니다. 그래서 여기서는 스토리지 I/O 속도와 I/O의 방식에 대해서 이야기 해보겠습니다. 스토리지 속도는 서버에 사용하는 스토리지 종류에 따라서 다릅니다. 서버에 사용하는 스토리지 종류: 네가지로 나눌 수 있습니다. 아래로 내려가면 내려갈 수록 기존의 스토리지의 단점을 극복해나가면서 생겨난 스토리지의 종류입니다.1) Internal Disk - 내장 디스크라고 불리고 개인용 PC의 본체에 장착된 디스크와 비슷한 구성과 종류로 구성됩니다.- 다만 DB용으로 최적화된 스토리지를 개인 PC에 장착하는 것처럼 4~6개 정도를 연결해서 사용하는 형태입니다.- 연결할 수 있는 공간과 갯수가 제한적이기 때문에 용량의 한계..
전문 검색(Full Text Search)은 검색 기능을 서비스에 도입하고 싶은 분들에게 필요한 기능입니다. 기존의 인덱스와 다른 방식의 인덱스입니다. MySQL의 B-Tree Index ( 보통 그냥 Index 라고 불림 ): Index의 경우에는 한 컬럼 안에서 비슷한 형식의 데이터 중에서 원하는 데이터를 찾는 경우 사용하는 것이 일반적입니다. 예를 들면,위도, 경도, 나이 등등, 비슷한 특정한 범위 안에서 데이터를 찾을 수 있게 인덱싱을 도와주는 경우입니다.위도 -90.0~+90, 경도 -180~+180, 나이 0~150 MySQL의 Full-text Index ( 보통 Full-text Index 라고 부름 ): Full-text Index의 경우에는 한 컬럼 안에서 많은 형태의 데이터가 담겨있어..
MySQL이란 무엇인지 간단하게 소개하겠습니다. 이미 많은 개발자들이 RDBMS를 배우면서 가장 기본 베이스로 배우는 MySQL입니다. 1979년 MySQL은 스웨덴의 TcX라는 회사의 터미널 인터페이스로 제공하는 라이브러리 데이터베이스 UNIREG로 시작되었습니다. 1994년 UNIREG는 웹 시스템 데이터베이스로 TcX 회사 내에서 최초 MySQL 1.0을 사용하기 시작했습니다. 1996년 MySQL은 대중에 공개되었습니다. 2000년 TcX 회사에서 MySQL을 개발한 몬티와 데이빗이 MySQL AB라는 회사로 독립하면서 FPL(Free Public License) 정책으로 바뀌었습니다. 2006년 최종적으로 두 가지 라이센스 정책(MySQL 엔터프라이즈 버전, 커뮤니티 버전)으로 서비스를 하게되었..
구글 애널리틱스의 콘솔을 접속하게되면, Collection 레이어,Configuration 레이어, Processing 레이어를 거쳐서 Report를 제공합니다. 각 회사의 서비스를 데이터 분석을 담당하는 데이터 분석가가 이 Report를 받아서 분석을 합니다. 여기서는 Report의 종류에 대해서 설명하겠습니다. 1. REAL-TIME - 실시간으로 서비스에 접속한 사용자들에 대한 행동 데이터를 제공합니다. - Overview는 실시간 정보를 간단하게 모두 모아서 보여줍니다. - 그리고 각 개별 정보를 세부적으로 보여주는 Locations, Screens, Events, Conversions가 있습니다. - Location은 어떤 지역(도시)에서 사용자가 접속했는지를 알려주고 중복된 접속 세션 집계방식..
구글 애널리틱스의 역할은 서비스에서 사용자의 행동 데이터를 트래킹해서 트래킹된 데이터를 기반으로 유용한 보고서를 제공하는 것입니다. 데이터 트래킹이란?: 사용자의 행동 데이터를 수치로 나타내기 위해서 구글 애널리틱스를 이용해서 데이터를 수집해서 데이터베이스에 저장하는 것입니다. 데이터 분석이란?: 구글 애널리틱스에서 제공하는 기본 보고서를 기반으로 데이터 분석가가 데이터 분석작업을 하고, 실제 의사결정에 도움이 될 인사이트를 도출해 내는 것입니다. 데이터 트래킹이나 데이터 분석은 Google Analytics 실행 구조에 따라서 할 수 있습니다. Google Analytics 실행 구조: 데이터가 수집되고 분석되는 과정을 세부적으로 순서를 나열하여 설명하겠습니다. 1) iOS 데이터 ,Android 데이..
구글 애널리틱스를 이용해서 데이터를 분석하고 부족한 점을 개선하며 반복하는 조직 문화를 만들고 싶을 겁니다. 서비스 회사에서는 마케팅을 하고 난 후에 어떤 성과가 나왔는지 구글 애널리틱스를 통해서 확인을 하게 됩니다. 확인한 후 도대체 어떻게 계속 마케팅을 이어나가야하는지에 대해서 구글 애널리틱스를 사용하는 초기 단계에 있는 회사는 고민하게 됩니다. 그럴때 바로 필요한 답이 "Data-Driven Marketing을 정착시킨 조직문화" 입니다. Data-Driven Marketing은 다른 말로는 ROI marketing 또는 Performance Marketing이라는 말로도 사용합니다. Data-Driven Marketing 조직문화란? - 회사에서 추구하는 마케팅 목표를 분명하게 정의할 수 있어야합..