카산드라-소개
Apache Cassandra는 많은 상용 서버에서 많은 양의 데이터를 처리하도록 설계된 확장 성이 뛰어난 고성능 분산 데이터베이스로 단일 장애 지점없이 고 가용성을 제공합니다. NoSQL 데이터베이스의 한 유형입니다. 먼저 NoSQL 데이터베이스의 기능을 이해하겠습니다.
NoSQLDatabase
NoSQL 데이터베이스 (Not Only SQL이라고도 함)는 관계형 데이터베이스에서 사용되는 테이블 형식 관계 이외의 데이터를 저장하고 검색하는 메커니즘을 제공하는 데이터베이스입니다. 이러한 데이터베이스는 스키마가없고, 간편한 복제를 지원하고, 간단한 API를 가지고 있으며, 최종적으로 일관성이 있으며, 엄청난 양의 데이터를 처리 할 수 있습니다.
NoSQL 데이터베이스의 주요 목표는
- 디자인의 단순성,
- 수평 확장 및
- 가용성에 대한 세밀한 제어.
NoSql 데이터베이스는 관계형 데이터베이스와 비교하여 다른 데이터 구조를 사용합니다. NoSQL에서 일부 작업을 더 빠르게 만듭니다. 주어진 NoSQL 데이터베이스의 적합성은 해결해야하는 문제에 따라 다릅니다.
NoSQL 대 관계형 데이터베이스
다음 표에는 관계형 데이터베이스와 NoSQL 데이터베이스를 구별하는 점이 나열되어 있습니다.
관계형 데이터베이스 | NoSql 데이터베이스 |
---|---|
강력한 쿼리 언어를 지원합니다. | 매우 간단한 쿼리 언어를 지원합니다. |
고정 된 스키마가 있습니다. | 고정 된 스키마가 없습니다. |
ACID (원 자성, 일관성, 격리 및 내구성)를 따릅니다. | 단지 "최종적으로 일관성"입니다. |
거래를 지원합니다. | 거래를 지원하지 않습니다. |
Cassandra 외에도 다음과 같은 매우 인기있는 NoSQL 데이터베이스가 있습니다.
Apache HBase− HBase는 Google의 BigTable을 모델로 한 오픈 소스 비 관계형 분산 데이터베이스이며 Java로 작성되었습니다. Apache Hadoop 프로젝트의 일부로 개발되었으며 HDFS에서 실행되어 Hadoop에 BigTable과 유사한 기능을 제공합니다.
MongoDB − MongoDB는 동적 스키마가있는 JSON 유사 문서를 선호하는 기존 테이블 기반 관계형 데이터베이스 구조를 사용하지 않는 크로스 플랫폼 문서 지향 데이터베이스 시스템으로, 특정 유형의 애플리케이션에서 데이터를 더 쉽고 빠르게 통합 할 수 있습니다.
Apache Cassandra 란 무엇입니까?
Apache Cassandra는 전 세계에 퍼져있는 매우 많은 양의 구조화 된 데이터를 관리하기위한 오픈 소스, 분산 및 분산 / 분산 스토리지 시스템 (데이터베이스)입니다. 단일 장애 지점없이 고 가용성 서비스를 제공합니다.
아래에 Apache Cassandra의 주목할만한 사항이 나열되어 있습니다.
확장 가능하고 내결함성이 있으며 일관성이 있습니다.
열 지향 데이터베이스입니다.
배포 설계는 Amazon의 Dynamo와 Google Bigtable의 데이터 모델을 기반으로합니다.
Facebook에서 만든이 제품은 관계형 데이터베이스 관리 시스템과 크게 다릅니다.
Cassandra는 단일 장애 지점이없는 Dynamo 스타일 복제 모델을 구현하지만보다 강력한 "열 패밀리"데이터 모델을 추가합니다.
Cassandra는 Facebook, Twitter, Cisco, Rackspace, ebay, Twitter, Netflix 등과 같은 일부 대기업에서 사용되고 있습니다.
카산드라의 특징
카산드라는 뛰어난 기술적 기능으로 인해 인기를 얻었습니다. 다음은 Cassandra의 일부 기능입니다.
Elastic scalability− Cassandra는 확장 성이 뛰어납니다. 요구 사항에 따라 더 많은 고객과 더 많은 데이터를 수용하기 위해 더 많은 하드웨어를 추가 할 수 있습니다.
Always on architecture − Cassandra는 단일 장애 지점이 없으며 장애를 감당할 수없는 비즈니스 크리티컬 애플리케이션에 지속적으로 사용할 수 있습니다.
Fast linear-scale performance− Cassandra는 선형 적으로 확장 가능합니다. 즉, 클러스터의 노드 수를 늘릴수록 처리량이 증가합니다. 따라서 빠른 응답 시간을 유지합니다.
Flexible data storage− Cassandra는 구조화, 반 구조화 및 비 구조화를 포함하여 가능한 모든 데이터 형식을 수용합니다. 필요에 따라 데이터 구조의 변경 사항을 동적으로 수용 할 수 있습니다.
Easy data distribution − Cassandra는 여러 데이터 센터에 데이터를 복제하여 필요한 곳에 데이터를 배포 할 수있는 유연성을 제공합니다.
Transaction support − Cassandra는 원 자성, 일관성, 격리 및 내구성 (ACID)과 같은 속성을 지원합니다.
Fast writes− Cassandra는 값싼 상용 하드웨어에서 실행되도록 설계되었습니다. 매우 빠른 쓰기를 수행하고 읽기 효율성을 저하시키지 않으면 서 수백 테라 바이트의 데이터를 저장할 수 있습니다.
카산드라의 역사
- Cassandra는받은 편지함 검색을 위해 Facebook에서 개발되었습니다.
- 2008 년 7 월에 페이스 북이 오픈 소스 화했습니다.
- Cassandra는 2009 년 3 월 Apache Incubator에 채택되었습니다.
- 2010 년 2 월부터 Apache 최상위 프로젝트가되었습니다.