- Today
- Total
목록DB (2)
개발하는 고라니
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zT47E/btq3nTx76VZ/EYIkahKlwKOvoMlAP2cwJ1/img.png)
일전에 Node를 통해 MongoDB에 데이터를 저장하고, 가져오고, 수정하고 삭제하는 것을 구현해보았다. 우리에게 익숙한 RDBMS와 다르게 NoSQL인 MongoDB는 스키마(Schema)가 없다는 특징이 있었다. 이는 때로는 편리할지도 모르지만, 어쩌면 더 복잡할 지도 모르겠다. 그래서 사용하는 것이 mongoose이다. mongoose는 MongoDB를 사용할 때 스키마를 지정해서 사용할 수 있게 해준다. 스키마 타입 (Schema Type) String 문자열 타입 Number 숫자 타입 Boolean 이진 타입 Array 배열 타입 Buffer 버퍼 타입, 바이너리 데이터를 저장할 수 있다. Date 날짜 타입 ObjectId 각 문서(Document)마다 만들어지는 ObjectId를 저장할 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bWJpme/btq2Kw9YQNH/oMdJHAdCgWIuSIFG8ryKm1/img.png)
Database와 DBMS 사실 데이터베이스가 존재하기 전부터 데이터를 관리하고 있었다. 위의 그림을 대학 캠퍼스라고 보면, 행정실, 도서관, 과사무실 이라고 보았을 때, 데이터를 각각 관리하였다. 그런데 학생의 데이터는 모든 곳에서 사용이 되는데, 동기화가 잘 안되는 것이다. 예를 들어 책을 빌리는 과정을 생각해보면, 휴학생에게는 도서 대출이 안된다. 유재석 학생이 오늘 복학했고, 도서관에서 도서를 대출하려고 했는데, 아직 데이터상 처리가 안되어있는 것이다. 행정실과 도서관의 데이터 동기화(복사본)는 그날 저녁에 이루어지므로 아직 휴학생처리가 되어있는 것이다. 이처럼 데이터가 실시간으로 반영이 안되는 것, 그리고 데이터의 복사본을 갖고있는 문제가 데이터 결함으로 이어질 수 있다는 문제점이 있다. 이를 ..