If youre an architectural or engineering firm, youve undoubtedly confronted the difficulty of managing and collaborating on 3D assets like CAD drawings. ?The act of sharing massive files is hard but feasible, but it is significantly compli
If you’re an architectural or engineering firm, you’ve undoubtedly confronted the difficulty of managing and collaborating on 3D assets like CAD drawings. ?The act of sharing massive files is hard but feasible, but it is significantly complicated by the inability to determine that you’re using the latest version. ?For the CAD-inclined, there’s hope.?Jozef Dobos, a doctoral student at University College London (UCL), has applied the geospatial indexing capabilities of MongoDB a version control system for 3D assets called?3D Repo.??Sponsored by?Arup Foresight, the built environment innovation division of Arup Group Limited, a global design and business consulting firm with offices in over 30 countries, 3D Repo leverages the flexibility of MongoDB’s data model, not to mention its geospatial capabilities, to make collaboration on 3D assets easy.
The Problem
Whether an architectural firm or a product design company, collaboration on large (500GB+) 3D assets is a critical but difficult task, one not solved simply by sending links around to these assets. The maintenance of assets in a large 3D visualisation can involve authors that are numerous, geographically dispersed, and diverse in their skillsets and tools.
This presents problems including, but not limited to, maintaining consistency of the models and dealing with concurrent edits in the same part of a 3D scene. For example, in the industry today, each user loads a particular 3D scene into a modeling tool, modifies it, and then re-saves the entire file again, making any version tracking and sharing unnecessarily unclear. By the time a simulation is completed, the design might progress so rapidly that the results are often inapplicable.?
An SVN for 3D Assets
Looking for a better way to collaborate on 3D files, Dobos developed a unified and integrated framework, called?3D Repo,?that supports collaborative editing and distribution of 3D assets. ?Think of it like Subversion (SVN), but for 3D assets, not code. ?
The 3D Repo framework tracks multiple revisions of 3D assets so that they can be integrated later on. It thus provides similar functionality to file-based revision control systems like SVN, but is built around MongoDB, thereby avoiding the constraints of a file-based system. The framework also supports distributed editing over the Internet and additional lightweight clients in web-browsers and mobile devices. Such an approach is expected to improve the engineering as well as public engagement and considerably reduce the costs of future industrial development.
Why MongoDB?
While there are other proprietary and open-source databases that support spatial data directly - e.g. Oracle Spatial and PostGIS for PostgreSQL - these alternatives focus on 2D geometry, not 3D models and their properties. They also do not support the type of revision histories that is commonly required in 3D asset management.
MongoDB, on the other hand, avoids rigid data models and is optimized for large read-write operations. It is therefore possible to store 3D models in a database and, due to MongoDB’s schema flexibility, also track other associated data such as semantic relationships and even individual revisions, as is the case in 3D Repo.?
As Dobos explains:
Basically, relational databases can in no way cut it. Rigid table structures are not suitable for highly diverse and large 3D data. In our case, a single 3D model or, better said, a “3D scene” is represented as a scene graph, where each node can be, and most of the time is, something different. It can be a node for a mesh, hence a large binary array, or a transformation, where transformation matrix is simply 16 numbers, or animation, bone, material, texture etc. Each of these is represented and stored differently. So key-value pairs are a match made in heaven for this type of data.
In MongoDB, 3D Repo assigns two collections (tables) per 3D scene, one for all the scene graph constituents and one for all the documents that belong to a revision history. Hence, each of these collections stores a directed acyclic graph, making the access implementation reusable. Once the data is in a database, access is implicitly supported in a distributed manner via a dedicated query language.?
In order to offer a scalable visualization platform, 3D Repo streams decomposed scene graph components from MongoDB onto client devices, reconstructs their 3D representation and displays them for viewing.
This explains why MongoDB is superior to an RDBMS like Oracle for this kind of application, but it doesn’t address the possibility that Dobos could have turned to another NoSQL database, and particularly a graph database, given that a scene graph is a directed acyclic graph. ?Surely this should be a fit for a graph database?
Not really, as Dobos articulates:?
Mostly simply stated, we don’t need any complicated graph traversal operations. We opted for MongoDB because of its efficiency with binary storage, BSON rather than ASCII (hence a clear winner over CouchDB, too), and due to its flexibility, not to mention its web-ready approach. MongoDB is proven to scale well, has sharding built-in and there is a thriving community to support it. Most of the design inspiration in our system actually comes from webinars by Wordnik and their experience. ?We are really grateful for those!
In sum, MongoDB delivers the flexibility and 3D geospatial capabilities necessary to making 3D Repo a reality.
Results
The 3D Repo approach offers significant benefits over alternative techniques like geographic information systems (GIS), given the direct MongoDB database connection, the scalability of MongoDB, and its built-in support for geospatial indexing. In addition, MongoDB enables version control for 3D assets in a way impossible to proprietary or open-source RDBMS. ?Geographic information systems such as Oracle Spatial or PostGIS may be acceptable for 2D assets such as lines, but they cannot match MongoDB for representing 3D data efficiently and carrying metadata on top.?Importantly, 3D Repo’s MongoDB-based solution can be extended to support various data types including building information modelling (BIM) or other representations.?
For more information on the research Dobos is doing on 3D Repo, please see “Revision Control Framework for 3D Assets” (PDF) or review his?related research.?
Note: MongoDB does not currently support 3D geospatial indexing.?
原文地址:3D Repo Runs MongoDB, 感谢原作者分享。

