데이터 베이스 MySQL 튜토리얼 MongoDB:数据模型介绍

MongoDB:数据模型介绍

Jun 07, 2016 pm 03:59 PM
mongodb 소개하다 데이터 모델

在MongoDB的数据有灵活的模式。不像SQL数据库,(SQL数据库)要求你必须在插入数据之前决定和声明一个表的模式,MongoDB的集合不强制文档的结构。这个灵活性有利于文档到实体或对象的映射。每个文档可以匹配所要表示实体的数据字段,即使数据的变化很显著。

在MongoDB的数据有灵活的模式。不像SQL数据库,(SQL数据库)要求你必须在插入数据之前决定和声明一个表的模式,MongoDB的集合不强制文档的结构。这个灵活性有利于文档到实体或对象的映射。每个文档可以匹配所要表示实体的数据字段,即使数据的变化很显著。但在实际操作中,一个集合的文档共享一个相似的结构。

数据模型的关键挑战在于平衡应用的需要,数据库引擎的性能和数据存取模式。当设计数据模型时,要考虑数据在应用里的使用情况(如,查询、更新和处理数据),以及数据本身的内在结构。

文档结构

在为MongoDB应用设计数据模型时的关键是围绕文档的结构和应用时如何表示数据间的联系。有两个工具来允许应用来表示这些关系:引用和嵌入文档( references and embedded documents)。

引用

引用通过包括连接或一个文档到另一个文档间的引用存储着数据间的关系。应用能够解析这些引用来访问到相关数据。广义上说,这些都是归一化的数据模型(normalized data models).

\

上图的数据模型使用引用来联系文档。contract文档和access文档都保护着user文档的引用。

下面介绍归一化数据模型在使用引用的优缺点:

归一化模型使用引用描述文档间的关系。一般地,使用归一化模型的情况有,

当嵌入会导致数据重复且不会提供有效的读性能。表示更复杂的多对多的关系对大型分级数据建模

引用比嵌入式文档的灵活性更大。但客户端应用必须处理引用带来的查询问题。总之,归一化数据模型需要更多的往返服务器。

嵌入数据

嵌入式文档通过在一个单一文档结构里存储相关数据来捕获数据间的关系。MongoDB的文档使在一个文档里的一个字段或字段数据嵌入一个文档作为子文档具体可能性。这些非规范化数据使得应用可以在一个单一数据库操作力获取和操纵数据。

\

上图的数据模型就是嵌入式字段保护所有的相关信息。

下面讨论嵌入子文档的数据模型的优缺点:

使用MongoDB,你可以在一个单一结构或文档嵌入相关数据。这个模型是著名的“非规范化”模型,利用了MongoDB丰富文档的优势。

嵌入数据模型允许应用在相同的数据库记录里存储相关片段信息。因此,应用在完成一个常规操作时,只需处理很少的查询或更新。

一般,当下面情形时可使用嵌入数据模型:

实体间有“包含关系”实体间有一对多的关系。在这些关系里,“多“或子文档经常被看做"一"或父文档的上下文里

一般来说,嵌入提供了更好的读性能,以及在单一数据库操作里请求和获取相关数据的能力。嵌入数据模型使得在哪一个原子操作里更新相关数据成为可能。

然而,在一个文档的嵌入数据模型可能导致文档创建后的增长。文档的增长会影响写性能并导致数据碎片问题。并且,在MongoDB里的文档大小必须小于最大的BSON文档大小。对大型二进制数据,考虑GridFS。

写操作的原子性

在MongoDB,写操作在文档这一级是原子的,并且没有单一的写操作能原子性的影响多个文档或集合。一个有嵌入数据的非规范化数据模型在一个单一文档里包含了能表示一个实体的相关数据。这有利于写操作的原子性,因为单一的写操作能直接对一个实体插入或更新数据。规范化数据会在多个集合里分散了数据,这会要求多次写操作,因此不是原子性的。

然而,有利于原子性写的模式会限制一个应用使用数据的方法或修改数据的方法。因此需要平衡原子性和平衡性。

文档增长

有的更新,比如向数组添加元素或添加新的字段,会增大文档的大小。如果文档的大小超过了给该文档分配的空间,MongoDB会重新定位这个文档。文档的增长会影响规范化和非规范化数据的选择。

数据使用和性能

当设计一个文档模型,要考虑应用将如何使用你的数据库。比如,如果你的应用仅使用最近插入的数据,考虑使用 Capped Collections.或者,你的应用需要总是读操作,添加索引是常见的提升性能的办法。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

OpenAI 데이터가 필요하지 않습니다. 대규모 코드 모델 목록에 참여하세요! UIUC, StarCoder-15B-Instruct 출시 OpenAI 데이터가 필요하지 않습니다. 대규모 코드 모델 목록에 참여하세요! UIUC, StarCoder-15B-Instruct 출시 Jun 13, 2024 pm 01:59 PM

