728x90
파일은 어떻게 메모리에 기록되는가?
파일 저장을 하게 되면 보조기억장치(RAM)에 있는 데이터를 주기억장치(HDD, SDD)로 옮기는 과정이 발생한다.
파일(=데이터)이라는 것은 결국 0과 1의 조합이다. 복잡하게 생각할 것 없다.
이 데이터를 어떻게 옮길 것인가? 그 방법은 다양하다.
1. Array List 를 사용하는 방법
이 방법은 직관적이지만 효율적인 메모리 관리 면에서는 부족하다.
가령 저장할 공간을 메모리에 연속으로 할당할 수 없는 경우에는?
데이터가 쪼개져서 저장되고 이는 데이터를 불러오기 어려울 것이다.
2. Linked List 를 사용하는 방법
효율적인 메모리 관리를 위해 사용되는 방법이다.
단, 데이터의 삭제 및 추가가 빈번하게 발생할 때, 연산시간이 소요된다.
3. Hash Table을 사용하는 방법
각 메모리 영역에 인덱스를 부여하여 데이터를 기록한다.
Linked List와 유사해 보이지만 데이터 저장 영역을 미리 할당해 둔다는 부분이 차이점이다.
그로인에 데이터 CRUD는 매우 빠르지만 저장공간 낭비가 발생한다.
그 외에도 파일을 어떻게 관리하고 접근할 것인지, 그리고 무결성을 어떻게 보장해야하는지도 고려해야한다.
728x90
'IT지식' 카테고리의 다른 글
세션(Session)과 토큰(Token) (0) | 2022.07.17 |
---|---|
교차 출처 리소스 공유(CORS) 문제 (0) | 2022.07.17 |
3계층 구조(3 Tier Architecture) (0) | 2022.07.17 |
MVC 패턴 (0) | 2022.07.11 |
동기(Sync)와 비동기(Async) (0) | 2022.07.11 |