본문 바로가기

카테고리 없음

카산드라 (Cassandra)와 하둡(Hadoop)의 단점

반응형

지난 글에서 이야기한 몽고 디비(MongoDB)의 단점에 이어서 오늘은 NoSQL 중 카산드라와 하둡의 단점 및 문제점에 대해 알아보겠습니다.

 

카산드라 (Cassandra)의 단점

 우선 카산드라는 두 개 이상의 테이블을 결합하여 데이터를 검색하는 join이나 데이터베이스 관리 시스템 또는 트랜잭션의 성공과 실패가 분명하고, 상호 독립적이며, 일관되고 믿을 수 있는 시스템에서의 상호작용의 단위인 transaction을 지원하지 않습니다. 또한 Index 등의 검색을 위한 기능도 매우 단출하여, row key와 칼럼 두 가지에 대한 인덱스만 가능하고, super column family의 하위 칼럼에 대한 인덱싱이 불가능합니다. 그리고 Key 값을 통한 범위 검색은 데이터 분산 방식을 OPP(Order Preserving Partitioner)로 설정하여 key 값을 통해 데이터를 서버에 분배했을 때만 가능하다는 제약사항을 가집니다.

 다음으로는 관계형 데이터베이스 관리 시스템(RDBMS)과 같은 Paging(컴퓨터가 메인 메모리에서 사용하기 위해 2차 기억 장치로부터 데이터를 저장하고 검색하는 메모리 관리 기법)을 구현하는 것이 힘들고, Keyspace(어떻게 node 들에 데이터가 복제될 것인가를 정의하는 것)Table 등을 과도하게 생성할 경우 Memory Overflow가 발생할 수 있으며, 카산드라 노드들이 죽어버리는 현상이 발생하게 됩니다.

  또한 카산드라는 칼럼형 데이터베이스로 row형 데이터베이스인 관계형 데이터베이스(RDBMS)와는 다른 생소한 개념을 가지고 있어서 SQL에 익숙한 사람들에는 다소 높은 진입 장벽을 가지고 있습니다. 그리고 복잡한 Query가 불가능하며, 데이터 자동 입력에 어려움을 가집니다.

  앞서 소개한 단점들로 인해 Secondary index (보조 인덱스-정렬되어 있지 않은 파일에 대한 인덱스), 관계형 데이터 (테이블 형식을 이용하여 데이터를 정의 및 설명), transaction, financial records, 높은 수준의 보안과 권한이 필요한 데이터, dynamic query, low latency (저지연성-실행과 반응속도 지연되지 않아야 할 때)에는 적합하지 않습니다.

 

하둡 (Hadoop)의 단점

 하둡의 경우에는 유지 보수와 설정에 어려움이 있고, 오류 메시지 내용이 부실하다는 치명적인 단점이 존재하여 새롭게 하둡을 운영하려는 사람에게는 큰 장애물이 있습니다. 또한 한번 저장한 데이터를 수정할 수 없고, 데이터를 로드할 때 모든 데이터 파일을 호출하여, 신속하게 처리해야 하는 작업에 부적합하고, 기존 데이터베이스 관리 시스템에 비해 처리 속도가 느리다는 단점을 가집니다.

반응형