소프트웨어 기술의 선두에 있는 UIUC Zhang Lingming 그룹은 BigCode 조직의 연구원들과 함께 최근 StarCoder2-15B-Instruct 대규모 코드 모델을 발표했습니다. 이 혁신적인 성과는 코드 생성 작업에서 획기적인 발전을 이루었으며 CodeLlama-70B-Instruct를 성공적으로 능가하고 코드 생성 성능 목록의 최상위에 올랐습니다. StarCoder2-15B-Instruct의 독창성은 순수한 자체 정렬 전략에 있습니다. 전체 훈련 프로세스는 개방적이고 투명하며 완전히 자율적이고 제어 가능합니다. 이 모델은 값비싼 수동 주석에 의존하지 않고 StarCoder-15B 기본 모델을 미세 조정한 것에 대한 응답으로 StarCoder2-15B를 통해 수천 개의 명령을 생성합니다.

Google Gemini 1.5 기술 보고서: 수학 올림피아드 문제를 쉽게 증명할 수 있으며 Flash 버전은 GPT-4 Turbo보다 ​​5배 빠릅니다. Google Gemini 1.5 기술 보고서: 수학 올림피아드 문제를 쉽게 증명할 수 있으며 Flash 버전은 GPT-4 Turbo보다 ​​5배 빠릅니다. Jun 13, 2024 pm 01:52 PM

올해 2월 Google은 엔지니어링 및 인프라 최적화, MoE 아키텍처 및 기타 전략을 통해 성능과 속도를 크게 향상시킨 다중 모드 대형 모델 Gemini 1.5를 출시했습니다. 더 긴 컨텍스트, 더 강력한 추론 기능, 교차 모달 콘텐츠 처리 능력이 향상되었습니다. 이번 금요일에 Google DeepMind는 Flash 버전과 기타 최신 업그레이드를 다루는 Gemini 1.5의 기술 보고서를 공식적으로 발표했습니다. 이 문서의 길이는 153페이지입니다. 기술 보고서 ​​링크: https://storage.googleapis.com/deepmind-media/gemini/gemini_v1_5_report.pdf 이 보고서에서 Google은 Gemini1을 소개합니다.

Samsung S24ai 기능에 대한 자세한 소개 Samsung S24ai 기능에 대한 자세한 소개 Jun 24, 2024 am 11:18 AM

2024년은 AI 휴대폰 원년이다. AI 스마트 기술을 탑재해 휴대폰을 더욱 효율적이고 편리하게 사용할 수 있는 휴대폰이 늘어나고 있다. 최근 연초 출시된 갤럭시 S24 시리즈에서는 제너레이티브 AI 경험이 다시 한 번 향상됐다. 자세한 기능 소개는 아래에서 살펴보자. 1. 생성적 AI의 강력한 강화 Samsung Galaxy S24 시리즈는 Galaxy AI의 강화를 통해 많은 지능형 애플리케이션을 제공했습니다. 이러한 기능은 Samsung One UI6.1과 긴밀하게 통합되어 사용자가 언제든지 편리하고 지능적인 경험을 얻을 수 있습니다. 휴대전화의 성능과 사용 편의성을 향상시킵니다. 갤럭시 S24 시리즈가 개척한 원 앤 검색 기능은 사용자가 길게 누르기만 하면 되는 기능 중 하나입니다.

70B 모델은 몇 초 안에 1,000개의 토큰을 생성하고 코드 재작성은 OpenAI가 투자한 코드 아티팩트인 Cursor 팀의 GPT-4o를 능가합니다. 70B 모델은 몇 초 안에 1,000개의 토큰을 생성하고 코드 재작성은 OpenAI가 투자한 코드 아티팩트인 Cursor 팀의 GPT-4o를 능가합니다. Jun 13, 2024 pm 03:47 PM

70B 모델에서는 1000개의 토큰을 몇 초 만에 생성할 수 있으며 이는 거의 4000자로 변환됩니다! 연구진은 Llama3를 미세 조정하고 가속 알고리즘을 도입하여 기본 버전과 비교하여 속도가 13배 빨라졌습니다. 속도가 빠를 뿐만 아니라 코드 재작성 작업 성능도 GPT-4o를 능가합니다. 이 성과는 인기 있는 AI 프로그래밍 아티팩트인 Cursor를 개발한 팀과 OpenAI도 투자에 참여한 anysphere에서 이루어졌습니다. 빠른 추론 가속 프레임워크로 잘 알려진 Groq에서는 70BLlama3의 추론 속도가 초당 300개 토큰이 조금 넘는다는 사실을 아셔야 합니다. Cursor의 속도 덕분에 거의 즉각적인 완전한 코드 파일 편집이 가능하다고 할 수 있습니다. 어떤 사람들은 좋은 사람이라고 커스를 넣으면

