개발관련 도서/대규모 서비스를 지탱하는 기술

3장. 대규모 데이터를 다루기 위한 기초지식(#대규모 서비스를 지탱하는 기술)

prden 2021. 5. 3. 08:45

1. 프로그램을 작성할 때의 요령

1)  메모리에서 최대한 처리를 마쳐서 디스트 Seek횟수를 최소화한다.

2) 데이터량 증가에 강한 알고리즘을 사용해라. ex) 선형 탐색이 아닌 Log Order알고리즘을 적용하는 방법

3) 데이터 압축이나 검색 기술을 활용한다. 데이터 압축을 통해 데이터량을 줄일 수 있다면 근본적으로 seek횟수를 줄일 수 있으며, 특정용도에 특화된 검색엔진을 만들어 웹 애플리케이션에서 이용하는 형태로 전환하면 속도를 제대로 확보할 수 있다. 

 

2. 프로그램 개발의 근간이 되는 기초(3가지)

1) OS캐시 : OS가 캐시를 통해 대규모 데이터를 효율적으로 처리, OS 캐시만으로 처리할 수 없게 되었을 때 분산을 해야 하는 것

2) 분산을 고려한 RDBMS 운용 

3) 알고리즘과 데이터 구조