mongoDB
6개의 글
Subdocument? 데이터베이스를 사용하다 보면, 한 데이터 베이스에 다른 스키마의 내용이 들어가야할 때가 종종 생긴다. 예를 들어 학급에 대한 컬렉션을 작성한다고 예를 들어보자. 학급은 여러가지 정보들이 들어가겠지만, 학생들의 정보가 들어가야 하는 것은 당연한 일이다. 예를 들어 Class 컬렉션에, 학년, 반, 담임, 학생 이라는 정보가 들어간다고 할 때에 SQL 에서는 테이블을 아마 다음과 같이 짤 것이다. Class 테이블 ( 학년 / 반 / 담임 )Student 테이블 ( 반 / 학생 ) 이런식으로 짜서, 두 테이블을 join하여 사용하지 않을까 싶다. SQL의 조인 , 트랜잭션 등의 기능은 아주 강력하고 편리한 기능이다. 그러나 NoSQL에서는 그러한 기능이 없기 때문에 다른 방식을 사용하..
(이녀석이 아니다.) Mongoose ? Node.js 에서는 MongoDB 에 접근하여 데이터를 사용할 수 있게 해주는 모듈들이 몇가지 있다. 대표적으로 mongodb-native 나 mongoose 등이 있다. 해당 모듈들은 모두 mongodb의 기능을 성실히 수행하여 주지만, 각각의 특징점들이 있다. mongodb-native 는 이름에 native에서 알 수 있듯이, 다른 추가적인 기능보다는 mongodb 본연의 특징을 사용하도록 해준다. mongoose는 조금 더 기능들이 추가되었다. 기능들이 추가된다는 것은, 속도는 저하된다는 말과 거의 같다. 다양한 기능들로 편의성을 높였으나, mongodb-native와 비교하자면 그 속도가 조금 떨어지는 것이 사실이다. 그럼에도 Mongoose가 가장 많..
MongoDB 명령어모든 명령어는 Mongo 를 실행한 후에 help 치면 볼 수 있다.그 중 일부분 자주 사용되는 명령어들이다.show dbs : 현재 존재하는 db들의 이름을 보여준다.show collections : 현재 사용하고있는 db의 컬렉션들을 보여준다. (컬렉션은 mysql의 테이블과 비슷한 개념)show users : 현재 존재하는 사용자들을 보여준다.exit : mongo shell을 종료한다.MongoDB Collection 명령어Collection 과 관련된 명령어 들이다.db.mycoll.help() 라고 검색하면 모든 명령어가 나온다.그 중 자주 사용되는 명령어들이다.아래 명령어에서 mycoll은 사용할 collection 이름이다. db.mycoll.count( query = ..
No SQL이란?NoSQL 데이터베이스는 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다. 이러한 접근에 대한 동기에는 디자인의 단순화, 수평적 확장성, 세세한 통제를 포함한다. NoSQL 데이터베이스는 단순 검색 및 추가 작업을 위한 매우 최적화된 키 값 저장 공간으로, 레이턴시와 스루풋과 관련하여 상당한 성능 이익을 내는 것이 목적이다. NoSQL 데이터베이스는 빅데이터와 실시간 웹 애플리케이션의 상업적 이용에 널리 쓰인다. 또, NoSQL 시스템은 SQL 계열 쿼리 언어를 사용할 수 있다는 사실을 강조한다는 면에서 "Not only SQL"로 불리기도 한다.- 출처 : 위키백과, 우리 모두의 백과사전. - MongoDB는 대푯적..
MongoDB 설치https://www.mongodb.org/downloads 먼저 위의 공식 홈페이지에 들어가서 파일을 다운로드 받습니다. 설치는 간단하니 넘어가도록 하겠습니다.윈도우 서비스 등록 MongoDB는 MySQL과는 다르게 자동으로 윈도우 서비스에 등록하지 않습니다. 따라서 직접 설정을 해주어야 합니다. 먼저 CMD 창을 켜서, mongoDB가 설치된 폴더의 bin 폴더로 들어갑니다. 이곳의 파일들이 우리가 사용하는 실행파일들입니다. 윈도우 서비스를 등록하기 위하여 우리가 필요한 파일은 mongod.exe 파일입니다. bin 폴더에서 다음과 같이 입력하면 서비스를 등록할 수 있습니다. mongod --install --serviceName MongoDB --serviceDisplayName ..
이미지 출처 : https://www.youtube.com/watch?v=Jh0er2pRcq8 MEAN Stack이란 다음 4개의 웹 서버와 클라이언트 구현을 위한 언어 및 프레임워크 등을 뜻한다. MongoDB : Database System, NoSQL. Express : Node.js의 Framework. Angular.js : Javascript 라이브러리로, 원 페이지 어플리케이션 제작에 유리 Node.js : Javascript로 구현되는 백엔드(서버) 언어 이미지 출처 : http://joaopsilva.github.io/ 각각 위의 사진에서 알 수 있듯이 Client, Server, Database에서의 역할을 한다. 이미지 출처 : http://blog.backand.com/mean-vs..