개발자와 DBA를 위한 Real MySQL 책을 보고 정리한 내용이다. 트랜잭션 하나의 논리적인 작업 셋에 하나의 쿼리가 있든 두 개 이상의 쿼리가 있든 관계없이 논리적인 작업 셋 자체가 100% 적용되거나 또는 아무것도 적용되지 않아야 함을 보장해주는 것 트랜잭션 관점에서 InnoDB/MyISAM 스토리지 엔진 차이 mysql> CREATE TABLE tab_myisam(fdpk INT NOT NULL, PRIMARY KEY (fdpk)) ENGINE=MyISAM; mysql> INSERT INTO tab_myisam(fdpk) VALUES (3); mysql> CREATE TABLE tab_innodb(fdpk INT NOT NULL, PRIMARY KEY (fdpk)) ENGINE=INNODB; m..
개발자와 DBA를 위한 Real MySQL 책을 보고 정리한 내용이다. MySQL 전체 아키텍처 MySQL 서버는 MySQL 엔진, 스토리지 엔진으로 구분된다. MySQL 엔진 클라이언트로부터 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와 SQL 파서 및 전처리기, 그리고 쿼리의 최적화된 실행을 위한 옵티마이저가 중심을 이룬다. 성능 향상을 위해 MyISAM의 키 캐시나 InnoDB의 버퍼 풀과 같은 보조 저장소 기능이 포함돼 있다. 표준 SQL(ANSI SQL-92) 문법을 지원하므로 표준 문법에 따른 다른 DBMS와 호환되어 실행될 수 있다. 스토리지 엔진 요청된 SQL 문장을 분석하거나 최적화하는 등 DBMS의 두뇌에 해당하는 처리를 수행 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로..
개발자와 DBA를 위한 Real MySQL 책을 보고 정리한 내용이다. MySQL 설정 파일 MySQL 서버는 단 하나의 설정 파일(my.cnf)만 사용한다. 설정 파일의 경로가 하나로 고정돼어 있지않고 MySQL 서버에 지정된 여러 개의 디렉토리를 순차적으로 탐색하면서 처음 발견된 my.cnf 파일을 시작될 때만 참조해 사용하게 된다. 순서는 다음과 같다. 1. /etc/my.cnf 2. /etc/mysql/my.cnf 3. /usr/local/mysql/etc/my.cnf 4. ~/.my.cnf 1, 2, 4 번 파일 경로는 어느 MySQL에서나 동일하게 검색하는 경로이며, 3 번 파일은 컴파일될 때 MySQL 프로그램에 내장된 경로이다. MySQL 서버용 설정 파일 1, 3 하나의 장비( 서버 머신..
본 문서는 공식 홈페이지 Elasticsearch 시작하기 를 보며 정리한 문서이다. 설치는 이전 글을 참고한다. ELK Stack을 실행 후 키바나의 dev_tools 로 접속해 이곳에서 테스트를 진행한다. 문서 색인 우선 customer라는 인덱스에 식별자 "1", 이름이 "John Doe" 인 데이터를 삽입하고 조회한다. PUT /customer/_doc/1 { "name": "John Doe" }삽입한 결과는 다음과 같다. { "_index" : "customer", // index 정보 "_type" : "_doc", // 문서의 타입 "_id" : "1", // id = 1 "_version" : 4, // version 정보 "result" : "updated", // 결과 "_shards"..
본 문서는 공식 홈페이지 를 보며 정리한 문서이다. Elasticsearch는 Elastic Stack의 중심에서 분산 검색 및 분석을 담당하는 엔진이다. Logstash와 Beats는 데이터를 수집, 집계하고 Elastcsearch에 저장하는 것을 용이하게 한다. Kibana를 사용하면 데이터를 탐색, 시각화 및 공유하고 스택을 관리 및 모니터링 가능하다. Elastcsearch는 모든 유형의 데이터에 대해 거의 실시간 검색 및 분석을 제공한다. 구조화되었거나 구조화되지 않은 텍스트, 숫자 데이터 또는 지리 공간 데이터가 있든 관계없이 빠른 검색을 지원하는 방식으로 효율적으로 저장하고 색인을 생성할 수 있다. 단순한 데이터 검색 및 집계 정보를 뛰어 넘어 데이터의 추세와 패턴을 찾아낼 수도 있으며, 데..