검토! 자율주행 촉진을 위한 기본 모델의 중요한 역할을 종합적으로 요약 검토! 자율주행 촉진을 위한 기본 모델의 중요한 역할을 종합적으로 요약 Jun 11, 2024 pm 05:29 PM

위 작성 및 저자 개인 이해: 최근 딥러닝 기술의 발전과 획기적인 발전으로 대규모 기반 모델(Foundation Models)이 자연어 처리 및 컴퓨터 비전 분야에서 상당한 성과를 거두었습니다. 자율주행에 기본 모델을 적용하는 것도 시나리오에 대한 이해와 추론을 향상시킬 수 있는 큰 발전 전망을 가지고 있습니다. 풍부한 언어와 시각적 데이터에 대한 사전 학습을 통해 기본 모델은 자율주행 시나리오의 다양한 요소를 이해하고 해석하고 추론을 수행할 수 있으며, 의사 결정 및 계획을 추진하기 위한 언어 및 동작 명령을 제공합니다. 기본 모델은 일상적인 운전 및 데이터 수집 중에 발생할 가능성이 없는 롱테일 분포에서 드물게 실행 가능한 기능을 제공하기 위해 운전 시나리오에 대한 이해를 통해 데이터를 보강할 수 있습니다.

차이나모바일 : 인류가 4차 산업혁명을 맞이하며 '3대 계획' 공식 발표 차이나모바일 : 인류가 4차 산업혁명을 맞이하며 '3대 계획' 공식 발표 Jun 27, 2024 am 10:29 AM

26일 뉴스에 따르면 2024년 상하이 세계이동통신회의(MWC 상하이) 개막식에서 양지에 차이나모바일 회장이 연설을 했다. 그는 현재 인류사회는 정보가 지배하고 정보와 에너지가 깊이 융합되는 4차 산업혁명, 즉 '디지털·지능 혁명'에 진입하고 있으며, 새로운 생산력의 형성이 가속화되고 있다고 말했다. Yang Jie는 증기기관이 주도하는 '기계화 혁명'부터 전기와 내연기관이 주도하는 '전기화 혁명', 컴퓨터와 인터넷이 주도하는 '정보 혁명'에 이르기까지 모든 산업 혁명이 다음을 기반으로 한다고 믿습니다. "정보"와 "에너지"가 주력으로 생산성 향상을 가져옵니다

지구 전체를 신경망으로 묶는 베이항대학교 팀, 글로벌 원격 감지 이미지 생성 모델 출시 지구 전체를 신경망으로 묶는 베이항대학교 팀, 글로벌 원격 감지 이미지 생성 모델 출시 Jun 09, 2024 pm 09:56 PM

Beihang의 연구팀은 지구를 "복제"하기 위해 확산 모델을 사용했습니다. 전 세계 어디에서나 모델은 다양한 해상도의 원격 감지 이미지를 생성하여 풍부하고 다양한 "병렬 장면"을 생성할 수 있습니다. 또한 지형, 기후, 식생 등 복잡한 지리적 특징도 모두 고려되었습니다. Google 어스에서 영감을 받아 Beihang 연구팀은 전체 지구에 대한 위성 원격 감지 이미지를 머리 위 관점에서 심층 신경망에 '로드'했습니다. 이러한 네트워크를 기반으로 팀은 글로벌 하향식 시각 생성 모델인 MetaEarth를 구축했습니다. MetaEarth는 6억 개의 매개변수를 가지고 있으며 전 세계 모든 지리적 위치를 제한 없이 포괄하는 다양한 해상도의 원격 감지 이미지를 생성할 수 있습니다. 이전 연구와 비교하여 글로벌 원격탐사 이미지 생성 모델은

구글 검색 알고리즘의 비하인드 스토리가 공개되고, 실명이 포함된 2,500페이지의 문서가 유출됐다! 검색 순위 거짓말 노출 구글 검색 알고리즘의 비하인드 스토리가 공개되고, 실명이 포함된 2,500페이지의 문서가 유출됐다! 검색 순위 거짓말 노출 Jun 11, 2024 am 09:14 AM

최근 구글 내부 문서 2,500페이지가 유출되면서 '인터넷의 가장 강력한 중재자'인 검색이 어떻게 작동하는지가 드러났다. SparkToro의 공동 창립자이자 CEO는 익명의 사람입니다. 그는 자신의 개인 웹사이트에 "익명의 사람이 SEO 담당자 모두가 읽어야 할 수천 페이지의 유출된 Google 검색 API 문서를 나와 공유했습니다"라고 주장했습니다. ! "RandFishkin은 수년 동안 SEO(검색 엔진 최적화, 검색 엔진 최적화) 분야의 최고 대변인으로 활동해 왔으며 "웹사이트 권한"(DomainRating) 개념을 제안했습니다. RandFishkin은 이 분야에서 매우 존경받는 인물이기 때문에

See all articles