데이터베이스34 비관적 락 종류 간단 정리 1. 공유락 ( s lock 읽기락 ) 여러 사용자가 동시에 데이터 "읽기" 가능 2. 베타락 ( x lock 쓰기락 ) 가장 강력한 놈이며, 읽기 등 모든 트랜잭션이 동시에 접근 불가 3. 업데이터락 ( u lock ) 베타락을 걸기 전, 데드락을 방지하기 위해 사용됨. 4. 내재 락 ( IS, IX, SIX 등 ) I 가 붙으면 내재락 사용자가 요청한 범위에 대한 락을 걸 수 있는지 판단 2022. 12. 20. 오랜만에 하둡 설치기 빅데이터 취업을 위해 오랜만에 하둡을 다시 설치해 보았다. 환경 우분투 20.04 하둡 3.3.1 master : namenode slave-1 : secondary namenode, datanode 1 slave-2 : datanode 2 sudo apt install -y net-tools ssh vim tree openjdk-8-jdk // 자주 사용하는것 설치 wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz tar -xzf hadoop-3.3.1.tar.gz vi .bashrc export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HADOOP_HO.. 2022. 12. 19. 데이터베이스 트랜잭션 격리 수준 (database transaction isolation) 트랜잭션 격리 수준이란, 동시에 여러 트랜잭션이 처리될 때 트랜잭션끼리 얼마나 서로 격리되어 있는지 나타내는 것이다. 특정 트랜잭션이 다른 트랜샌션에서 변경한 데이터에 접근할 수 있을지를 결정한다. 아래로 내려갈 수록 격리 수준이 높아지며 성능은 떨어진다. 일반적인 온라인 서비스에서는 READ COMMITTED OR REPEATABLE READ 중 하나만 사용한다고 한다. 1. READ UNCOMMITTED READ UNCOMMITTED 격리수준에서는 어떤 트랜잭션의 변경내용이 COMMIT이나 ROLLBACK과 상관없이 다른 트랜잭션에서 보여진다. 이 격리수준에서는 아래와 같은 문제가 발생할 수 있다. A 트랜잭션에서 10번 사원의 나이를 27살에서 28살로 바꿈 아직 커밋하지 않음 B 트랜잭션에서 10.. 2022. 11. 27. 데이터베이스 인덱스, 디스크i/o 데이터베이스에서 가장 큰 cost를 차지하는 것은 디스크i/o이다. 얼마나 적게 디스크를 조금 탐색하느냐 or 디스크를 얼마나 빠르게 탐색하느냐에 따라서 데이터베이스의 성능을 좌우한다. 우리는 디스크를 조금만 탐색하기 위해 인덱스를 만들어서 사용한다. 여기서 궁금한 점이 있다. 인덱스를 사용하면 저장, 업데이트, 삽입 성능이 떨어지는데 왜 사용하지? 성능이 떨어지는 것은 사실이지만, 사용자가 요청하는것을 분석하여 통계를 내보면 케이스마다 다르겠지만, 일반적인 웹 사이트의 경우라면 읽기:나머지의 비율이 8:2 정도이다. 그래서 우리는 다른 0.2 정도의 비율의 성능을 낮추고 인덱스를 사용하여 읽기 성능을 끌어올리는 것이다. 물론 데이터복제하여 읽기전용으로 데이터베이스를 만드는 것도 하나의 방법이다. 분산 .. 2022. 11. 11. 이전 1 ··· 4 5 6 7 8 9 다음