ArangoDB-다중 모델 우선 데이터베이스
ArangoDB는 개발자가 네이티브 다중 모델 데이터베이스로 환영합니다. 이것은 다른 NoSQL 데이터베이스와 다릅니다. 이 데이터베이스에서 데이터는 문서, 키 / 값 쌍 또는 그래프로 저장 될 수 있습니다. 또한 단일 선언적 쿼리 언어로 데이터의 일부 또는 전체에 액세스 할 수 있습니다. 또한 여러 모델을 단일 쿼리로 결합 할 수 있습니다. 또한 다중 모델 스타일로 인해 세 가지 데이터 모델 중 일부 또는 모두를 사용하여 수평으로 확장 할 수있는 린 애플리케이션을 만들 수 있습니다.
계층화 vs. 네이티브 다중 모델 데이터베이스
이 섹션에서는 기본 및 계층화 된 다중 모델 데이터베이스 간의 중요한 차이점을 강조합니다.
많은 데이터베이스 공급 업체는 제품을 "다중 모델"이라고 부르지 만 키 / 값 또는 문서 저장소에 그래프 계층을 추가하는 것은 기본 다중 모델로 인정되지 않습니다.
동일한 쿼리 언어를 사용하는 동일한 코어 인 ArangoDB를 사용하면 이전 섹션에서 이미 언급했듯이 단일 쿼리에 서로 다른 데이터 모델과 기능을 결합 할 수 있습니다. ArangoDB에서는 데이터 모델간에 "전환"이 없으며 쿼리를 실행하기 위해 A에서 B로 데이터를 이동하지 않습니다. 이는 "계층화 된"접근 방식과 비교하여 ArangoDB의 성능 이점으로 이어집니다.
멀티 모달 데이터베이스의 필요성
[Fowler의] 기본 아이디어를 해석하면 더 큰 소프트웨어 아키텍처의 일부인 지속성 계층의 여러 부분에 대해 다양한 적절한 데이터 모델을 사용하는 이점을 실현할 수 있습니다.
이에 따르면, 예를 들어 관계형 데이터베이스를 사용하여 구조화 된 표 형식의 데이터를 유지할 수 있습니다. 구조화되지 않은 객체와 유사한 데이터를위한 문서 저장소 해시 테이블을위한 키 / 값 저장소; 고도로 연결된 참조 데이터를위한 그래프 데이터베이스.
그러나이 접근 방식의 전통적인 구현은 동일한 프로젝트에서 여러 데이터베이스를 사용하도록 유도합니다. 데이터 일관성 및 중복 문제뿐만 아니라 일부 운영상의 마찰 (더 복잡한 배포, 더 빈번한 업그레이드)이 발생할 수 있습니다.
세 가지 데이터 모델에 대한 데이터를 통합 한 후 다음 과제는 데이터 관리자가 문서 쿼리, 키 / 값 조회, 그래픽 쿼리 및 임의 조합과 같은 다양한 쿼리를 표현할 수있는 공통 쿼리 언어를 고안하고 구현하는 것입니다. 이들의.
으로 graphy queries, 우리는 그래프 이론적 고려를 포함하는 쿼리를 의미합니다. 특히, 이들은 가장자리에서 오는 특정 연결 기능을 포함 할 수 있습니다. 예를 들면ShortestPath, GraphTraversal, 및 Neighbors.
그래프는 관계에 대한 데이터 모델로 완벽하게 적합합니다. 소셜 네트워크, 추천 시스템 등과 같은 많은 실제 사례에서 매우 자연스러운 데이터 모델은 그래프입니다. 관계를 캡처하고 각 모서리 및 각 정점과 함께 레이블 정보를 보유 할 수 있습니다. 또한 JSON 문서는 이러한 유형의 정점 및 가장자리 데이터를 저장하는 데 자연스럽게 적합합니다.
ArangoDB ─ 특징
ArangoDB에는 여러 가지 주목할만한 기능이 있습니다. 아래에서 눈에 띄는 기능을 강조하겠습니다.
- 다중 모델 패러다임
- ACID 속성
- HTTP API
ArangoDB는 모든 인기있는 데이터베이스 모델을 지원합니다. 다음은 ArangoDB에서 지원하는 몇 가지 모델입니다.
- 문서 모델
- 키 / 값 모델
- 그래프 모델
단일 쿼리 언어로 데이터베이스에서 데이터를 검색 할 수 있습니다.
네 가지 속성 Atomicity, Consistency, Isolation, 및 Durability(ACID)는 데이터베이스 트랜잭션의 보장을 설명합니다. ArangoDB는 ACID 호환 트랜잭션을 지원합니다.
ArangoDB를 사용하면 브라우저와 같은 클라이언트가 HTTP API를 사용하여 데이터베이스와 상호 작용할 수 있습니다. API는 리소스 지향적이고 JavaScript로 확장 할 수 있습니다.