Tagged: 마리아디비

MariaDB 10.5 Galera Cluster 설정

  MariaDB 10.5 Galera Cluster 설정 MariaDB가 10.5 버전이 정식으로 릴리즈 되서 오늘(2020.07.02) 기준 10.5.4 버전을 내려 받을수 있습니다. 10.5 버전부터 Galera의 wsrep gtid를 지원합니다. 따라서 wsrep gtid를 이용한 Galera Cluster를 세팅해보겠습니다. CentOS 7.8 에서...

SPIDER 엔진을 이용한 샤딩 환경 구축 #01

  Spider 엔진? Spider 스토리지 엔진은 샤딩 기능이 내장 된 스토리지 엔진입니다. 파티셔닝 및 xa 트랜잭션을 지원하며 다른 MariaDB 인스턴스의 테이블을 마치 동일한 인스턴스에있는 것처럼 처리 할 수 있습니다. Spider 스토리지 엔진으로 테이블을 작성하면 테이블이...

MariaDB의 XA Transactions

  분산 트랜잭션(Distributed Transactions)이란? 글로벌 트랜잭션(Global transaction)이라고도 불리며 여러개의 분산된 리소스들(ex: 프린터 드라이버, 데이터베이스 등) 각각에 대한 트랜잭션들을 하나의 트랜잭션으로 묶은 것을 의미합니다. 이 경우 하나의 리소스 실패하면 전체를 rollback 합니다. Distributed Transaction Processing(DTP) 아키텍처는...

Character Set and Collation

  Character Set DB에서 Character Set이란, 데이터베이스에서 사용하는 문자와 encording 집합입니다. DB를 생성 할때 흔히 지정해주는 문자셋으로 UTF-8, euckr 같은 것들이 있으며, 각 문자가 컴퓨터에 저장될 때 어떠한 코드로 저장될지에 대한 규칙의 집합을 의미합니다. Character...

MySQL 8 vs MariaDB 10.4

MySQL 8 MariaDB 10.4 Storage Engines FEDERATED MEMORY InnoDB Performance_Schema MyISAM MRG_MYISAM BLACKHOLE CSV ARCHIVE Default Installation (8) CSV MRG_MyISAM MEMORY Aria MyISAM SEQUENCE InnoDB PERFORMANCE_SCHEMA Plugins (6) TokuDB RocksDB Spider Connect OQGRAPH Mroonga Clustering...

InnoDB dirty pages

  Dirty pages? Row 값을 업데이트하면 MySQL은 Buffer Pool에서 Row값을 업데이트 하여 Page를 Dirty로 표시합니다. 변경 사항은 바이너리 로그에도 기록되므로 충돌이 발생하면 MySQL이 로그를 재생하고 데이터가 손실되지 않습니다. 바이너리 로그에 쓰는 작업은 append-only로 동작하지만, 실제...

MariaDB Replication

  Replication? MariaDB 또는 MySQL에서 Replication은 단어 그대로 복제를 의미합니다. 일반적으로 Replication은 읽기 부하 분산 또는 HA를 위해서 구축합니다. Replication을 사용하는 이유는 다양합니다. 데이터 분산: DR 구축이나 사본을 저장하기 위한 설정 부하 분산:  Read가 많은...

갈레라 클러스터 WSREP GTID

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

샤드와 샤딩 (Shard and Sharding)

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

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

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

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 트랜잭션

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

MySQL 아키텍쳐

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

 

새 블로그로 이사갑니다.

 

rastalion.dev

 

도메인 변경했어요. 현재 지속적으로 개선 중입니다.

 

This will close in 10 seconds