본문 바로가기

카테고리 없음

NoSQL 프로그램 별 특징 및 장단점

반응형

NoSQL 프로그램 별 특징 및 장단점

데이터베이스를 관리하기 위해 사용되는 다양한 프로그램 중 비관계형(non-relational) 데이터베이스 관리 시스템(DBMS)은 데이터를 유연하게 처리하고, 수평적인 확장성을 가지는 등의 특징이 있습니다. NoSQL에 기반을 둔 몽고디비(MongoDB), 아파치 카산드라(Apache Cassandra), 아파치 하둡(Apache Hadoop)의 특징 및 장단점에 대해 알아보겠습니다.

몽고디비 (MongoDB)

몽고디비는 NoSQL 데이터베이스의 한 종류인 도큐먼트 데이터베이스로 데이터를 관리하기 위해 JSON(JavaScript Object notation) 형식을 통해서 데이터를 입력 및 출력하고, BSON(BInary JSON) 형식으로 데이터를 저장한다는 특징을 가지고 있습니다. 이는 똑같은 조건으로 설계되었을 때 기존 관계형 데이터베이스 관리 시스템(DBMS)에서는 수행할 수 없는 가용성과 확장성을 제공하며, 굉장히 빠르고, 인덱스를 통해 빠른 쿼리를 지원하고 데이터베이스 시스템과 관련된 I/O 과부화를 줄인다는 장점을 가지고 있습니다. 그러나 데이터 업데이트 중 장애가 발생하면 데이터 손실 가능성이 높고, 많은 인덱스 사용 시 충분한 메모리 확보가 필요하며, 데이터 공간 소모가 DBMS에 비해서 많다는 단점이 있습니다. 이러한 장단점을 가진 몽고디비는 고가용성을 요구하는 서비스에서 중요한 역할을 수행하여 운영 인텔리전스, 제품 데이터 관리, 콘텐츠 관리 시스템, IoT, 실시간 분석 등에 활용되며, 어도비, 이베이, 구글, 시스코, 메타(페이스북) 등의 글로벌 기업에서 사용합니다.

아파치 카산드라 (Apache Cassandra)

아파치 카산드라(이하 카산드라)는 자유 오픈 소스 분산형 NoSQL 데이터 베이스 관리 시스템 중 하나로, 단일 장애 점 없이 고성능을 제공하면서 수많은 서버 간 대용량의 데이터를 관리하기 위해 설계되었습니다.  마스터를 기준으로 여러 개의 데이터 베이스가 복제된고, 프로세스가 추가될 때마다 선형 처리량이 증가하며, 온라인 부하가 분산된다는 특징을 가지고 있습니다. 카산드라의 장점으로는 분산화, 집중화, 확장성, 고가용성, 결함 허용을 들 수 있습니다. 우선 분산형으로 여러 머신에서 동작하지만, 사용자에게는 통합된 하나로 보이고, 수평 확장의 특별한 속성을 가져, 클러스터의 중단 없이 규모를 확대하거나 축소할 수 있습니다. 또한 장애가 발생한 노드를 교체할 때 시스템을 중단하지 않고 교체가 가능하며, 다중 데이터 센터에 데이터를 복제해 로컬 성능을 개선하고, 서비스 중단을 예방할 수 있습니다. 그러나 DBMS와는 다른 생소한 개념으로 인해 높은 진입장벽을 가지고 있고, 복잡한 조건의 검색이 불가능하며, 데이터 입력 시 자동화 처리가 어렵다는 단점을 가지고 있습니다. 이러한 특징과 장단점을 가진 카산드라는 실시간으로 데이터를 처리하고, 상시 가동하며 동시 트래픽 처리가 필요하고 대규모 읽기의 고가용성을 요구하는, 전자상거래, 재고관리, 개인화, 사물 인터넷, 에지 컴퓨팅, 부정행위 탐지 등에 사용되며, 대표적으로 맥도날드, 월마트, 인스타그램, 레딧 등에서 사용합니다.

아파치 하둡 (Apache Hadoop)

아파치 하둡(이하 하둡)은 하나의 성능 좋은 컴퓨터를 통해 데이터를 처리하는 대신, 적당한 성능의 범용 컴퓨터 여러 대를 클러스터 화하고, 큰 크기의 데이터를 병렬로 동시 처리하여 속도를 높이는 것을 목적으로 한 프레임 워크로, 여러 개의 저렴한 컴퓨터를 마치 하나인 것처럼 묶어 대용량 데이터를 처리하는 기술이라는 특징을 가지고 있습니다. 하둡은 데이터를 나눠서 분석하지 합치기 때문에 속도가 빠르고, 일부 장비에 장애가 발생하더라도 전체 시스템 사용에 영향이 적으며, 정형 데이터뿐만 아니라 비정형 데이터에도 사용이 가능하다는 장점을 가지고 있습니다. 그러나 각 버전마다 다른 특징을 가지고 있고, 저장된 데이터를 변경하는 것이 불가능하며, 실시간 데이터와 같은 신속한 작업에는 부적합하다는 단점을 가지고 있습니다. 이러한 특징과 장단점을 가진 하둡은 매우 많은 양의 과거 데이터에 대한 일괄 처리 또는 빅데이터 분석을 위해 사용되며, 넷플릭스, 블룸버그, 샤오미, 야후 등의 기업에서 사용됩니다.

반응형