💡수업 목표💡
- 파이썬 기초 문법을 안다.
- 원하는 페이지를 크롤링 할 수 있다.
- pymongo를 통해 mongoDB를 제어할 수 있다.
2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주차 - 1강 파이썬 설치 및 Pycharm 설정
2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주차 - 2강
2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주차 - 3,4,5,6,7,8강
DB (Database)
데이터베이스는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다.
이때 데이터는 단순 날 것의 infomation아닌 의미 있고 쓸모 있는 내용으로 가공하여 체계적으로 조직한 Data를 의미한다.
DBMS(Database Management System)
데이터베이스 관리 시스템은 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다.
데이터베이스는 여러사람이 공유하고 사용할 목적으로 가공한 데이터인 만큼 이러한 데이터의 중복을 없애고 구조화하여 효과적으로 처리할 수 있는 시스템이 필요하다. DBMS은 사용자 또는 다른 프로그램의 사이에 위하여 질의를 처리하고 적절히 응답하여 데이터를 사용할 수 있는 환경을 제공한다.
DBMS의 분류 : SQL VS No-SQL
DBMS의 분류은 계층형(Hierarchical), 망형(Network), 관계형(Relational), 객체지향형(Object-Oriented), 객체관계형(Object-Relational) 등으로 분류가 있으나 크게 두가지로 생각하면된다.
- SQL(RDBMS) 데이터베이스
- No-SQL 데이터베이스
SQL (RDBMS, Relational Database Management System)
SQL은 Structured Query Language (구조적 질의 언어)의 줄임말로, 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리 및 처리하기 위해 설계된 언어이다.
RDBMS의 데이터베이스는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 열(column)과 행(row)으로 이루어져 있어서 아마 가장 많이 경험한 익숙한 형태의 데이터베이스 일것이다.
- MySQL, Oracle, SQLite, MariaDB, PostgresSQL 등...
No-SQL
NoSQL 데이터베이스는 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다.
즉 스키마도, 관계도 없는 딕셔너리 형태라고 보면 된다. 데이터 하나 하나 마다 같은 값들을 가질 필요가 없다. 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족할 수 있다.
- MongoDB
어떤 프로젝트를 할 것인가에 따라 적합한 데이터베이스를 선택하면 된다.
이번 스파르타코딩클럽 웹개발종합반에서는 No-SQL 데이터베이스인 MongoDB를 익혀볼 예정이다.
mongoDB Atlas 로 시작하기
MongoDB Atlas는 MongoDB를 설계한 사람들이 만든 모든 것을 관리하는 클라우드 데이터베이스로, MongoDB를 사용할때 나의 컴퓨터 리소스를 사용하지 않고 AWS, Azure, GCP를 통해 배포에 관한 모든 것을 통합 관리해주는 원격 DB이다.
mongoDB Atlas 가입하기
계정 가입은 매우매우 간단하다. Start Free를 클릭하면 구글계정 로그인으로 빠르고 간단하게 가입할 수 있다.
mongoDB Atlas - Cluster 생성하기
회원가입을 하면 Atlas에서 굉장히 환영해준다. 이후 바로 나와 같은 초심자를 위해 바로 다음 스텝인 프로젝트 생성과 DB 빌드하는 것을 도와준다. 페이지 흐름 대로 따라가면 문제없이 잘 따라갈수 있다.
1. 프로젝트 생성하기
2. MongoDB 빌드
아무래도 클라우드 서비스를 이용하기 때문에 클라우드 서비스의 여러가지 유형 중에서 선택이 가능하다.
하지만 아무래도 초심자인 나는 무료로 사용할 것이기 때문에 제일 끝에 있는 Free 요금제인 Shared 버전을 생성할 것이다.
Shared버전에서 사용가능한 Region을 선택할수 있는 화면이 나온다.
예전에는 없어서 그나마 가까운 싱가포르를 많이 선택했다고 하는데 우리는 당당하게 Seoul을 선택하면 된다.
하단에 클라우드 리소스 옵션들이 있지만, 무료로 사용하는 Shared 버전에서는 선택사항이 없으므로 건들지 않기로 하자.
3. mongoDB 보안설정하기
먼저 mongoDB를 연결하고 관리하기 위해서 username 과 password를 설정해주면된다.
해당 DB관리자 게정은 mongoDB와 연결할때 반드시 필요하므로 잊어버리지 않도록 꼭꼭 체크한다.
또 그 다음은 Local IP 설정을 해준다.
mongoDB를 아무나 접근하게 해주는것이 아닌 특정 IP에서만 접근할 수 잇도록 해서 좀더 안전하게 사용하도록 한다.
내 IP뿐만아니라 특정 IP를 직접 입력도 가능하고 전체 접근가능하게도 가능하다.
우선 내 로컬 컴퓨터와의 연결은 필수이니 Add My Current IP Address 버튼을 클릭해주면 내 로컬 컴퓨터 IP가 등록된다.
4. 마무리
약간 기다리면 mongoDB 생성이 완료되면서 아래와 같은 모니터링 화면이 나오면 성공!
mongoDB Atlas 연결하기
mongoDB 생성이 끝나면 연결은 간단하다. Connect 버튼을 누르면, 연결 할 수 있는 방법을 안내해준다.
여기서 Connect your application을 선택해보자
그러면 아래와 같이 mongoDB와 연결할 수 있는 방법을 보여준다.
내가 사용하는 언어와 버전을 맞게 선택하면 mongoDB 접속 URL을 보여주는데 이것을 복사해서 사용하면된다.
이때 주소를 그대로 붙여넣기만 해서는 안되구 <password> 부분은 처음 mongoDB 관리계정을 생성할때 설정했던 비밀번호로 대체해주면된다.
mongoDB Atlas 컬렉션 확인하기
mongoDB에 저장된 데이터들은 Browse Collection을 통해서 간단하게 확인할 수 있다.
첫 생성하고 해당 DB를 살펴보면 아무것도 없다.
DB연결을 통해서 성공적으로 작업하게 되면 해당 페이지에 추가한 컬렉션이 나오게 된다.
'스파르타코딩클럽 > 웹개발' 카테고리의 다른 글
웹개발종합반 개발일지 | 3주차 - 숙제 (0) | 2022.08.28 |
---|---|
웹개발종합반 개발일지 | 3주차 - 12,13,14강 Python으로 mongoDB 조작하기 (0) | 2022.08.27 |
웹개발종합반 개발일지 | 3주차 - 3,4,5,6,7,8강 (0) | 2022.08.26 |
웹개발종합반 개발일지 | 3주차 - 2강 (0) | 2022.08.26 |
웹개발종합반 개발일지 | 3주차 - 1강 파이썬 설치 및 Pycharm 설정 (0) | 2022.08.26 |