>데이터 베이스 >MySQL 튜토리얼 >MongoDB 데이터베이스란 무엇입니까?

MongoDB 데이터베이스란 무엇입니까?

小云云
小云云원래의
2017-11-24 09:52:032152검색

프로그래머라면 누구나 데이터베이스에 노출되어 있어야 하며 mysql과 mongoDB에 대해 상대적으로 이해하고 있어야 한다고 생각합니다. 이제 mongoDB 데이터베이스에 대해 간단히 이야기하겠습니다.

MongoDB는 C++ 언어로 작성된 분산 파일 스토리지 기반 데이터베이스로, 웹 애플리케이션을 위한 확장 가능한 고성능 데이터 스토리지 솔루션을 제공하도록 설계되었습니다.

MongoDB는 관계형 데이터베이스와 비관계형 데이터베이스 사이의 제품으로, 비관계형 데이터베이스 중에서 가장 기능이 풍부하고 관계형 데이터베이스와 가장 유사합니다. 지원하는 데이터 구조는 매우 느슨하고 json과 유사한 bson 형식이므로 더 복잡한 데이터 유형을 저장할 수 있습니다. Mongo의 가장 큰 특징은 지원하는 쿼리 언어가 매우 강력하다는 것입니다. 구문이 객체 지향 쿼리 언어와 다소 유사하며 관계형 데이터베이스의 단일 테이블 쿼리와 유사한 대부분의 기능을 구현할 수 있으며 인덱싱도 지원합니다. 데이터.

mongoDB 데이터베이스의 기능:

고성능, 배포 및 사용이 쉽고 데이터 저장이 매우 편리합니다. 주요 기능적 특징은 다음과 같습니다:

* 세트 지향 저장, 객체 유형 데이터 저장이 용이합니다.

소위 "컬렉션 지향"이란 데이터가 컬렉션이라고 불리는 데이터 세트에 그룹화되어 저장된다는 의미입니다. 각 컬렉션에는 데이터베이스에 고유한 식별 이름이 있으며 무제한의 문서를 포함할 수 있습니다. 컬렉션의 개념은 스키마를 정의할 필요가 없다는 점을 제외하면 관계형 데이터베이스(RDBMS)의 테이블과 유사합니다. Nytro MegaRAID 기술의 플래시 캐시 알고리즘은 데이터베이스 내의 대규모 데이터 세트에서 핫 데이터를 신속하게 식별하여 일관된 성능 향상을 제공합니다.

*스키마가 없습니다.

스키마 없는 구조 저장소를 사용한다는 것은 mongodb 데이터베이스에 저장된 파일의 경우 구조 정의를 알 필요가 없음을 의미합니다. 필요한 경우 동일한 데이터베이스에 다른 구조의 파일을 저장할 수 있습니다. 데이터를 저장하기 위해 스키마를 사용하는 것은 RDBMS의 테이블과 컬렉션을 구별하는 중요한 기능입니다.

*동적 쿼리를 지원합니다.

* 내부 개체를 포함한 전체 인덱싱을 지원합니다.

내부 개체를 포함한 모든 속성에 대한 색인을 생성할 수 있습니다. MongoDB 인덱스는 기본적으로 RDBMS 인덱스와 동일합니다. 인덱스는 쿼리 속도를 향상시키기 위해 지정된 속성과 내부 개체에 생성될 수 있습니다. 이 외에도 MongoDB는 지리공간 기반 인덱스를 생성하는 기능도 제공합니다.

*지원문의.

MongoDB는 풍부한 쿼리 작업을 지원합니다. MongoDB는 SQL에서 거의 대부분의 쿼리를 지원합니다.

*복제 및 오류 복구를 지원합니다.

MongoDB는 데이터 백업, 오류 복구, 읽기 확장 및 기타 기능을 실현할 수 있는 마스터-슬레이브 복제 메커니즘을 지원합니다. 복제본 세트 기반의 복제 메커니즘은 자동 장애 복구 기능을 제공하여 클러스터 데이터가 손실되지 않도록 보장합니다.

