아랑고DB

ArangoDB
아랑고DB
개발자ArangoDB GmbH
초기 릴리즈2011년, 11년 전(2011년)
안정된 릴리스
3.9.2 / 2022년 6월 7일, 2개월 전(2022-06-07)
저장소
로 쓰여져 있다.C++, JavaScript
유형다중 모델 데이터베이스, 그래프 데이터베이스, 문서 지향 데이터베이스, 키/값 데이터베이스, 전체 텍스트 검색 엔진
면허증.Apache 라이센스 2.0
웹 사이트arangodb.com

ArangoDB는 ArangoDB Inc.가 개발한 무료 오픈 소스 네이티브 그래프 데이터베이스 시스템입니다.ArangoDB는 하나의 데이터베이스 코어와 통합된 쿼리 언어 AQL(ArangoDB Query Language)을 사용하여 3개의 데이터 모델(그래프, JSON 문서, 키/값)[1]을 지원하므로 멀티 모델 데이터베이스 시스템입니다.AQL은 주로 선언형[2] 언어이며 단일 [3]쿼리에서 서로 다른 데이터 액세스 패턴을 조합할 수 있습니다.ArangoDB는 NoSQL 데이터베이스[4] 시스템이지만 AQL은 [5]여러 면에서 SQL과 유사합니다.

역사

ArangoDB Inc.는 Claudius Weinberger와 Frank Celler에 [6]의해 2015년에 설립되었습니다.그들은 원래 데이터베이스 시스템을 "A Versatile Object Container" 또는 줄여서 AVOC라고 불렀고, 이로 인해 이 데이터베이스를 [7][8][9]AvocadoDB라고 불렀습니다.나중에 그들은 이름을 ArangoDB로 [10]바꿨다."아랑고"라는 단어는 [11]쿠바에서 재배되는 잘 알려지지 않은 아보카도 품종을 가리킨다.

2017년 1월 ArangoDB는 Target Partners가 주도하는 시드 라운드로 420만유로를 투자했습니다.2019년 3월 아랑고DB는 Bow Capital이 주도하는 시리즈A 자금으로[12] 1000만달러를 조달했다.2021년 10월 ArangoDB는 Iris [13]Capital이 주도하는 시리즈B 자금으로 2780만달러를 조달했다.

릴리스 이력

풀어주다 첫 번째 릴리즈 최신 마이너 버전 최신 릴리즈 기능에 관한 주의사항 언급
3.9 2022-02-15 3.9.2 2022-06-07
  • 모든 클러스터 노드에서 복제된 컬렉션을 문서 속성에 의해 샤딩된 그래프와 결합하여 그래프 쿼리("Hybrid SmartGraphs", "Hybrid Disjoint SmartGraphs")를 보다 로컬로 실행할 수 있습니다.
  • 언어에 구애받지 않는 텍스트 토큰화(Segmentation Analyzer).
