• 시작하세요! 큐브리드
  • 네이버가 만든 오픈 소스 데이터베이스

  • 이동현, 김남영, 김영헌, 최중연 지음

  • TECH@NAVER 시리즈_011, 데이터 & 데이터베이스 시리즈 _ 011
  • ISBN: 9788998139988
  • 22,000원 | 2015년 05월 29일 발행 | 386쪽



큐브리드는 네이버에서 개발한 오픈 소스 DBMS다. 모든 기능과 각종 도구를 무료로 제공하며 인터페이스를 수정해도 소스 코드 공개 없이 상업적인 목적으로 사용할 수 있다. 또한 독특한 3계층 구조를 사용해 수평 확장이 쉽다는 장점이 있다. 네이버의 여러 웹 서비스를 비롯해 각종 공공 기관 및 기업체의 웹사이트에서도 큐브리드를 사용하고 있다.

『시작하세요! 큐브리드』는 DBMS를 다뤄본 경험은 있으나 큐브리드는 처음 접하는 개발자와 운영자를 위한 책이다. 큐브리드의 특징을 소개하고 큐브리드를 설치하는 방법부터 성능을 최적화하고 보안을 유지하는 등의 개발ㆍ운영 기술까지 자세하게 알려준다.

 

<추천의 글>

큐브리드는 2015년 4월 현재 국내외 약 26만 다운로드를 기록하고 있습니다. 또한 네이버뿐만 아니라 여러 공공?일반 정보 시스템을 구축하는 데도 적용됐고, 심지어 큐브리드 호스팅 서비스를 제공하는 기업도 생겼습니다. 이는 네이버뿐만 아니라 다른 기관에서도 큐브리드를 적용해 안정적인 서비스를 제공하고 있음을 보여주는 좋은 사례입니다. 대학에서도 데이터베이스 시스템 강의 실습에 사용하고 있습니다.

최근 빅 데이터로 인해 NoSQL이 많이 회자되고 있지만 정보 시스템 구축에서 SQL DBMS는 필수 구성 요소이며, DBMS의 활용 범위는 점점 넓어지고 있습니다. 『시작하세요! 큐브리드』는 큐브리드를 활용해 정보 시스템을 구축할 수 있도록 안내하는 책입니다. 또한 큐브리드를 더욱 효율적으로 사용하기 위해 큐브리드의 내부 구조도 다룹니다. 따라서 단순히 큐브리드를 사용해 정보 서비스를 개발하고자 하는 개발자뿐만 아니라 DBMS를 연구하고자 하는 분들께도 좋은 지침서가 될 수 있습니다.

-- 이윤준(한국과학기술원 전산학부 교수)

이동현

아키스에서 메인 메모리 DBMS 아키스의 기술 지원을 담당했고, 다음커뮤니케이션(현 다음카카오)에서 OS 자동 설치 도구를 개발했다. 2008년부터 네이버에서 큐브리드의 매뉴얼, 릴리스 노트 작성 및 제품 릴리스를 담당하고 있으며, 최근에는 빅 데이터 기술에 관심이 있다.

김남영

마이크로소프트 SQL 서버 기술 지원 업무를 수행했다. 2008년 네이버에 합류해 주요 서비스를 큐브리드 기반으로 적용하는 프로젝트를 담당했다.

김영헌

LG CNS에서 DBA 업무를 수행했다. 네이버에서는 전사 데이터 표준 수립 및 데이터 모델링 업무를 수행했으며, 사내 데이터베이스 협업 도구인 DBIP2와 SQL Gateway를 기획하고 서비스 운영을 담당했다. 현재는 큐브리드 기술 리더로 큐브리드 기반의 서비스를 운영하고 있다.

최중연

