2022. 5. 29. 20:00ㆍ03. Resources/Database
아무래도 순혈 컴퓨터공학도가 아닌데다가 데이터베이스는 더더욱 다룰 일이 없던 나에게
일반 SQL은 쓰라면 어떻게든 쓰지만, 꼭 쓰고 싶진 않던 그런 존재였다.
게다가 이번엔 다양한 종류의 데이터를 한 번에 관리해야하는 configuration들을 데이터베이스에 저장해야했다.
기존 SQL들로는 도저히 데이터베이스 구조를 어떻게 짜야할지 감이 안와서 다른 방법은 없는지 찾아보던 중에
테이블 방식이 아닌 다양한 데이터 포멧을 관리할 수 있는 NoSQL 데이터 베이스가 있다는 것을 알게 됐다.
그 중에서도 무료로 사용 가능하고 저장하는 데이터에 제약이 제일 없는 MongoDB를 이용해서 configuration들을 관리하기로 결정했다.
MongoDB 홈페이지는 아래와 같다.
그리고 MongoDB가 설명하는 NoSQL은 아래와 같다. 모르는 사람들이라면 한 번쯤은 읽어보면 좋을듯
https://www.mongodb.com/ko-kr/nosql-explained
내가 MongoDB를 이용하는 환경은 Carla를 세팅했던 환경과 동일하게 amd64의 Ubuntu 18.04 이다.
아키텍쳐를 명시하는 이유는 이제 맥도 쓰니까..?
우분투에 MongoDB를 설치하는 매뉴얼 페이지는 아래와 같다.
https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/
물론, 역시나 사족이 많고 문서가 길어서 나는 아래처럼 스크립트를 만들어서 쓴다
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt-get update && sudo apt-get install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl daemon-reload
키를 등록하고, 리스트에 MongoDB 정보를 넣어주고, 인덱스를 업데이트한 다음 설치하는 순서이다.
그리고 백그라운드에서 돌아야하기 때문에, mongod를 서비스로 등록해주기까지 하면 끝이다!
다 되면 mongosh로 몽고 쉘에 들어가서 잘 작동하는지 확인해볼 수도 있고,
vscode에 아래의 extension을 설치해서 확인해볼 수도 있다!
무튼 내 입장에서는 정형화된 테이블에 데이터를 저장하는 방식보단 key-value 혹은 문서 방식의 데이터 관리가 더 편하니 아주 잘 쓰고 있다.
하지만 이것도 vscode에 연결해서 playground로 놀기엔 너무 불편해서 python에서 mongo db를 관리할 수 있는
pymongo 패키지를 설치해서 쓰고 있다!
다음 포스팅은 pymongo와 관련해서 해보겠다!
'03. Resources > Database' 카테고리의 다른 글
[MongoDB/pymongo] PyMongo 데이터 삽입 (insert) 하는 두 가지 방법 (0) | 2022.06.14 |
---|---|
[MongoDB/pymongo] PyMongo 설치해서 파이썬 MongoDB 연결! (0) | 2022.05.31 |
[생활코딩/SQL] MySQL - 테이블 분리하기, JOIN (0) | 2021.08.19 |
[생활코딩/SQL] MySQL - 관계형 데이터베이스의 필요성 (0) | 2021.08.17 |
[생활코딩/SQL] MySQL - 삽입(INSERT), 선택(SELECT), 업데이트(UPDATE), 제거(DELETE) (0) | 2021.08.15 |