Database
6개의 글
Subdocument? 데이터베이스를 사용하다 보면, 한 데이터 베이스에 다른 스키마의 내용이 들어가야할 때가 종종 생긴다. 예를 들어 학급에 대한 컬렉션을 작성한다고 예를 들어보자. 학급은 여러가지 정보들이 들어가겠지만, 학생들의 정보가 들어가야 하는 것은 당연한 일이다. 예를 들어 Class 컬렉션에, 학년, 반, 담임, 학생 이라는 정보가 들어간다고 할 때에 SQL 에서는 테이블을 아마 다음과 같이 짤 것이다. Class 테이블 ( 학년 / 반 / 담임 )Student 테이블 ( 반 / 학생 ) 이런식으로 짜서, 두 테이블을 join하여 사용하지 않을까 싶다. SQL의 조인 , 트랜잭션 등의 기능은 아주 강력하고 편리한 기능이다. 그러나 NoSQL에서는 그러한 기능이 없기 때문에 다른 방식을 사용하..
Mongoose 모델의 강점 Mongoose는 ODM으로 , 스키마 구성 -> 모델 구성 후에 모델을 이용하여 MongoDB에 데이터를 CRUD 작업 할 수 있다. MongoDB는 NoSQL로 스키마 등의 제한이 없다는 굉장한 장점이 있었는데, Mongoose는 왜 다시 스키마를 불러왔는가 ? 스키마와, 모델의 구성을 가져왔으나 제한은 가져오지 않았다는 것이 굉장한 장점이다. 즉, 장점은 가져오되 제한점은 가져오지 않은 것이다. 스키마-모델을 통하여 컬렉션에 들어가는 데이터(MongoDB에서는 도큐먼트, 즉 문서라고 함) 들의 통일성을 줄 수 있다. 그러나 스키마를 반드시 따라서 집어넣어야 하는 제한은 없다. 예를 들어 Person이라는 스키마를 만들자. 12345678var personSchema = ..
(이녀석이 아니다.) 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 ..