릴리스 노트
3.8 2021-07-29 3.8.6 2022-02-23
  • 그래프 통과 알고리즘: 두 꼭지점 사이의 모든 경로("k 경로")를 열거하고 에지 가중치 증가 순서대로 경로를 내보냅니다("무게 부여 통과).
  • 인접한 문서, 값 범위 및 시간 간격을 집계하기 위한 슬라이딩 창 쿼리를 지원합니다.
  • 지리 공간 쿼리를 전체 텍스트 검색과 결합할 수 있습니다.
  • 커스텀 쿼리('AQL Analyzer') 및 임베디드 및 커스텀아나라이저('Pipeline Analyzer') 체인 기능을 통한 유연한 데이터 필드 전처리.
  • 하드웨어 가속 온디스크 암호화
릴리스 노트
3.7 2020-09-16 3.7.17 2022-02-01
  • 그래프 트래버설을 로컬("Satellite Graphs")로 실행하기 위해 모든 클러스터 노드에서 복제된 그래프.
  • JSON Schema를 사용한 문서 검증.
  • 전체 텍스트 검색을 위한 와일드카드 및 퍼지 검색 지원.
  • 슈퍼유저 JWT 토큰, TLS 인증서 및 온디스크 암호화 키의 키 순환.
릴리스 노트
3.6 2020-01-08 3.6.16 2021-09-06
  • 단일 클러스터 노드에 데이터베이스의 모든 컬렉션을 저장하여 단일 서버 및 ACID 시멘틱스의 퍼포먼스와 폴트 톨러런스 클러스터 셋업("OneShard")을 조합하는 옵션.
  • 여러 클러스터 노드에서 쿼리 병렬 실행.
  • 전체 컬렉션 검색에서 SORT/LIMIT 쿼리에서 관련 문서만 가져오고 일치하지 않는 문서를 조기에 제거하는 데 사용되는 지연 문서 구체화.
  • 특정 서브쿼리를 인라인화하여 실행 시간을 단축합니다.
릴리스 노트
3.5 2019-08-21 3.5.7 2020-12-30
  • 개별 시작 및 커밋/중단 명령("Stream Transactions")을 사용하는 다중 문서 트랜잭션입니다.
  • 만료된 문서의 시간 기반 제거("존속 가능 시간 색인")
  • 그래프 트래버설("트래버설에서의 프루닝")에 대한 조건 지원을 중지합니다.
  • 여러 최단 경로("k Shortest Paths")를 가져오는 그래프 통과 알고리즘.
  • 동일한 샤드 컬렉션("SmartJoins")을 사용하여 클러스터에서 공동 위치 조인을 사용합니다.
  • 클러스터 모드에서 일관된 스냅샷 백업
  • 전체 텍스트 검색을 위한 사용자 정의 텍스트 사전 프로세서("구성 가능한 분석기")입니다.
  • 백업을 생성할 때 중요한 데이터 / PII를 포함하는 속성을 위한 데이터 마스킹 기능.
릴리스 노트
3.4 2018-12-06 3.4.11 2020-09-09
  • 통합 전문 검색 및 정보 검색 엔진("ArangoSearch")
  • GeoJSON 지원으로 향상된 지리 공간 색인.
  • 대상 문서가 이미 존재하는 경우("Repsert") 삽입 작업을 자동으로 대체 작업으로 전환할 수 있습니다.
  • 클라우드 환경을 위한 라운드 로빈 로드 밸런서 지원
  • 상세 런타임 정보를 표시하는 프로파일링을 쿼리합니다.
  • 클러스터 분산 집약 쿼리.
  • 내장된 모든 쿼리 함수의 C++ 네이티브 구현.
  • 멀티 스레드 덤프 및 복원 작업.
릴리스 노트
3.3 2017-12-22 3.3.25 2020-02-28
  • disaster recovery용 데이터센터 간 리플리케이션("DC2DC")
  • 암호화된 백업
  • 자동 페일오버가 있는 단일 서버의 전개 모드.
릴리스 노트
3.2 2017-07-20 3.2.18 2019-02-02
  • 단일 서버 및 클러스터에서 Pregel을 사용한 분산 반복 그래프 처리.
  • 모든 클러스터 노드에서 복제되어 샤드된 데이터로 로컬로 조인('Satellite Collections')을 실행합니다.
  • 폴트 톨러런스 마이크로 서비스
  • 컴포넌트 가능한 거리 기반 지오쿼리 지원
  • 여러 형식의 내보내기 유틸리티.
  • 온디스크 데이터 암호화
  • LDAP 인증
릴리스 노트
3.1 2016-11-03 3.1.29 2018-06-23
  • 그래프를 이동할 때 데이터 인접성을 높이기 위해 큰 그래프 데이터셋의 값 기반 샤딩("SmartGraphs")
  • 필터 조건으로 보다 효율적인 그래프 트래버싱을 위한 정점 중심 인덱스 지원.
  • WebGL을 지원하는 대형 그래프용 새로운 뷰어.
  • 바이너리 와이어 형식("Velocy Stream")
  • 부스트 ASIO 서버 인프라스트럭처를 사용한 저지연 요구 처리.
  • 쿼리 에디터 및 쿼리 설명 출력이 향상되었습니다.
  • 감사 로그
릴리스 노트
3.0 2016-07-23 3.0.12 2016-11-23
  • 동기식 복제 및 자동 페일오버를 통한 클러스터 지원
  • 바이너리 스토리지 포맷("VelocyPack")
  • 더 빠른 재시작을 위해 디스크에 저장된 영구 인덱스.
풀어주다

메모들

주요 기능

JSON. ArangoDB는 기본 스토리지 [14]포맷으로 JSON을 사용하지만 내부적으로는 시리얼라이제이션 및 [15]저장을 위한 빠르고 콤팩트한 바이너리 포맷인 ArangoDB VelocyPack을 사용합니다.ArangoDB는 중첩된 JSON 개체를 컬렉션 내의 데이터 항목으로 기본적으로 저장할 수 있습니다.따라서 결과 JSON 개체를 분해할 필요가 없습니다.따라서 저장된 데이터는 단순히 JSON 데이터의 트리 구조를 상속합니다.

예측 가능한 퍼포먼스ArangoDB는 주로 C++[16]로 작성되며 가비지 컬렉션에서 발생하는 예측 불가능한 성능을 방지하기 위해 자체 메모리를 관리합니다.

스케일링ArangoDB는 클러스터링을 [17]통한 확장을 제공합니다.

신뢰성ArangoDB는 데이터센터 간 [18]복제를 제공합니다.

쿠베르네테스.ArangoDB는 클라우드 기반 Kubernetes 서비스 Amazon Elastic Kubernetes Service(EKS), Google Kubernetes Engine(GKE) 및 Microsoft AKS([19]Azure Kubernetes Service)를 포함한 Kubernetes에서 실행됩니다.

마이크로 서비스ArangoDB는 Foxx [20]프레임워크를 사용하여 DBMS 위에서 직접 네이티브 JavaScript 마이크로 서비스와의 통합을 제공합니다.

여러 쿼리 언어데이터베이스에는 자체 쿼리 언어인 AQL(ArangoDB Query Language)이 있으며 유연한 네이티브 웹 서비스를 DBMS [21]위에 직접 쓸 수 있는 GraphQL도 제공됩니다.

검색. ArangoDB의 검색 엔진은 부울 검색 기능과 일반화된 순위 구성 요소를 결합하여 정확한 벡터 공간 [22]모델을 기반으로 데이터를 검색할 수 있습니다.

프레겔 알고리즘프레겔은 대규모 그래프 [23]처리를 위한 시스템입니다.Pregel은 ArangoDB에서 구현되며 PageRank,[24] Single-Source Shortest Path 및 Connected 컴포넌트와 같은 사전 정의된 알고리즘과 함께 사용할 수 있습니다.

트랜잭션입니다.ArangoDB는 사용자가 정의할 수 있는 트랜잭션을 지원합니다.ArangoDB의 트랜잭션은 데이터가 [25]샤드되지 않은 경우에만 원자성, 일관성, 격리 및 내구(ACID)입니다.

쿼리 언어

AQL(ArangoDB Query Language)은 ArangoDB에서 사용되는 SQL과 유사한 쿼리[26] 언어입니다.문서(노드)와 가장자리 모두에 대해 CRUD 작업을 지원하지만 DDL(데이터 정의 언어)은 아닙니다.AQL은 지리공간 쿼리를 지원합니다.

AQL은 다음 쿼리에서 알 수 있듯이 JSON 지향이며 키 값에 액세스하기 위한 직관적인 "도트" 표기법도 보여줍니다.

 위해서 x 입력 [{"a": {"A": 1}}, {"a": {"A": 2}}]      필터 x.A.A.A.A. < > 2      돌아가다 x.a. 

다음은 특정 노드의 하위 노드 수를 찾기 위한 매개 변수화된 쿼리입니다.@start)라는 이름의 그래프에 표시됩니다.@g와 함께@max노드:

 vIN 1의 경우..@max Outbound @start 그래프 @g      옵션 {고유 Vertices}: "글로벌", bfs: 참 }  c까지 세어 수집  반품 c 

