https://medium.com/@rakyll/things-i-wished-more-developers-knew-about-databases-2d0178464f78
99.999%의 경우 네트워크가 중요하지 않다면 운이 좋은 것입니다.
(?)- ACID에는 많은 의미가 있습니다.
- 산
- 원자성
- 일관성
- 격리
- 내구성
- 산
- 일관성 및 격리 성능은 데이터베이스마다 다릅니다.
- 낙관적 잠금은 잠금을 유지할 수 없는 경우 옵션입니다.
낙관적 잠금: 동일한 데이터의 여러 업데이트가 동시에 서로 간섭하는 것을 방지하는 버전이라는 속성을 확인하여 엔터티의 변경 사항을 감지하는 메커니즘입니다.
- 더티 읽기 및 데이터 손실 외에도 이상이 있습니다.
내 데이터베이스와 나는 항상 정렬에 동의하지 않습니다.
(?)- 애플리케이션 계층 샤딩은 애플리케이션 외부에 상주할 수 있습니다.
- AUTOINCREMENT 설정은 위험할 수 있습니다.
- 오래된 데이터는 유용하며 잠금이 필요하지 않습니다.
- 클록 소스마다 클록 스큐가 발생합니다.
- 대기 시간에는 여러 가지 의미가 있습니다.
- 각 트랜잭션에 대해 성능 평가가 필요합니다.
- 중첩 트랜잭션은 위험할 수 있습니다.
- 거래는 활성 상태로 남아 있어서는 안 됩니다.
- 쿼리를 설계하는 사람들은 데이터베이스에 대해 많은 것을 알려줄 수 있습니다.
- 온라인 마이그레이션은 복잡하지만 가능합니다.
- 데이터베이스의 급속한 성장은 예측 불가능성을 초래합니다.
데이터베이스 관련 용어를 모른 채 영어 기사를 읽는 것이 더 혼란스러웠습니다.
그러고 보니 학습하면서 본 단어(예: ACID, transaction 등)가 많아서 교과서와 대조해 봐야겠다고 생각했습니다.
이론적으로 대략적으로 알고 있는 지식이 실제로 어떤 상황에 적용될 수 있는지를 배우고 찾아내야 합니다.
DB 관련 개념 숙지 필수