Zero to Hero
데이터베이스를 지탱하는 기술 02
Review 2020. 12. 27. 12:56

데이터베이스는 어떤 때에 크래쉬 되는가? 1. 소프트웨어 장애 2. OS 장애 3. 하드웨어 장애 디스크 이중화로 데이터 손실 방지하기 1. 데이터는 보통 HDD에 저장된다. 2. 그러나 HDD는 하드웨어 중에서 가장 고장률이 높은 부품이다. 3. RAID 기술을 이용해 데이터 손실을 방지한다. 4. RAID 구성에 따라 한 개가 망가진 상태에서 방치하면 성능이 크게 저하할 수 있고, 두 번째 HDD가 손상되면 데이터 손실의 위험이 있다. 5. 이런 것을 방지하기 위해 HDD가 손상된 경우에 서비스를 멈추지 않고 새로운 HDD로 교체하여 복구하는 "Hot Swap"이라는 기술도 병용된다. 6. 하지만 근본적으로 RAID만으로는 서비스를 운영하는 것은 충분하지 않다. 장애 원인이 HDD 뿐만이 아니기 때문..

데이터베이스를 지탱하는 기술 01
Review 2020. 12. 27. 12:33

데이터베이스를 사용해야 하는 이유 1. 대량의 데이터 중에서 필요한 것을 빨리 반환할 수 있다. 2. 대량의 데이터를 메모리 내에서만으로는 취급할 수 없다. 3. 장애가 발생했을 때 빠른 복구가 어렵다. 4. 병렬성 제어가 어렵다. 5. 데이터 무결성을 보장하는 것이 어렵다. 인덱스(Index) 1. 전체 검색(Full Scan)은 대량의 데이터에 적합하지 않다. 2. 원하는 위치까지 순식간에 도달하는 방법 생각하기 방법 1 사용자 정보를 "고정 길이"로 관리하기 고정 길이 파일로 관리하면 ID에 대해서 파일 위치가 기계적으로 단순히 정해지기 때문에 바로 목표로 하는 데이터에 다다르게 된다. 그러나 불필요하게 소비되는 공간이 너무 많이 실용적이지 않다. 구체적인 문제점 1. 고정 길이 파일이 모든 사용자..