2008년부터 큐브리드 오픈 소스 개발에 참여했다. 현재는 시계열 데이터베이스와 모니터링 플랫폼 개발 업무를 맡고 있다.

  • ▣ 01장: 소개
    • 큐브리드의 장점
      • 라이선스 정책
      • 3계층 구조
      • 강력한 DBMS 기능
    • 큐브리드의 역사
    • 큐브리드 관련 웹사이트
    •  
  • ▣ 02장: 설치
    • 큐브리드 설치
      • 윈도우에서 설치
      • CentOS에서 설치
    • 큐브리드 GUI 도구 설치
      • 큐브리드 GUI 도구 설치 전 준비 사항
      • 큐브리드 매니저 설치
      • 큐브리드 마이그레이션 툴킷
    •  
  • ▣ 03장: 시작
    • 큐브리드 프로세스
      • 프로세스별 동작 과정
      • 응용프로그램이 서버에 연결되는 과정
    • 큐브리드 서비스
      • 서비스 시작
      • 서비스 상태 확인
      • 서버 연결 테스트
    • 데이터베이스
      • 데이터베이스 볼륨 구조
      • 데이터베이스 생성
      • 데이터베이스 볼륨 추가
      • 데이터베이스 볼륨 사용량 확인
    • 큐브리드 설정
      • 데이터베이스 서버 설정
      • 브로커 설정
    • CSQL
    • 큐브리드 매니저
      • 관리 모드
      • 질의 모드
    •  
  • ▣ 04장: 응용프로그램 연동
    • 자바로 연동하기
      • JDBC 드라이버 버전 확인
      • JDBC 드라이버 다운로드
      • 데이터베이스 연결 및 데이터 조회
      • PreparedStatement 사용
      • INSERT/UPDATE/DELETE
      • INSERT와 REPLACE
      • 일괄 입력
      • 브로커 페일오버 설정
      • LOB(CLOB, BLOB) 자료형 사용하기
      • 컬렉션 자료형 사용하기
      • BIT 자료형 사용하기
      • 큐브리드와 DBCP
    • PHP로 연동하기
      • 윈도우 개발 환경 구성
      • 리눅스 개발 환경 구성
      • PHP로 데이터베이스 질의
    •  
  • ▣ 05장: SQL
    • 큐브리드 SQL 사용 예
      • 테이블 생성
      • 테이블 변경
      • 조회 및 조작
      • 권한 부여
    • 식별자 비교
    • 자료형 비교
      • 숫자 자료형
      • 스트링 자료형
      • 날짜 자료형
    • SQL 기능 비교
      • 질의문
      • 정규 표현식
      • 제약 조건
      • 인덱싱
      • DML
      • 자료형
      • DDL
      • 프로그래밍
      • 조인
      • 연산
    •  
  • ▣ 06장: 트랜잭션과 잠금
    • 트랜잭션 처리
      • 커밋과 롤백
      • 트랜잭션 관리
    • 트랜잭션 격리 수준
    • 잠금 관리
      • 공유 잠금(S_LOCK)
      • 배타 잠금(X_LOCK)
      • 갱신 잠금(U_LOCK)
      • 의도 잠금
      • 키 잠금
      • 스키마 잠금
    • 잠금 상태 확인
      • cubrid lockdb
      • 잠금 상태 확인 예
    • 느린 질의 탐지
      • cubrid tranlist
      • cubrid killtran
      • 느린 질의 탐지 예
    • 교착 상태
      • 키 잠금과 교착 상태
      • 응용프로그램에서 교착 상태 탐지
      • 실패한 트랜잭션 재실행
    • 교착 상태 발생 및 확인 시나리오
      • 두 트랜잭션의 교착 상태
      • 세 트랜잭션의 교착 상태
    •  
  • ▣ 07장: 백업과 복구
    • 데이터베이스 볼륨이 호환되는 경우
      • 백업
      • 복구
    • 데이터베이스 볼륨이 호환되지 않는 경우
      • 언로드
      • 로드
    • 보관 로그
      • 체크포인트
      • 시스템에 의한 삭제
      • 사용자에 의한 삭제
    • 큐브리드 마이그레이션 툴킷
      • 큐브리드 마이그레이션 툴킷 설치 및 실행
      • 콘솔 마이그레이션
    •  
  • ▣ 08장: HA
    • 브로커 다중화
      • 브로커 다중화의 활용
      • 응용프로그램 연결 설정
    • 데이터베이스 다중화
      • 데이터베이스 다중화의 활용
      • HA 연결 관련 파라미터
      • 데이터베이스 서버 설정
      • 브로커 설정
      • 데이터베이스 다중화 구축
      • 노드 추가
    • 복제
      • 복제 과정
      • 복제 방식
      • 복제 파일 및 카탈로그 정보
      • 복제 지연
    • 다양한 구성
      • 기본 구성
      • 브로커를 별도의 장비에 구성
      • 다중 슬레이브 노드
      • 마스터 데이터베이스의 데이터 분산 구성
      • 마스터, 슬레이브와 레플리카 구성
      • 드라이버 단계에서 연결 분산
      • 레플리카 활용
    • HA 제약 사항
    • 장애 처리
    •  
  • ▣ 09장: 모니터링
    • 큐브리드 유틸리티를 이용한 모니터링
      • 초당 유입 질의량 확인
      • CAS 현황 확인
      • 브로커 설정 확인
      • 브로커의 ACL 정보 확인
      • 데이터베이스의 ACL 정보 확인
      • 데이터베이스 설정 정보 확인
      • 데이터베이스 서버 상태 확인
      • 데이터베이스의 전반적인 상태 확인
      • 트랜잭션 모니터링
      • 잠금 모니터링
      • 데이터베이스 용량 모니터링
    • 로그 파일을 통한 모니터링
      • 브로커 접속 로그
      • SQL 로그
      • 느린 질의 분석
      • 데이터베이스 서버 오류 로그
      • 데이터베이스 서버 이벤트 로그
      • 데이터베이스 복제 모니터링
      • 시스템 모니터링
    • 큐브리드 매니저로 모니터링
      • HA 상태 모니터링
      • 리소스 모니터링
    • 대규모 시스템 모니터링
      • 시계열 데이터베이스
      • InfluxDB 설치 및 시작
      • Grafana 설치
      • InfluxDB에 Grafana용 데이터 입력
      • Grafana 대시보드에 그래프 추가
    •  
  • ▣ 10장: 성능 최적화
    • 데이터베이스 최적화
    • 질의 최적화기
    • 인덱스
      • 질의 처리 과정
      • 커버링 인덱스
      • 정렬 작업 생략
      • 그룹화 작업 생략
      • 내림차순 인덱스 스캔
      • NULL 처리
      • 인덱스 최적화
    • 조인
      • 조인 연산의 종류
      • 조인과 집합 연산
      • 조인 방법
    • 부질의
      • 복수 행 연산자
    • 질의 비용 확인
    • 질의 실행 계획 확인
      • 스캔
      • 조인
      • 필터
    • SQL 튜닝 모드
    • 힌트 사용하기
      • 조인 힌트
      • 인덱스 힌트
    •  
  • ▣ 11장: 보안
    • 브로커 접근 제어
      • 접근 가능한 IP 주소 설정
      • 브로커 구동 중 접근 제어 설정 변경
    • 데이터베이스 서버 접근 제어
      • ACL을 사용한 접근 제어
      • 브로커 모드를 사용한 접근 제어
    • 객체 접근 제어
    • 큐브리드 매니저 사용자 관리
      • 큐브리드 매니저 클라이언트에서 사용자 관리
      • 큐브리드 매니저 콘솔에서 사용자 관리
    •  
  • ▣ 부록 A: 큐브리드 SQL 구문
    • 테이블
    • 인덱스
    • 시리얼(SERIAL)
    • 사용자 권한
    • 연산자와 함수
    • SELECT
    • INSERT
    • MERGE
    • UPDATE
    • REPLACE
    • DELETE
    •  
  • ▣ 부록 B: 다른 DBMS와의 차이
    •  
  • ▣ 부록 C: 다국어 지원
    •  
  • ▣ 부록 D: 부록 큐브리드 버전 정보

엮인 글

엮인 글 주소: http://wikibook.co.kr/cubrid/trackback/