본문 바로가기

MongoDB

마틴파울러 <NoSQL 빅데이터 세상으로 떠나는 간결한 안내서> - 15장 데이터베이스 선정 본문 중에서... 15장 데이터베이스 선정NoSQL 기술을 사용하는 데는 두가지 주요 이유가 있다.애플리케이션의 필요에 더 잘 부합하는 데이터베이스를 사용해 프로그래머 생산성을 향상시키기 위해.대용량 데이터 처리, 지연 시간 감소, 처리량 증가를 통해 데이터 접근 성능을 향상시키기 위해NoSQL 기술을 사용하기로 결정하기 전에 프로그래머 생산성과 성능에 대한 기대를 테스트로 확인하는 것이 필수다.서비스를 캡슐화하면 필요에 따라 데이터 저장소 기술을 변경할 수 있다. 애플리케이션 일부를 서비스로 분리하면 기존 애플리케이션에서도 NoSQL을 도입할 수 있다.대부분의 애플리케이션에서, 특히 전략적인 것이 아니라면 관계형 기술을 계속 사용해야 한다. 적어도 NoSQL 생태계가 더 성숙해질 때까지는 그렇다. 관계..
NoSQL 도입 시 고려사항 컬럼패밀리 기반 - Cassandra - 노드가 추가될 때, Mongo DB보다 더 선형적으로 성능이 좋아진다. ( 참고 - NoSQL 비교(카산드라, HBASE, MongoDB )- 타임시퀀스한 데이터를 저장할 때 좋다. - 데이터를 삭제해도, 내부적으로는 삭제한 데이터도 읽어들여서 데이터가 많아지면 성능이 좋진 않다. 그리고 클러스터링 이슈로 지워졌던 데이터가 다시 살아날 수도 있다. ( 참고 - Apache Cassandra 톺아보기 3편 - Delete Data )- 페이지네이션 카산드라에서 페이징을 구현하는건 쉬운 일은 아니다. 하나의 Row에 속한 컬럼은 이미 정렬되어있어서, 한 Row에 대한 페이징은 가능하다. 그런데 Row Key는 해시키로 관리되기 때문에, Row Key 단위의 페이징을 ..