InnoDB는 Redologs 및 Undologs를 사용하여 데이터 일관성과 신뢰성을 보장합니다. 1. Redologs는 사고 복구 및 거래 지속성을 보장하기 위해 데이터 페이지 수정을 기록합니다. 2. 결점은 원래 데이터 값을 기록하고 트랜잭션 롤백 및 MVCC를 지원합니다.

설명 명령에 대한 주요 메트릭에는 유형, 키, 행 및 추가가 포함됩니다. 1) 유형은 쿼리의 액세스 유형을 반영합니다. 값이 높을수록 Const와 같은 효율이 높아집니다. 2) 키는 사용 된 인덱스를 표시하고 NULL은 인덱스가 없음을 나타냅니다. 3) 행은 스캔 한 행의 수를 추정하여 쿼리 성능에 영향을 미칩니다. 4) Extra는 최적화해야한다는 Filesort 프롬프트 사용과 같은 추가 정보를 제공합니다.

Temporary를 사용하면 MySQL 쿼리에 임시 테이블을 생성해야 할 필요성이 있으며, 이는 별개의, 그룹 비 또는 비 인덱스 열을 사용하여 순서대로 발견됩니다. 인덱스 발생을 피하고 쿼리를 다시 작성하고 쿼리 성능을 향상시킬 수 있습니다. 구체적으로, 설명 출력에 사용되는 경우, MySQL은 쿼리를 처리하기 위해 임시 테이블을 만들어야 함을 의미합니다. 이것은 일반적으로 다음과 같은 경우에 발생합니다. 1) 별개 또는 그룹을 사용할 때 중복 제거 또는 그룹화; 2) OrderBy가 비 인덱스 열이 포함되어있을 때 정렬하십시오. 3) 복잡한 하위 쿼리 또는 조인 작업을 사용하십시오. 최적화 방법은 다음과 같습니다. 1) Orderby 및 GroupB

MySQL/InnoDB는 4 개의 트랜잭션 격리 수준을 지원합니다. Readuncommitted, ReadCommitted, ReturableRead 및 Serializable. 1. READUCMITTED는 커밋되지 않은 데이터를 읽을 수 있으므로 더러운 판독 값을 유발할 수 있습니다. 2. ReadCommitted는 더러운 읽기를 피하지만 반복 할 수없는 독서가 발생할 수 있습니다. 3. RepeatableRead는 더러운 읽기와 반복 할 수없는 독서를 피하는 기본 레벨이지만 팬텀 독서가 발생할 수 있습니다. 4. 직렬화 가능한 것은 모든 동시성 문제를 피하지만 동시성을 줄입니다. 적절한 격리 수준을 선택하려면 균형 잡힌 데이터 일관성 및 성능 요구 사항이 필요합니다.

MySQL은 웹 응용 프로그램 및 컨텐츠 관리 시스템에 적합하며 오픈 소스, 고성능 및 사용 편의성에 인기가 있습니다. 1) PostgreSQL과 비교하여 MySQL은 간단한 쿼리 및 높은 동시 읽기 작업에서 더 잘 수행합니다. 2) Oracle과 비교할 때 MySQL은 오픈 소스와 저렴한 비용으로 인해 중소 기업에서 더 인기가 있습니다. 3) Microsoft SQL Server와 비교하여 MySQL은 크로스 플랫폼 응용 프로그램에 더 적합합니다. 4) MongoDB와 달리 MySQL은 구조화 된 데이터 및 트랜잭션 처리에 더 적합합니다.

MySQL Index Cardinality는 쿼리 성능에 중대한 영향을 미칩니다. 1. 높은 카디널리티 인덱스는 데이터 범위를보다 효과적으로 좁히고 쿼리 효율성을 향상시킬 수 있습니다. 2. 낮은 카디널리티 인덱스는 전체 테이블 스캔으로 이어질 수 있으며 쿼리 성능을 줄일 수 있습니다. 3. 관절 지수에서는 쿼리를 최적화하기 위해 높은 카디널리티 시퀀스를 앞에 놓아야합니다.

MySQL 학습 경로에는 기본 지식, 핵심 개념, 사용 예제 및 최적화 기술이 포함됩니다. 1) 테이블, 행, 열 및 SQL 쿼리와 같은 기본 개념을 이해합니다. 2) MySQL의 정의, 작업 원칙 및 장점을 배우십시오. 3) 인덱스 및 저장 절차와 같은 기본 CRUD 작업 및 고급 사용량을 마스터합니다. 4) 인덱스의 합리적 사용 및 최적화 쿼리와 같은 일반적인 오류 디버깅 및 성능 최적화 제안에 익숙합니다. 이 단계를 통해 MySQL의 사용 및 최적화를 완전히 파악할 수 있습니다.

MySQL의 실제 응용 프로그램에는 기본 데이터베이스 설계 및 복잡한 쿼리 최적화가 포함됩니다. 1) 기본 사용 : 사용자 정보 삽입, 쿼리, 업데이트 및 삭제와 같은 사용자 데이터를 저장하고 관리하는 데 사용됩니다. 2) 고급 사용 : 전자 상거래 플랫폼의 주문 및 재고 관리와 같은 복잡한 비즈니스 로직을 처리합니다. 3) 성능 최적화 : 인덱스, 파티션 테이블 및 쿼리 캐시를 사용하여 합리적으로 성능을 향상시킵니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

드림위버 CS6
시각적 웹 개발 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는
