Category: MariaDB

갈레라 클러스터 WSREP GTID

갈레라 클러스터 WSREP GTID   갈레라 클러스터는 마리아DB의 리플리케이션과는 상당히 다른, 인증기반의 리플리케이션 방식을 가지고 있습니다. 갈레라의 GTID가 각각의 노드에 대해서만 일관성을 가지지 않고 전체 노드에 유니크한 값을 가진 쓰기셋으로 갈레라 클러스터에 연동된다면 충분히...

샤드와 샤딩 (Shard and Sharding)

  샤드 (Shard: Database Architecture) 데이터베이스 샤드는 데이터베이스 혹은 검색엔진의 수평적 파티션을 말합니다. 각각의 파티션을 샤드 또는 데이터베이스 샤드라고 합니다. 각 샤드는 별도의 데이터베이스 서버 인스턴스에 분리 보관되어 로드를 분산시킵니다. 어떤 데이터는 데이터베이스의 모든...

갈레라 클러스터 (Galera Cluster): Multi Master Replication

  Galera Cluster: 다중 마스터 복제 갈레라 클러스터는 코더십이 만든 동기적 다중 마스터 방법입니다. MariaDB의 공식적인 클러스터 입니다. 갈레라 클러스터는 인증 기반 복제를 제공합니다. 데이터 완전성에 대해서는 자동으로 관리합니다.   Galera Cluster 동작 원리...

Sysbench : MariaDB, MySQL, PostgreSQL Benchmark Tool.

  Sysbench ? 시스템 성능을 측정할 수 있는 툴로, MySQL에서 내부 프로젝트로 만들다가 Lua 스크립트를 적용한 0.5 버전까지 나왔다가 오랜기간 개발이 중지 되었습니다. 2016년에 다시 개발이 시작되었고 현재 1.0 버전대 개발이 진행중입니다. 기존에는 소스코드를...

PostgreSQL과 MariaDB의 사이에서의 선택

  PostgreSQL과 MariaDB의 사이에서의 선택 클라우드가 대세가 되고, 오픈소스가 많은 영역에서 중요한 자리를 차지하게 됨에 따라서, 데이터베이스 영역 역시 오픈소스 DB가 많은 시장 점유율을 차지하고 있습니다. 여전히 성능과 안정성, 모든 부분에서 상용인 오라클이 가장...

MariaDB, MySQL max_connections 값 변경

  MariaDB, MySQL max_connections 값 변경   max_connections 값이 작으면 그냥 변경해도 변경이 됩니다. 그러나 1000 이상의 값을 가지게 되면 에러가 떨어지면서 적용하려면 OS 커널 파라미터의 튜닝이 필요합니다. # vi /etc/my.cnf.d/server.cnf open_files_limit = 4096 max_connections...

MySQL Engine Lock

  MySQL Engine Lock MySQL에서 사용하는 Lock은 크게 스토리지 엔지 레벨과 MySQL 엔진 레벨로 나눌수 있습니다. MySQL 엔진 레벨의 Lock은 모든 스토리지 엔진에 영향을 미치게 되지만, 스토리지 엔진 레벨의 Lock은 스토리지 엔진 간 상호...

MySQL 트랜잭션

  MySQL 트랜잭션   트랜잭션이란? 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 말합니다. SQL(Select, Insert, Delete, Update)을 이용하여 데이터베이스에 접근하는 것을 의미 합니다.   트랜잭션의 4가지 특징 Atomicity (원자성) Consistency (일관성) Isolation (독립성) Durability...

MySQL 쿼리 실행 구조

    MySQL 쿼리 실행 구조 Parser – 파서는 사용자의 요청으로 들어온 쿼리 문장을 토큰으로 분리해 트리 형태의 구조로 만들어 내는 작업을 의미 합니다. 쿼리의 기본 문법 오류는 이 단계에서 발견되며 사용자에게 오류 메세지를...

MySQL 아키텍쳐

  MySQL 아키텍쳐 MySQL은 크게 “MySQL” 엔진과 “스토리지 엔진”으로 구성 되어 있습니다. MySQL 엔진은 클라이언트의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와 SQL 파서와 전처리기, 그리고 쿼리의 최적환된 실행을 위한 옵티마이저가 중심을 이루고 있습니다....

MariaDB의 InnoDB 엔진, XtraDB엔진

  MariaDB의 InnoDB 엔진, XtraDB엔진   InnoDB의 기능들 MySQL 5.5 에서 5.6으로 업그레이되면서 InnoDB 스토리지 엔진에 많은 변화가 있었습니다. 통계정보 MySQL 5.6의 InnoDB에서는 각 테이블의 통계정보를 테이블로 관리하도록 보완 되었습니다. 테이블의 전체 레코드 수나...

MariaDB Galera를 이용한 다중화 구성

  MariaDB Galera를 이용한 다중화 구성   장애를 대비한 이중화 구성은 안정적인 서비스를 위한 최선책입니다. DB 역시 요즘은 HA 구성에서 Master-Master 구성을 가지는 다중화 기능으로 변화하고 있습니다. Oracle은 오래전부터 RAC라는 Active-Active 구조의 아주 뛰어난...

MySQL, MariaDB 오픈소스 모니터링 툴

  Percona PMM server 페르코나는 MySQL 개발 하던 사람들이 나와서 MySQL 관련 컨설팅을 하면서 MySQL 강화 버전인 Percona-Server를 제공하는 회사입니다. Percona-server는 xtraDB 라는 InnoDB 강화 버전의 엔진을 탑재한 MySQL 기반의 DB입니다. Precona에서는 MySQL이나 MariaDB에서...