Cassandra
Cassandra는 시장에서 가장 널리 사용되는 와이드 컬럼 스토어 데이터베이스 시스템입니다. Facebook의 받은 편지함 검색 기능을 위해 Facebook에서 처음 개발된 Cassandra는 2008년에 오픈 소스로 공개되었으며 이후 2010년 2월 17일에 Apache용 최상위 프로젝트를 만들었습니다. 대량의 데이터를 처리하고 실시간에 가까운 분석을 제공합니다. Java로 작성된 Cassandra는 각 업데이트에 대한 동기식 및 비동기식 복제를 제공합니다. 내구성과 내결함성 기능은 상시 작동 애플리케이션에 이상적입니다.
Cassandra는 기존 RDBMS처럼 열과 행에 데이터를 저장하지만 행이 다른 열을 가질 수 있고 열 형식의 변경까지 허용한다는 점에서 민첩성을 제공합니다. 이 외에도 쿼리 언어인 CQL(Cassandra Query Language)은 기존 SQL 구문과 매우 유사하므로 SQL 사용자가 더 쉽게 이해할 수 있습니다.
Cassandra의 가장 일반적인 사용 사례 중 일부는 메시징 시스템(뛰어난 읽기 및 쓰기 성능), 실시간 센서 데이터 및 전자 상거래 웹 사이트를 포함합니다.
HBase
HBase는 Google의 Bigtable을 기반으로 하는 오픈 소스 와이드 컬럼 저장소 분산 데이터베이스입니다 . Apache의 Hadoop 프로젝트 의 일부로 2008년에 개발되었습니다 . HDFS 위에 구축되어 메모리 내 작업, 압축 및 블룸 필터와 같은 Bigtable의 여러 기능을 차용합니다. Java를 기반으로 구축된 HBase는 Thrift, Avro, Scala, Jython 및 REST와 같은 외부 API를 지원합니다. Hbase는 데이터베이스의 독립 실행형 버전을 제공하지만 프로덕션 시나리오가 아닌 개발 구성에 주로 사용됩니다.
HBase의 강점 중 하나는 HDFS를 분산 파일 시스템으로 사용한다는 것입니다. 이를 통해 데이터베이스는 대규모 데이터 세트, 심지어 수십억 개의 행을 저장하고 단기간에 분석을 제공할 수 있습니다. 희소 데이터에 대한 이러한 지원은 상용 서버 하드웨어 전체에서 호스트/분산될 수 있다는 사실과 함께 데이터가 기가바이트 또는 페타바이트로 확장될 때 솔루션이 매우 비용 효율적임을 보장합니다.
HBase의 일반적인 사용 사례에는 온라인 로그 분석, Hadoop 배포, 쓰기 작업이 많은 애플리케이션 및 대용량이 필요한 애플리케이션(예: Twitter, Facebook 게시물 등)이 포함됩니다.
Cassandra와 달리 HBase에는 쿼리 언어가 없습니다 . 즉, SQL과 같은 기능을 달성하려면 JRuby 기반 HBase Shell과 Apache Hive(MapReduce 기반)와 같은 기술을 사용해야 합니다. 그래서 HBase는 가파른 학습 곡선을 가집니다.
MongoDB
MongoDB는 시장에서 가장 인기 있는 문서 저장소이자 데이터베이스 관리 시스템 중 하나입니다. 2007년에 DoubleClick 팀(현재 Google 소유)이 DoubleClick에서 인터넷 광고를 제공할 때의 확장성 및 성능 문제를 해결하기 위해 만들었습니다.
MongoDB는 스키마가 없는 데이터베이스이며 데이터를 JSON과 유사한 문서(Binary JSON)로 저장합니다. 이는 저장할 수 있는 레코드 유형에 유연성을 제공하며 필드도 문서마다 다르게 구성할 수 있습니다. 또한 포함된 문서는 인덱스를 통해 더 빠른 쿼리를 지원하고 일반적으로 데이터베이스 시스템과 관련된 I/O 과부하를 크게 줄입니다.
정리
Cassandra | HBase | MongoDB | |
Architercture | Wide Column Store | Document Store | Wide Column Store |
Server OS | FreeBSD, Linux, OS X, Windows |
Linux, Unix, Windows | Linux, OS X, Solaris, Windows |
Distributed System Consistency |
Eventual and Immediate Consistency |
Immediate Consistency | Eventual and Immediate Consistency |
Owner and Developer | Apache Software Foundation | Apache Software Foundation | MongoDB, Inc. |
Replication | Masterless Ring | Master-Slave Replication | Master-Slave Replication |
Programming Language (Base Code) |
Java | Java | C++ |
Supported Programming Languages |
C#, C++, Clojure, Erlang, Go, Haskell, Java, Node.js,Perl, PHP, Python, Ruby, Scala | C, C#, C++, Groovy, Java, PHP, Python, Scala | C, C#, C++, Erlang, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Scala |
Editions | Community with Option of Third-Party Support |
Community | Community (Free) and Enterprise |
Popular Use Cases | Sensor Data, Messaging Systems, E-commerce Websites, Always-On Applications, Fraud Detection for Banks |
Online Log Analytics, Hadoop, Write Heavy Applications, MapReduce |
Operational Intelligence, Product Data Management, Content Management Systems, IoT, Real-Time Analytics |
DBaaS | InstaClustr Cassandra as a Service, DataStax Database as a Service |
None | MongoDB Atlas,mLab MongoDB, ScaleGrid MongoDB Hosting |
Key Customers | eBay, McDonald’s, Walmart, Comcast, Facebook, Instagram, GitHub, CERN, Netflix, Reddit |
23andMe, Salesforce, Netflix, Bloomberg, Sophos, Adobe, Xiaomi, Yahoo | Adobe, eBay, Google, Cisco, SAP, Facebook, Royal Bank of Scotland, Trend Micro |
참고자료
'Database > NoSQL' 카테고리의 다른 글
[Cassandra] Cassandra 설치 방법 (0) | 2023.06.05 |
---|---|
[Cassandra] 조건 조회(Select Where)에 대하여 (0) | 2023.06.02 |
[Cassandra] 기본 키, 파티션 키, 클러스터링 키 (0) | 2023.05.24 |
[Cassandra] 카산드라 기본 개념 (0) | 2023.05.23 |
[Cassandra] Apache Cassandra 란? (0) | 2023.05.19 |