DataBase/Mysql
-
스토리지 엔진 InnoDB vs MyISAMDataBase/Mysql 2024. 11. 4. 22:23
0. 들어가면서Mysql을 사용하기전 서비스에 가장 최적화된 스토리지엔진이 무엇인지 탐구한 결과를 정리해보았다.여기선 자주쓰는 InnoDB와 MyISAM를 비교해보겠다. 1. InnoDB특징트랜잭션 지원: ACID 특성을 만족하여 데이터 무결성 보장외래 키 지원: 관계형 데이터베이스의 장점을 활용 가능행 수준 잠금: 동시성 처리에 유리하여 다중 사용자 환경에서 성능 우수충돌 복구 기능: 예기치 않은 오류 발생 시 데이터 복구가능장점데이터의 일관성과 무결성이 중요한 애플리케이션에 적합합니다.동시 읽기/쓰기에 강함: 블로그의 다중 사용자 접근 시에도 안정적인 성능을 제공합니다.단점상대적으로 메모리 사용량이 높다 ( 당연하다.. 무결성 보장과 성능을 어느정도 끌어올려야하니 해당하는 데이터를 캐시값으로 가지고..
-
MYSQL의 락DataBase/Mysql 2024. 11. 3. 23:48
0. 들어가기전일부 프로시저가 MSSQL에서는 락이걸리고 MYSQL에서는 락이 걸리지 않는 현상을 발견하여 MSSQL과 MYSQL의 무엇이 다르기에 이런 현상이 발생했는지 알아보았다. 1. 락이란?락은 데이터베이스에서 데이터의 일관성과 무결성을 보장하기 위해 사용되는 동시성 제어 메커니즘으로 여러 트랜잭션이 동시에 동일한 데이터를 액세스할 때 발생할 수 있는 Race Condition 을 방지2. MySQL의 락 종류2.1 테이블 락(Table Lock)테이블 전체에 락을 거는 방식으로 MYSQL의 MyISAM 엔진이 주로 사용하며, 하나의 트랜잭션이 테이블을 수정하면 다른 트랜잭션은 해당 테이블에 대한 읽기/쓰기 작업이 제한됨.오버헤드가 적다.동시성 처리에 제한적이다. 2.2 행 락(Row Lock)..