대문자는 AQL 키워드입니다.AQL이 그래프 인식인 것에 주목해 주세요.OPTIONS쿼리가 주기가 있는 그래프에서 실행되도록 하려면 필요합니다. "bfs"는 너비 우선 검색을 나타냅니다.

에디션

오픈 소스:ArangoDB Community Edition은 주로 C++로 작성된 네이티브 멀티모델 데이터베이스 기능을 갖춘 무료 그래프 데이터베이스이며 오픈 소스 라이센스(Apache 2)[27]로 제공됩니다.

비즈니스 자체 관리:ArangoDB Enterprise는 그래프 [29]인식 샤딩(SmartGraphs)[28]과 수집 복제(Satellite Collections)를 포함한 유료 구독으로 쿼리 시간을 단축하고 보안을 강화합니다.[30]

클라우드: ArangoDB는 Oasis라는 클라우드 서비스로 제공되며, ArangoDB Database as a Service(DBaaS)를 제공합니다.ArangoDB Oasis는 [31]관리 작업을 최소화하면서 ArangoDB 클러스터 도입 기능을 제공합니다.ArangoDB Oasis는 AWS, Azure 및 Google [32]Cloud를 비롯한 여러 클라우드 서비스 공급자에서 실행됩니다.

ArangoDB는 웹 [33]사이트에 다양한 에디션의 비교를 게시합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Advantages of native multi-model in ArangoDB". ArangoDB. Retrieved 2022-07-26.
  2. ^ "ArangoDB Query Language (AQL) Introduction ArangoDB Documentation". www.arangodb.com. Retrieved 2022-07-26.
  3. ^ "AQL Query Patterns & Examples ArangoDB Documentation". www.arangodb.com. Retrieved 2022-07-26.
  4. ^ Celler, Author Frank (2012-03-07). "ArangoDB's design objectives". ArangoDB. Retrieved 2022-07-26. {{cite web}}: first=범용명(도움말)이 있습니다.
  5. ^ "ArangoDB Query Language (AQL) Introduction ArangoDB Documentation". www.arangodb.com. Retrieved 2022-07-26.
  6. ^ "Variety Database". www.avocadosource.com. Retrieved 2022-07-27.
  7. ^ Ortell, Bill (2021-03-08), AvocadoDB, retrieved 2022-07-27
  8. ^ AvocadoDB explained, retrieved 2022-07-27
  9. ^ AvocadoDB Query Language Jan Steemann in english, retrieved 2022-07-27
  10. ^ ""AvocadoDB" becomes "ArangoDB"". ArangoDB. 2012-05-09. Retrieved 2022-07-27.
  11. ^ "Variety Database". www.avocadosource.com. Retrieved 2022-08-05.
  12. ^ Weinberger, Author Claudius (2019-03-14). "ArangoDB receives Series A Funding led by Bow Capital". ArangoDB. Retrieved 2022-07-27. {{cite web}}: first=범용명(도움말)이 있습니다.
  13. ^ "ArangoDB Announces $27.8 Million Series B Investment to Accelerate Development of Next-Generation Graph ML, Providing Advanced Analytics and AI Capabilities at Enterprise Scale". ArangoDB. Retrieved 2022-07-27.
  14. ^ AvocadoDB explained, retrieved 2022-08-05
  15. ^ AvocadoDB Query Language Jan Steemann in english, retrieved 2022-08-05
  16. ^ ArangoDB, ArangoDB, 2022-08-05, retrieved 2022-08-05
  17. ^ "Cluster ArangoDB Deployment Modes Architecture Manual ArangoDB Documentation". www.arangodb.com. Retrieved 2022-08-05.
  18. ^ "DC2DC Replication ArangoDB Documentation". www.arangodb.com. Retrieved 2022-08-05.
  19. ^ "Kubernetes Tutorials Manual ArangoDB Documentation". www.arangodb.com. Retrieved 2022-08-05.
  20. ^ "Foxx Microservices ArangoDB Documentation". www.arangodb.com. Retrieved 2022-08-05.
  21. ^ ArangoDB, ArangoDB, 2022-08-05, retrieved 2022-08-05
  22. ^ "ArangoSearch - Full-text search engine including similarity ranking capabilities". ArangoDB. Retrieved 2022-08-05.
  23. ^ "Stanford University Pregel White paper" (PDF).
  24. ^ "Pregel Data Science Manual ArangoDB Documentation". www.arangodb.com. Retrieved 2022-08-05.
  25. ^ "Transactions Manual ArangoDB Documentation". www.arangodb.com. Retrieved 2022-08-05.
  26. ^ "SQL and AQL (ArangoDB Query Language) Comparison". Arangodb.com. Retrieved 17 December 2017.
  27. ^ ArangoDB, ArangoDB, 2022-08-05, retrieved 2022-08-05
  28. ^ "ArangoDB SmartGraphs ArangoDB Documentation". www.arangodb.com. Retrieved 2022-08-05.
  29. ^ "ArangoDB SatelliteCollections ArangoDB Documentation". www.arangodb.com. Retrieved 2022-08-05.
  30. ^ "ArangoDB Enterprise Features". ArangoDB. Retrieved 2022-08-05.
  31. ^ "Getting Started with ArangoDB Oasis ArangoDB Documentation". www.arangodb.com. Retrieved 2022-08-05.
  32. ^ "ArangoDB Oasis". ArangoDB Oasis. Retrieved 2022-08-05.
  33. ^ "Subscriptions". ArangoDB. Retrieved 2022-08-05.