IT Share you

계층 적 데이터를 저장하는 데 가장 적합한 NoSQL 데이터베이스 유형은 무엇입니까?

shareyou 2020. 11. 8. 11:34
반응형

계층 적 데이터를 저장하는 데 가장 적합한 NoSQL 데이터베이스 유형은 무엇입니까?


계층 적 데이터를 저장하는 데 가장 적합한 NoSQL 데이터베이스 유형은 무엇입니까?

예를 들어, 트리 구조로 포럼의 게시물을 저장하고 싶습니다.

original post
 + re: original post
 + re: original post
   + re2: original post
     + re3: original post
   + re2: original post

이것은 그래프 데이터베이스입니다. 트리 데이터베이스로 사용할 수 있습니다.

http://neo4j.com/


MongoDB 및 CouchDB는 솔루션을 제공하지만 기능은 내장되어 있지 않습니다. 내가 본 대부분의 다른 NoSQL 솔루션이 이와 관련하여 유사 하므로 관계형 데이터베이스에서 계층 구조나타내는 이 SO 질문을 참조하십시오 . 노드가 추가, 삭제 및 이동 될 때 해당 정보를 다시 계산하기위한 자체 알고리즘을 작성해야합니다. 일반적으로 빠른 읽기 시간 (예 : 중첩 세트 ) 또는 빠른 쓰기 시간 ( 인접 목록 ) 중에서 결정을 내립니다. 이 라인을 따라 더 많은 옵션을 보려면 앞서 언급 한 SO 질문을 참조하십시오. 플랫 테이블 접근 방식 은 질문과 가장 잘 맞아 보입니다.

이러한 고려 사항을 추상화하는 한 가지 표준은 JCR ( Java Content Repository )이며 Apache JackRabbitJBoss eXo 는 모두 구현입니다. 뒤에서 둘 다 위에서 설명한 것처럼 계층을 유지하기 위해 일종의 알고리즘 계산을 수행하고 있습니다. 또한 JCR은 권한, 파일 저장 및 기타 여러 측면도 처리하므로 프로젝트에 과도 할 수 있습니다.


필요한 것은 MongoDB 또는 CouchDB 와 같은 문서 지향 데이터베이스 입니다.

MongoDB에 계층 적 데이터를 저장할 수있는 다양한 기술의 예를 참조하십시오. http://www.mongodb.org/display/DOCS/Trees+in+MongoDB


가장 일반적인 것은 IBM의 IMS 이며 캐시 데이터베이스도 있습니다.

stackexchange의 dba 섹션에 게시 된이 질문을 참조하십시오 .


같은 문제에 직면하여 Lua + Redis https://github.com/qbolec/Redis-Tree/를 사용하여 나만의 (매우 간단한) 솔루션을 만들기로 결정했습니다.


Exist-db 는 XML 지속성을 위해 계층 적 데이터 모델을 구현했습니다.


그래프 데이터베이스도이 문제를 해결할 수 있습니다. 확장 측면에서 neo4j가 충분하지 않다면 HBase를 포함한 다양한 스토리지 백엔드를 기반으로하고 매우 잘 확장되어야하는 Titan을 고려하십시오 . neo4j만큼 성숙하지는 않지만 매우 유망한 프로젝트입니다.


당연히 LDAP. OpenLDAP는 짧은 작업을 수행합니다.


수학,보다 구체적으로 그래프 이론에서 트리는 두 개의 정점이 정확히 하나의 경로로 연결된 무 방향 그래프입니다 . 따라서 모든 그래프 db 는 확실히 작업을 수행합니다. BTW 트리와 같은 일반적인 그래프는 관계형 또는 비 관계형 DB에 간단히 매핑 할 수 있습니다. 계층 적 데이터를 관계형 db에 저장하려면 Bill Karwin의 멋진 프레젠테이션을 참조하십시오 . 나무를 저장하는 시설을 갖춘 ORM도 있습니다. 예를 들어 TypeORM 은 계층 구조를 저장하기 위해 인접 목록 및 클로저 테이블 패턴을 지원합니다.

TypeORM은 TypeScript \ Javascript 개발에 사용됩니다. 사용자 환경에 따라 하나의 지원 트리를 찾으려면 인기있는 ORM확인하십시오 .

비 관계형 DB [IMHO]의 왕은 Mongodb입니다. 문서를 확인하십시오 . 나무를 저장하는 방법을 알아 봅니다. 나무는 가장 일반적인 종류의 그래프이며 모든 곳에서 사용됩니다. 잘 정립 된 DB 솔루션은 나무를 다룰 수있는 방법이 있어야합니다.


여기에 답이 없습니다. SQLServer 2008 !!!! 재귀 쿼리에 적합합니다. 또는 구식 경로로 이동하고 계층 구조 데이터를 별도의 테이블에 저장하여 재귀를 방지 할 수 있습니다.

관계형 데이터베이스는 트리 데이터에 매우 적합하다고 생각합니다. 쿼리 성능과 사용 편의성 모두에서. 한 가지주의 사항이 있습니다 .... 누군가가 게시물을 작성할 때마다 색인이 생성 된 테이블과 다른 여러 색인이 생성 된 테이블에 삽입하게됩니다. 삽입 성능은 Facebook 구경 포럼에서 문제가 될 수 있습니다.


MarkLogic을 확인하십시오 . 웹 사이트에서 데모 사본을 다운로드 할 수 있습니다. 구조화되지 않은 데이터를위한 데이터베이스이며 데이터베이스의 NoSQL 분류에 속합니다. 비정형 데이터는 상당히로드 된 용어라는 것을 알고 있지만 RDBMS의 행과 열에 잘 맞지 않는 데이터라고 생각하면됩니다 (예 : 계층 적 데이터).


주말을 풀 스택 자바 스크립트 브라우저 애플리케이션 개발 프레임 워크의 백엔드로 MUMUPS db를 사용하는 교육 과정에서 보냈습니다. 좋은 물건! GPL에서 MUMPS의 GT.M 배포판을 추천합니다. 또는 바닐라 MUMPS에 대해 http://sourceforge.net/projects/mumps/?source=recommended시도 하십시오 . ewd.js js 프레임 워크 및 MUMPS에 대한 자세한 정보는 http://robtweed.wordpress.com/확인하십시오 .

참고 URL : https://stackoverflow.com/questions/4767944/what-type-of-nosql-database-is-best-suited-to-store-hierarchical-data

반응형