작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
21.08.16 02:29 작성
·
366
1
강사님 안녕하세요, 반갑습니다.
저는 얄코의 구독자이며 영상은 매우 잘 챙겨보고 있습니다.
csv를 데이터베이스로 이용한 하신것에 대해서 깜짝 놀랐고,
" 이걸로 다 CRUD를 구현을 하셨단 말이야?? ,, 하고 매우 기뻤습니다. " 그러나 강의에서
POST 로 localhost:3000/api/team >> 통해서 데이터를 넣어주면~
post man에서 들어간 데이터가 잘 확인이 되고, 브라우저에서도 확인을 해도 데이터가 잘 들어간 것이 확인이 됩니다.
근데 서버를 내렸다가 다시 올리면... 데이터가 없어져 있더라구요??
CSV데이터에 실제로 CRUD를 해보고 싶다는 생각이 듭니다.
1. csv 데이터베이스에 CRUD를 배워서 할 바에는 몽고디비를 쓰는 것이 좋을까요?
2. 구글에 검색을 해보니 하는 방법에 대한 글이 많더라구요, 추천하시는 글이 있으시면 추천이 가능하실까요?
ps. 바쁘시면 답글 안다셔도 감사합니다. ㅋㅋㅋ
답변 1
1
2021. 08. 16. 02:49
안녕하세요!
CSV로 데이터베이스를 구현한 건, 단순히 실습을 진행하기 수월하도록 하기 위함이었습니다. GraphQL에 대한 강의인데 이를 위해서 MySQL 등을 설치하는 것은 번거롭기 때문에 😅 가능한 특별히 다른 것 설치할 필요 없이 데이터를 사용하면서도, JSON보다는 수월하게 사용자들이 전체 데이터를 보고 수정할 수 있도록 하는 방법을 고민하다가 내린 결정이었어요.
강의에서 말씀드렸듯 그냥 목(mock) 데이터인겁니다. 실전에서 이처럼 CSV로 구축하는 사례가 많이 있는지는 모르겠습니다.
서버를 재실행하면 데이터가 사라져 있는 것은, 데이터를 삽입할 때 이 CSV 파일을 수정하는 코드가 없기 때문입니다. CSV의 데이터만 JSON으로 메모리에 로드한 뒤 이 메모리상에서만 CRUD가 이뤄지는 것이기 때문이죠. 변경상태가 저장되도록 하려면 C, U, D 작업을 할 때마다 CSV 파일도 변경되도록 하시면 됩니다.
간단한 서비스라면 그와 같이 CSV로 구현해도 잘만 해놓으면 문제는 없겠지만, 그 과정에서 발생할 수 있는 수많은 변수와 오류들에 대한 고민과 설계들의 결정체인 MySQL이나 몽고DB등의 제품들을 두고 굳이 그렇게 할 필요는 없다고 봅니다. 단 학습용이라면 괜찮은 실습이 될 것 같아요!