타입 DB
TypeDB| 원저작자 | 하이칼 프리바디 |
|---|---|
| 개발자 | 바티클 |
| 초기 릴리즈 | 2016년 9월 , 전( |
| 안정된 릴리스 | 2.11.0 / 2022년 6월 ; 전([1] |
| 저장소 | github |
| 기입처 | 자바[2] |
| 운영 체제 | 크로스 플랫폼 |
| 면허증. | AGPL 3.0 |
| 웹 사이트 | vaticle |
TypeDB는 논리 유형 [3]시스템을 사용하는 강력한 형식의 오픈 소스 데이터베이스입니다.TypeQL은 쿼리 언어입니다.TypeDB는 유형 계층, 역할 및 규칙뿐만 아니라 엔티티, 관계 및 속성 유형으로 구성된 논리 및 개체 지향 프로그래밍 원칙을 기반으로 도메인을 모델링합니다.
TypeDB는 데이터의 논리구조를 기술하는 방법을 제공합니다.이를 통해 툴은 코드가 데이터를 올바르게 삽입하고 쿼리하는 것을 검증할 수 있습니다.쿼리 검증은 정적 유형 검사를 넘어 의미 없는 쿼리의 논리적 검증을 포함합니다.또한 TypeDB는 추론 엔진에 의한 논리 해석을 위해 데이터를 인코딩하고 데이터의 논리적 추상화를 생성하는 유형 추론 및 규칙 추론을 활성화합니다.이를 통해 다른 방법으로는 찾기 어려울 수 있는 사실과 패턴을 발견할 수 있습니다.
TypeDB는 Vaticle Ltd에 의해 개발되었으며 GNU Affero General Public License에 따라 발행됩니다.이전에는 Vaticle은 Grakn Labs, TypeDB는 Grakn, TypeQL은 Grakn이었습니다.
주요 기능
표현력
- 엔티티-관계 모델
TypeDB를 사용하면 Well-known Entity-Relationship(ER) 모델을 사용하여 도메인을 모델링할 수 있습니다.엔티티 유형, 관계 유형 및 속성 유형으로 구성되며 역할 유형이 도입됩니다.TypeDB를 사용하면 ER 모델의 완전한 표현력을 활용하여 스키마를 첫 번째 정규 [4]형식으로 설명할 수 있습니다.
- 유형 계층
TypeDB를 사용하면 유형 상속을 도메인 모델로 쉽게 모델링할 수 있습니다.논리적이고 객체 지향적인 원칙에 따라 TypeDB는 데이터 유형이 슈퍼 유형의 동작과 속성을 상속할 수 있도록 합니다.복잡한 데이터 구조를 재사용할 수 있게 되고 다형성을 통해 데이터 해석이 풍부해집니다.
- N-ary 관계
관계는 종종 두 가지 사이의 2진법적인 연결고리가 아닙니다.복잡한 시스템에서는 3개 이상의 것이 동시에 관련될 수 있습니다.이들을 별개의 바이너리 관계로 표시하면 사용자가 정보를 잃게 됩니다.TypeDB는 임의의 수의 것을 하나의 관계로서 나타낼 수 있습니다.
- 중첩된 관계
관계는 두 개 이상의 사물 사이의 연관성을 설명하기 위해 사용되는 개념입니다.때때로, 모든 것은 관계 그 자체일 수 있다.TypeDB는 이러한 구조를 나타낼 수 있는데, 이는 관계를 다른 관계에서 중첩할 수 있게 함으로써 사용자가 시스템의 모델을 자연스러운 형태로 표현할 수 있게 하기 때문입니다.
안전.
- 논리 데이터 검증
삽입된 데이터는 속성값 유형의 정적 유형 검사 이상으로 검증됩니다.엔티티는 올바른 속성만 가지도록 검증되고 관계는 논리적으로 허용되는 것만 관련되도록 검증됩니다.TypeDB는 관련된 항목의 다형성 유형을 평가하여 삽입된 엔티티 및 관계를 검증합니다.
- 논리 쿼리 검증
TypeDB에서 실행된 읽기 쿼리는 유형 해결 프로세스를 거칩니다.이 프로세스는 쿼리의 실행을 최적화할 수 있을 뿐만 아니라 사용자 오류일 가능성이 높은 무의미하고 불만족스러운 쿼리를 거부하는 정적 유형 검사기 역할을 합니다.
논리적 추론
- 규칙[5]
TypeDB를 사용하면 스키마에서 규칙을 정의할 수 있습니다.이를 통해 데이터 집합의 특정 논리 형식이 충족될 때 시스템이 새로운 결론을 도출할 수 있으므로 모델의 표현성이 확장됩니다.프로그래밍의 기능과 마찬가지로 규칙은 서로 연결되어 데이터 수준에서 동작의 추상화를 생성할 수 있습니다.
- 추론
TypeDB의 추론 기능은 하나의 쿼리를 가능한 모든 해석으로 변환합니다.이는 유형 기반 추론과 규칙 기반 추론의 두 가지 메커니즘을 통해 발생합니다.이를 통해 새로운 결론을 도출하고 숨겨진 관계를 밝혀낼 수 있을 뿐만 아니라 복잡한 패턴을 단순한 쿼리로 추상화할 수 있습니다.
아키텍처
TypeDB는 다음 두 부분으로 구성됩니다.storage를 DB로 입력하고 언어를 TypeQL
타입 DB
TypeDB는 리치하고 논리적인 유형의 시스템을 가진 데이터베이스입니다.TypeDB는 트랜잭션 쿼리 인터페이스를 갖춘 표현형 시스템을 구축했습니다.TypeDB의 유형 시스템은 수학에서 가장자리를 [6]정점 집합으로 일반화하는 하위 필드인 하이퍼그래프 이론을 기반으로 합니다.하이퍼그래프 데이터 구조 자체는 키-값 쌍의 형태로 나타나며 분산된 NoSQL 데이터베이스인 RocksDB에서 유지됩니다.뗏목 알고리즘을 사용하여 TypeDB는 컴퓨터 네트워크를 통해 공유 및 복제되도록 설계된 분산 시스템을 제공합니다.
타입QL
TypeQL은 복잡한 관계에 대해 더 높은 수준의 추상화를 생성하는 TypeDB의 선언적 추론(OLTP를 통해) 쿼리 언어입니다.TypeQL을 사용하면 데이터 세트에 숨겨진 암묵적인 정보를 얻을 수 있을 뿐만 아니라 해당 정보의 복잡성을 줄일 수 있습니다.
라이선스
TypeDB는 오픈소스 버전과 상용 버전(TypeDB 클러스터)의 두 가지 버전으로 사용할 수 있습니다.오픈 소스 버전은 GNU Affero General Public License 버전 3에서 사용할 수 있습니다.이는 무료이지만 클러스터링이 부족하고 보안이 적용되지 않기 때문에 1개의 노드에서만 실행할 수 있습니다.
상용 제품인 TypeDB Cluster는 고가용성, 수평적 확장성 및 [7]보안을 제공합니다.TypeDB Cluster는 비공개 소스 Commercial 라이센스로 사용할 수 있습니다.
레퍼런스
- ^ "Releases · vaticle/typedb". github.com. Retrieved 2022-05-26.
- ^ "TypeDB System Properties".
- ^ Barolli, Leonard; Terzo, Olivier (2017-07-04). Complex, intelligent, and software intensive systems : proceedings of the 11th International Conference on Complex, Intelligent, and Software Intensive Systems (CISIS-2017). Cham. ISBN 9783319615660. OCLC 992988924.
- ^ Messina, Antonio; Pribadi, Haikal; Stichbury, Jo; Bucci, Michelangelo; Klarman, Szymon; Urso, Alfonso (2017-07-10). Complex, Intelligent, and Software Intensive Systems. Advances in Intelligent Systems and Computing. Vol. 611. Springer, Cham. pp. 299–309. doi:10.1007/978-3-319-61566-0_28. ISBN 978-3-319-61565-3.
- ^ "Inference in TypeDB". blog.typedb.com.
- ^ "Hyper-relation - UNL Wiki". www.unlweb.net.
- ^ "Introduction to TypeDB Cluster". blog.vaticle.com.
참고 문헌
- Malewicz, Grzegorz; Austern, Matthew H.; Bik, Aart J.C; Dehnert, James C.; Horn, Ilan; Leiser, Naty; Czajkowski, Grzegorz (2010), "Pregel: A System for Large-scale Graph Processing", Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data, SIGMOD '10, New York, NY, USA: ACM: 135–146, doi:10.1145/1807167.1807184, ISBN 9781450300322, S2CID 53034533