상세 컨텐츠

본문 제목

파일시스템은 왜 쓰는 걸까? 파일시스템과 DB의 관계는??

노베이스도 이해하는 공학이야기

by Tabris4547 2023. 8. 2. 00:40

본문

728x90

여러분의 컴퓨터는 오늘도 안녕하신가요?

요즘에 HDD,SDD용량이 아무리 늘어났어도

그만큼 우리는 많은 데이터를 활용하기 때문에

메모리 관리가 중요합니다.

잘못하면 컴퓨터가 느려져 특이점이 올 수 있으니까요.

컴퓨터내의 파일을 관리하는 파일시스템 덕분에

우리의 컴퓨터는 오늘도 안녕하게 작동하고 있습니다.

 

파일시스템은 왜 쓰는 걸까?

혹시 여러분들의 방도 이런 상태인가요?

방 청소를 안하면 돼지우리가 되어버립니다.

방 청소를 안하면 어떻게 되냐고요?

찾을 물건도 제대로 찾기 힘들어집니다.

음식물을 안치우면 냄새가 나기 시작하고

집안이 먼지로 가득합니다.

 

만약 여러분의 컴퓨터에 파일시스템이 없다면

컴퓨터는 돼지우리로 바뀔 것입니다.

파일시스템이라는 청소부가 파일을 차곡차곡 정리해주고

필요할 때 파일을 가져와 주기 때문에

우리 컴퓨터는 우리의 방과 다르게 쾌적합니다.

 

(파일시스템 예시를 정리한 문서입니다.

제가 정리할까하다가

이 분이 너무 깔끔하게 정리를 잘해주셔서 공유합니다)

https://daesiker.tistory.com/36

 

OS 파일시스템(File System)

1. 파일시스템이란? 파일 시스템이란, 파일의 이름을 정하고 저장, 검색을 위해서 논리적으로 어디에 위치시켜야 하는지에 대한 방법을 구성한 시스템이다. 저장 매체의 공간이 증가 할수록 파

daesiker.tistory.com

 

파일시스템과 DB

그럼 파일시스템은 어떻게 자료를 정리할까?

바로 DB(Data Base)를 통해 정리합니다.

DB하면 '서버'라고 생각하시는 분들도 계실 겁니다.

게임이나 앱에서 정보를 저장할 때 DB에 저장하시는 건 많이 알고 계실 겁니다.

그 DB가 파일의 정보를 저장한다면??

이 때는 MetaData라는, '데이터 관리를 위한 데이터'를 따로 만들어서

DB를 관리합니다.

여담으로, 이 MetaData 용량은 파일을 삭제해도 줄어들지 않는 경우가 많습니다.

그래서 컴퓨터를 오래쓰면 "나 별로 뭐 하는 거 없는데 왜 용량이 이러지?"하는 경우가 생기고

그렇기 떄문에 포맷을 해야하는 경우가 생겨납니다.

 

SQL(Structure Query Language)

서버를 다루는 사람들이라면

SQL만 봐도 반가움(?)이 느껴지실 겁니다.

SQL은 DB의 데이터를 추출하고 처리하는 데이터 언어입니다.

우리의 삶에는 데이터 처리를 해야할 일들이 많습니다.

당장에 '빅데이터' 'AI'이런 이야기도 있고

그것 외에도 게임이나 앱이나 각종 개인정보를 저장하는 경우가 많습니다.

 

 

막간 상식들

1. 왜 RESTFUL규칙을 지켜야하는 걸까?

서버쪽 개발자들은 공감할 이야기입니다.

RESTFUL규칙대로 GET/POST/PUT/UPDATE/DELETE이런 걸 다 지켜야하나?

개발하시다보면 "GET/POST만으로도 다 되는데 왜 나머지 규칙 다 지켜야함?"

저도 예전에 웹 개발할 때 이런 생각이 들었습니다.

물론 GET/POST만 해도 개발하는 데 별 문제가 없습니다.

하지만 '약속'이라는 관점으로 살펴볼까요?

다른 사람과 같이 작업을 한다 할때, 기능을 바로 명세해주는 것만으로도

소통하는데 훨씬 수훨합니다.

따로 주석을 달지 않고 추가로 이야기를 하지 않아도 됩니다.

 

2. JSON데이터는 저장 시 데이터 순서를 보장하지 않는다.

client-server간 통신할 때

JSON으로 데이터를 주고 받습니다.

그런데, JSON안에 데이터를 넣을 때

우리가 원하는 순서대로 저장이 되지 않을 수 있습니다.

예를들면 내가 생각할 때는

{singer="BTS",song="DNA",year=2020}

이런 식인데 저장하고 봤더니

{year=2020,singer="BTS",song="DNA"}

이런 식으로 저장이 될 수 있는거죠.

JSON은 할당된 메모리에 데이터를 넣기 때문에

순서를 보장하지 않습니다.

이 때문에 순서를 보장하는

GSON이라는 구조를 활용하는 경우도 있습니다.

 

 

3. CSV파일이란?

CSV는 Comma Seperated Value의 약자로

각 벨류를 ,로 구분짓습니다.

이는 데이터베이스 table관리하는 데 유용한데요

singer|song|year 이런 데이터베이스가 있다면

singer,song,year 이런 식으로 저장하고

나중에 불러읽을 때는 ,를 기준으로 읽어옵니다.

 

https://www.elancer.co.kr/blog/view?seq=156 

 

SQL 이란? 정의부터 특징까지 SQL을 사용하는 이유를 알려드립니다! I 이랜서 블로그

데이터 베이스에서 필요한 데이터를 추출하고 분석하는데 사용하는 '데이터 처리 언어 SQL'의 정의부터 특징과 사용하는 이유까지 자세하게 알려 드립니다. I sql, sql developer, sql join, sql 자격증, sq

www.elancer.co.kr

https://this-is-coding.tistory.com/18

 

JSONObject 순서 문제

Controller.java public JSONObject getLineUph(@RequestBody Map param) { String data = cm.transVOtoString(param); ArrayList arrUPH = service.getLineUPH(data, "LINE_UPH"); JSONObject jsonObj = new JSONObject(); for(DashVO uph : arrUPH){ jsonObj.put(uph.getPRO

this-is-coding.tistory.com

 

728x90

관련글 더보기

댓글 영역