목록DB최적화 (2)
번개애비의 라이프스톼일
MySQL 혹은 MariaDB 환경에서 1억개의 Row가 저장되어 있다고 가정하자. 인덱싱이 지정되어 있지 않은 칼럼에서 검색을 수행했을때 데이터베이스는 1억개를 Full Scan을 하게 되어 SELECT 쿼리결과가 나오기까지 오랜시간이 필요로 한다. 이렇게 비교적(?) 대용량의 데이터를 처리하기 위해서는 여러가지 튜닝방법이 존재하는데, 튜닝의 우선순위는 아래와 같다. 1. 가급적 로직을 DB상에서 처리하지 않고 WEB Applicaition 상에서 구현한다. WEB Application 부하는 DB Server에서 발생하는 부하보다 비교적 쉽게 해결이 가능하다. Web 서버는 라운드로빈이든 L4를 활용하든 너무나 쉽게 확장이 가능한 반면, DB Server는 Master-Slave Replication..
[구성1] CPU : 4Core RAM : 32GB (relication setting을 제외하고 셋팅해주면 된다. 물론 양방향 리플리케이션은 강추) [mysqld] log-bin=mysql-bin#replication setting server-id=2#replication setting binlog_format = 'MIXED'#replication setting datadir=C:/DB/data port=3306 character-set-server=utf8 innodb_buffer_pool_size=20G innodb_buffer_pool_instances = 20 innodb_write_io_threads = 8 innodb_read_io_threads = 8 max_heap_table_size..