자료구조의 이해가 데이터 관리의 효율성을 높인다는 사실을 체감하기 위해선,
컴퓨터가 여러 형태의 데이터들을 어떻게 저장하는지를 알아야한다.
컴퓨터의 데이터 저장소는 크게 두 가지가 있다.
첫 번째는 스토리지라는 곳으로, 우리가 흔히 이야기하는 HDD, SDD가 스토리지이다.
두 번째는 메모리라는 곳으로, 노트북이나 컴퓨터를 구매할 때 이야기하는 RAM이 바로 이 메모리이다.
두 가지 저장소의 가장 큰 차이는 영구성과 휘발성, 그리고 데이터를 처리하는 속도이다.
스토리지는 데이터를 영구적으로 보관할 수 있다. 우리가 컴퓨터에 저장해놓은 영화, 음악, 과제파일 등..
모두 우리가 직접 지우지 않는다면 계속 스토리지에 남아있다.
반면에 메모리는 데이터를 일시적으로만 보관한다. 따라서, 메모리에 데이터가 저장되더라도,
컴퓨터가 종료되거나 프로그램을 종료시키면 해당 데이터는 사라지게 된다.
두 저장소 사이의 데이터 처리 속도에도 차이가 있다.
스토리지는 많은 양의 데이터를 저장할 수 있는 만큼, 해당 데이터를 불러오는 시간이 느리다.
메모리는 반면에, 스토리지보다 훨씬 빠른 속도로 데이터를 처리할 수 있다.
이렇게 저장소를 특성에 따라 두 가지로 분류함으로써, 우리는 데이터를 훨씬 더 효율적으로 관리할 수 있다.
본인은 스토리지와 메모리를 각각 방과 주머니에 비유하곤 한다.
주머니보다 훨씬 많은 물건들을 방에 보관할 수 있지만,
어떤 물건을 찾아야할 때 주머니를 뒤져서 찾을 때가 방을 뒤져 찾을 때보다 훨씬 적은 시간이 소요될 것이다.
컴퓨터가 데이터를 관리하는 방식이 우리가 물건을 관리하는 방식과 크게 다르지 않은 모습이다.
그리고 코딩을 배울 땐 특히 메모리 즉, RAM이 어떠한 방식으로 데이터를 저장하는지 알면
만들고자 하는 서비스나 프로그램의 작동 및 처리를 매우 효율적으로 관리할 수 있다.
메모리(RAM)
스토리지는 자료구조 공부에선 잠시 제쳐두자.
RAM은 Random Access Memory의 약자로, 이름 그대로 임의접근 메모리이다.
이 임의접근이라는 말이 굉장히 중요함과 동시에 메모리의 가장 큰 장점이다.
메모리는 사각형을 일자로 쭉 이어붙인 일종의 띠처럼 생각할 수 있는데, 각각의 사각형이 저마다의 주소를 갖고 있다.
그리고 컴퓨터는 특정 데이터를 저장하거나 불러올 때, 모두 이 주소를 활용한다.
보기에는 별 것 아닌 것 같지만 비디오 테이프나 카세트와 비교해볼 때 이것은 매우 효율적인 방식이다.
우리가 2시간 분량의 비디오 테이프를 가지고 그 비디오의 1시간 30분 지점의 내용을 확인하기 위해선
비디오의 시작점인 1초부터 1시간 30분 지점까지 모두 순차적으로 거쳐야 도달할 수 있다. 이러한 접근방식을 순차접근이라 한다.
반면에 RAM은 해당 주소, 즉 1시간 30분 지점이라는 주소만 입력하면 곧바로 해당 데이터에 접근할 수 있는 것이다.
그리고 이 접근방식을 임의접근이라 한다.
다시 말해,
순차접근 방식에서 데이터를 찾고자 할 때는, 해당 데이터의 양이 증가하면 증가할수록 더 오랜 시간이 걸린다.
반면에 임의접근 방식을 통해서는 데이터가 얼마나 크던 주소를 통해 바로 데이터를 찾을 수 있다.
우리의 컴퓨터의 빠른 동작의 비결은 바로 이 RAM에 있는 것이라 할 수 있다.
'그 외 공부 > 자료구조' 카테고리의 다른 글
해시테이블이란? (0) | 2021.01.12 |
---|---|
더블리 링크드 리스트의 구현 및 연산, 링크드 리스트와의 차이점 - 파이썬 (Python) (0) | 2021.01.11 |
링크드 리스트의 구현 및 연산 - 파이썬(Python) (0) | 2021.01.11 |
링크드 리스트(연결 리스트), 그리고 배열과의 차이점 (0) | 2021.01.11 |
배열 - 정적배열, 동적배열 (0) | 2021.01.10 |