* 대용량 개체(비디오 등)를 포함한 효율적인 바이너리 데이터 저장소를 사용하세요.

바이너리 형식 저장소를 사용하면 모든 유형의 데이터 개체를 저장할 수 있습니다.

* 조각화를 자동으로 처리하여 클라우드 수준의 확장성을 지원합니다.

*RUBY, PYTHON, JAVA, C++, PHP, C#, Perl, JavaScript 및 기타 언어를 지원합니다.

MongoDB는 현재의 모든 주류 개발 언어에 대한 데이터베이스 드라이버 패키지를 제공합니다. 개발자는 모든 주류 개발 언어를 사용하여 MongoDB 데이터베이스에 액세스하도록 쉽게 프로그래밍할 수 있습니다.

*파일 저장 형식은 BSON(JSON의 확장자)입니다.

BSON은 바이너리 형식의 JSON의 약어입니다. BSON은 문서 및 배열의 ​​중첩을 지원합니다.

*웹을 통해 접근 가능합니다.

MongoDB 데이터베이스는 네트워크를 통해 원격으로 접근할 수 있습니다.

*강력한 집계 도구

MongoDB는 풍부한 쿼리 기능을 제공하는 것 외에도 개수, 그룹 등과 같은 강력한 집계 도구를 제공하여 복잡한 집계 작업을 완료하기 위한 MapReduce 사용을 지원합니다.

MongoDB는 풍부한 쿼리 기능을 제공하는 것 외에도 개수, 그룹 등과 같은 강력한 집계 도구를 제공하여 MapReduce를 사용하여 복잡한 집계 작업을 완료하도록 지원합니다.

MongoDB의 주요 응용 시나리오는 다음과 같습니다.

(1) 웹사이트 실시간 데이터 처리. 실시간 삽입, 업데이트, 쿼리에 이상적이며, 웹 사이트의 실시간 데이터 저장에 필요한 복제 및 높은 확장성을 갖추고 있습니다.

(2) 캐시. 높은 성능으로 인해 정보 인프라의 캐싱 계층으로 적합합니다. 시스템이 다시 시작된 후에는 시스템에 의해 구축된 영구 캐시 계층이 기본 데이터 소스의 과부하를 방지할 수 있습니다.

(3) 높은 확장성 시나리오. 수십 또는 수백 개의 서버로 구성된 데이터베이스에 이상적인 로드맵에는 이미 MapReduce 엔진에 대한 기본 지원이 포함되어 있습니다.

(4) 크기가 크고 가치가 낮은 데이터의 경우 기존 관계형 데이터베이스를 사용하여 일부 데이터를 저장하는 것이 더 비쌀 수 있습니다. 그 전에는 프로그래머가 저장을 위해 기존 파일을 선택하는 경우가 많았습니다.

적용할 수 없는 시나리오는 다음과 같습니다.

(1) 은행이나 회계 시스템과 같이 높은 수준의 거래 성격이 필요한 시스템. 기존 관계형 데이터베이스는 현재 다수의 원자적이고 복잡한 트랜잭션이 필요한 애플리케이션에 더 적합합니다.

(2) 특정 문제를 대상으로 하는 BI 데이터베이스와 같은 기존 비즈니스 인텔리전스 애플리케이션은 고도로 최적화된 쿼리 방법을 생성합니다. 이러한 애플리케이션의 경우 데이터 웨어하우스가 더 적합한 선택일 수 있습니다.

(3) 복잡한 문서 간(테이블) 계단식 쿼리.

위 내용은 mongoDB 데이터베이스에 대한 간략한 소개입니다.

관련 권장 사항:

mongodb 데이터베이스 사용 방법에 대한 Laravel 튜토리얼

phpstudy MongoDB 확장 방법 연구

Yan Shiba mongodb 비디오 자료 공유

위 내용은 MongoDB 데이터베이스란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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