Cassandra
Facebook에서 개발하여 현재는 Apache 프로젝트로 진행되고 있는 오픈소스 소프트웨어
NoSQL 데이터베이스에서는 key-value 형으로 분류된다
Google 의 BigTable 을 바탕으로 개발되고 컬럼 단위로 관리되어 컬럼형으로 분류하기도 한다~
Cassandra 사용하는 이유
대량 데이터를 다루는 데에 효과적
특징
- Row key 를 인덱스로 가지는 key-value형 스토어
- 컬럼을 기본으로 데이터를 다루는 컬럼형 NoSQL 데이터베이스 :
- 행Row 중심인 관계형 데이터베이스와 다름
- 디스크에 데이터를 컬럼 단위로 연속하여 저장
데이터 저장 방식 행(Row) 중심 컬럼 값이 NULL 인 경우도 해당 컬럼 저장 필요 열(Column) 중심 NULL 값인 컬럼은 저장하지 않음
장점
대량 데이터를 다수의 분산된 서버에서 관리해야 할 경우 적합!
약점
- 컬럼형 데이터베이스로 진입장벽이 높다!
많은 사용자를 대상으로 대량 데이터를 다루는 서비스가 아닐 경우 굳이 Cassandra 를 고집할 필요가 없다~
- 복잡한 조건의 검색 불가능
Row key 와 컬럼 두 가지에 대한 인덱스만 가능, 데이터는 대량이지만 검색 조건은 단순한 서비스에 적합하다~
- 데이터에 대한 갱신 및 입력시 Atomict 한 처리가 어렵다
데이터에 대한 Lock 을 사용하려면 Zookeeper 와 같은 전체 분산 서버를 관리하는 프로그램을 추가해서 별도로 설정
도입 사례
Facebook, Twitter, Digg
사용 케이스
- 사용자가 많으며 사용자에 의한 데이터 입력이 빈번하게 발생하는 대량 데이터를 다루는 시스템
- 빈번하게 변경되는 데이터에 대한 실시간 분석용 시스템
- 대량 데이터를 다루며 신뢰성보다 가용성이 중요한 시스템
다른 key-value 형 NoSQL 데이터베이스와는 달리 Casandra는 관계형 데이터베이스를 대체하는 대량 데이터용 스토어로 사용되는 경우가 많다
'2021-1 > RDA' 카테고리의 다른 글
MongoDB | 엑셀파일 불러오기 (0) | 2021.10.07 |
---|---|
NoSQL | HBase (컬럼형 스토어) (0) | 2021.10.05 |
NoSQL | MongoDB (문서형 데이터베이스) (0) | 2021.10.05 |
NoSQL | Redis (휘발성/영속성 ket-value 형 스토어) (0) | 2021.10.05 |
NoSQL | Tokyo Tyrant ( 영속성 key-value형 스토어) (0) | 2021.10.05 |