728x90
반응형
Apache Cassandra의 기본 개념을 간단히 소개
*자세한 설명 생략
▷ Cassandra 란?
*현재 Facebook과 twitter 등 에서 사용
- Apache Cassandra는 대용량 데이터를 관리하기 위해 설계된 시스템으로 분산형 오픈소스 NoSQL Database
▷ Cassandra 특징
- CQL ( Cassandra Query Language )
*SQL과 유사한 Query Interface
- 대용량 데이터가 여러 서버에 분산되고 분산된 데이터를 여러 서버에 복제
*Master less
*Cluster 중단 없이 수평 확장/축소 가능
- 데이터 모델링은 query-driven 방식을 사용
*Cassandra 사용 시 가장 중요한 부분
*WHERE 조건은 Key 만 사용 가능
- 단순한 검색 조건으로 대량의 데이터를 검색하기에 적합
▷ Cassandra 구조
Cassandra Cluster | - Cassandra Cluster == Cassandra Ring |
Data Center | - Rack의 논리적인 그룹 |
Rack | - Node의 논리적인 그룹 - 복제본이 서로 다른 논리적 그룹에 분산되도록 Rack 사용 |
Node | - Cassandra의 단일 인스턴스(하나의 server) - Master less - Node는 Gossip Protocol을 통해 서로 통신 - Seed Node는 Cassandra Cluster의 정보를 알려주는 Node(Gossip) *여러 개의 Seed Node 지정 가능 |
Keyspace | - RDB Database - 하나 이상의 Coulmn Family |
Coulmn Family | - RDB Table - 각 Row마다 다른 Column을 가질수 있음 - static(정적) Coulmn Family - Column을 정의(RDB) - 모든 Column을 사용 하지 않아도 됨 - dynamic(동적) Coulmn Family - Application에서 Column 생성 |
Column | - 데이터를 이루는 가장 작은 단위 - key-value를 가지며 key(Column Name)는 정적,동적 생성되고 value는 없을수 있음 |
▷ Cassandra 주요 Key
Primary Key (PK) |
- RDB Primary Key - 1개 이상의 Partition Key와 0개 이상의 Cluster Key로 구성 |
Partition Key (Row Key) |
- Data 분산 저장을 위한 Key *Cassandra Cluster 에서 Data를 분배 하여 특정 노드에 데이터를 위치 시킴(Token) *이는 Data 검색 시 큰 영향을 미침 |
Cluster Key (Sort Key) |
- Data 를 정렬하는 Key - Data가 저장될 때도 정렬해서 저장 |
▷ 참고
▷ 관련 글
728x90
728x90
'▶ Back-End > 개념 요약' 카테고리의 다른 글
OpenSearch 란? (0) | 2024.04.18 |
---|---|
Swagger 란? (0) | 2023.10.18 |
Tomcat 이란? (0) | 2023.08.04 |
Lombok이란? (0) | 2023.07.25 |
Docker 란? (0) | 2023.07.24 |
댓글