>  기사  >  데이터 베이스  >  nosql 데이터베이스의 특징은 무엇입니까?

nosql 데이터베이스의 특징은 무엇입니까?

青灯夜游
青灯夜游원래의
2022-11-28 19:43:4121033검색

nosql 기능: 1. 유연한 확장성; nosql은 관계형 데이터베이스의 관계형 특성을 제거하고 데이터 간의 관계가 없으며 쉽게 확장할 수 있습니다. 2. 유연한 데이터 모델: NoSQL은 키/값 및 열 패밀리와 같은 비관계형 모델을 사용하여 다양한 유형의 데이터를 하나의 데이터 요소에 저장할 수 있습니다. 3. NoSQL은 우수한 수평 확장 기능을 활용하여 클라우드 컴퓨팅 인프라를 최대한 활용하고 클라우드 컴퓨팅 환경에 원활하게 통합할 수 있습니다. 4. Nosql은 특히 대용량 데이터를 처리할 때 읽기 및 쓰기 성능이 매우 높습니다. 5. 고가용성.

nosql 데이터베이스의 특징은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

NoSQL 소개

NoSQL은 관계형 데이터베이스와는 다른 데이터베이스 관리 시스템 설계 방식으로, 그가 사용하는 데이터 모델은 관계형 데이터베이스가 아닙니다. 오히려 전통적인 관계형 데이터베이스는 키/값, 열 패밀리, 문서 등과 같은 비관계형 모델입니다. NoSQL 데이터베이스에는 고정된 테이블 구조가 없고 일반적으로 조인 작업이 없으며 ACID 제약 조건을 엄격하게 준수하지 않습니다. 따라서 관계형 데이터베이스에 비해 NoSQL은 유연한 수평 확장성을 가지며 대용량 데이터 저장을 지원할 수 있습니다.

ACID란 무엇인가요?

  • 트랜잭션의 원자성(원자성): 은 트랜잭션이 완전히 실행되었는지 여부를 의미합니다. 처형, 즉 트랜잭션은 중간에만 실행된 후 중지될 수 없습니다. 예를 들어 ATM에서 돈을 인출하는 경우 이 거래는 1카드를 긁고, 2돈을 지불하는 두 단계로 나눌 수 있습니다. 카드를 긁는 것은 불가능하지만 돈은 나오지 않습니다. 이 두 단계는 동시에 완료되거나 전혀 완료되지 않아야 합니다.
  • 거래의 일관성(일관성): 은 거래 실행이 데이터베이스에 있는 데이터의 일관성을 변경하지 않는다는 것을 의미합니다. 예를 들어 무결성 제약 조건 a+b=10, 트랜잭션이 변경되면 a, b도 이에 따라 변경되어야 합니다.
  • Independent(Isolation): 트랜잭션의 독립성을 격리라고도 하며, 이는 두 개 이상의 트랜잭션이 인터리브 방식으로 실행되지 않음을 의미합니다. 데이터 불일치가 발생할 수 있기 때문입니다.
  • Durability(Durability): 트랜잭션의 내구성이란 트랜잭션이 성공적으로 실행된 후 트랜잭션으로 인해 데이터베이스에 대한 변경 사항이 데이터베이스에 영구적으로 저장된다는 의미입니다. . 이유 없이 롤백 불가
NoSQL 데이터베이스의 특징

(1) 유연한 확장성

자체 디자인 메커니즘으로 인해 , 일반적으로 "수평적 확장"을 달성하기 어렵습니다. 데이터베이스 부하가 대규모로 증가할 경우 "수직적 확장"을 달성하기 위해 하드웨어를 업그레이드해야 하는 경우가 많습니다.

NoSQL 데이터베이스는 원래 "수평 확장"의 요구 사항을 충족하도록 설계되었으므로 본질적으로 우수한 수평 확장 기능을 갖추고 있습니다.

(2)유연한 데이터 모델

관계형 데이터베이스는 표준화된 정의를 가지며 다양한 엄격한 제약 조건을 준수합니다. 이 접근 방식은 비즈니스 시스템의 데이터 일관성 요구 사항을 보장하지만 지나치게 엄격한 데이터 모델은 새로운 다양한 비즈니스 요구 사항을 충족할 수 없음을 의미합니다. 이와 대조적으로 NoSQL 데이터베이스는 키/값, 열 패밀리 등과 같은 비관계형 모델을 사용하므로 다양한 유형의 데이터를 하나의 데이터 요소에 저장할 수 있습니다.

(3)은 클라우드 컴퓨팅과 긴밀하게 통합됩니다.

클라우드 컴퓨팅은 수평적 확장 능력이 뛰어나 리소스 사용량에 따라 자유롭게 확장할 수 있으며 다양한 리소스를 동적으로 확장할 수 있습니다. 추가하거나 종료할 때 NoSQL 데이터베이스는 우수한 수평 확장 기능을 활용하여 클라우드 컴퓨팅 인프라를 최대한 활용하고, 사람들을 클라우드 컴퓨팅 환경에 통합하고, NoSQL 기반 클라우드 데이터베이스 서비스를 구축할 수 있습니다.

(4) 대용량 데이터 볼륨, 고성능

nosql 데이터베이스는 읽기 및 쓰기 성능이 매우 높으며, 특히 대용량 데이터 볼륨에서 성능도 매우 좋습니다. 주로 비관계, 구조 데이터베이스는 간단합니다.

보통 nosql은 쿼리 캐시를 사용합니다.

NoSQL의 캐시는 레코드 수준의 세분화된 캐시이므로 이러한 측면에서 NoSQL의 성능이 훨씬 높습니다.

(5) 고가용성

고가용성 역시 nosql의 분명한 특징입니다. Nosql은 성능에 영향을 주지 않고 쉽게 고가용성 아키텍처를 구현할 수 있습니다. 일반적인 예로는 Cassandra, HBase 모델 등을 통해서도 고가용성을 달성할 수 있습니다. 모델.

NoSQL이 등장한 이유

1, 관계형 데이터베이스는 더 이상 Web2.0의 요구 사항을 충족할 수 없습니다. 주로 다음과 같은 측면에서 나타납니다.

  • (1)은 대용량 데이터의 관리 요구를 충족할 수 없습니다.

  • 웹사이트, 곧 가능해

    10억개 이상의 레코드를 생성하는 관계형 데이터베이스의 경우 10억개 레코드가 있는 테이블에서 SQL 쿼리를 수행하는 것은 매우 비효율적입니다.

  • (2)은 높은 데이터 동시성 요구를 충족할 수 없습니다

  • ( 3) 높은 확장성을 충족할 수 없음 및 고가용성 요구 사항

2,

관계형 데이터베이스의 주요 기능은 Web 2.0era에서 "무미미"해졌습니다.

관계형 데이터베이스의 주요 기능에는 완전한 트랜잭션 메커니즘과 효율적인 쿼리 메커니즘. 그러나 관계형 데이터베이스가 자랑하는 두 가지 주요 기능은

Web2.0 시대에 주로 다음과 같은 측면에서 쓸모가 없게 되었습니다.

(1) Web 2.0 웹 사이트 시스템은 일반적으로 엄격한 데이터베이스를 사용하지 않습니다. 트랜잭션

많은 Web 2.0 웹사이트에서 데이터베이스 트랜잭션은 더 이상 중요하지 않습니다. 데이터베이스 트랜잭션에는 일반적으로 데이터베이스 일관성을 보장하기 위한 복잡한 구현 메커니즘이 있으며, 이는 많은 시스템 오버헤드를 필요로 합니다. 빈번한 실시간 읽기 및 쓰기 요청이 많이 포함된 Web 2.0 웹 사이트의 경우 트랜잭션 구현 비용은 감당할 수 없을 정도입니다.

(2)

Web 2.0에는 엄격한 실시간 읽기 및 쓰기가 필요하지 않습니다

관계형 데이터베이스의 경우 데이터 레코드가 데이터베이스에 성공적으로 삽입되면 즉시 쿼리할 수 있습니다.

Web 2.0의 경우 실시간 읽기 및 쓰기 요구 사항이 없습니다.

(3) Web 2.0에는 일반적으로 복잡한 SQL 쿼리가 많이 포함되어 있지 않습니다.

복잡한 SQL 쿼리에는 일반적으로 다중 테이블 조인 작업이 포함됩니다. 그러나 Web 2.0 웹사이트는 이러한 작업을 최소화하거나 방지하도록 설계되었으며 일반적으로 단일 테이블의 기본 키 쿼리만 사용하므로 관계형 데이터베이스의 쿼리 최적화 메커니즘은 Web 2.0에서 차이를 만들 수 없습니다.

NoSQL과 관계형 데이터베이스의 비교

RDBMS: 관계형 데이터베이스

nosql 데이터베이스의 특징은 무엇입니까?

nosql 데이터베이스의 특징은 무엇입니까?

nosql 데이터베이스의 특징은 무엇입니까?

NoSQL과 관계형의 비교 데이터베이스 요약:

( 1) 관계형 데이터베이스 Aadvantages : 완전한 관계 대수 이론을 기반으로하며 엄격한 표준을 가지며 거래를 지원하며 다음과 같이 실현할 수 있습니다. 인덱스 메커니즘의 도움 효율적인 쿼리

, 성숙한 기술, 전문 기업의 기술 지원 단점 : 확장성이 좋지 않음, 대용량 데이터 저장을 더 잘 지원할 수 없음, 데이터 모델이 너무 경직되어 지원될 수 없음 음 Web2.0응용 프로그램, 트랜잭션 메커니즘은 시스템 등의 전반적인 성능에 영향을 미칩니다.

(2)

NoSQL 데이터베이스 장점 : 대규모 데이터 저장을 지원할 수 있고, 유연한 데이터 모델이 Web2.0 애플리케이션을 잘 지원할 수 있으며, 강력한 수평 확장 기능 등을 갖습니다.

단점 : 수학적 이론 기초가 부족하고, 복잡한 쿼리의 성능이 높지 않고, 대부분 강력한 트랜잭션 일관성을 달성할 수 없으며, 데이터 무결성을 달성하기 어렵고, 기술이 아직 성숙하지 않고, 전문가의 기술 지원이 부족합니다. (3) 관계형 데이터베이스와

NoSQL

데이터베이스는 각각 장단점이 있어 서로 대체할 수 없습니다관계형 데이터베이스 응용 시나리오

: 통신, 은행 및 기타 분야의 핵심 비즈니스 시스템은 강력한 거래 일관성을 보장해야 합니다NoSQL데이터베이스 적용 시나리오: 인터넷 기업 및 전통 기업의 중요하지 않은 비즈니스(예: 데이터 분석)

하이브리드 아키텍처 채택

  • 사례: Amazon은 전자상거래 애플리케이션을 지원하기 위해 다양한 유형의 데이터베이스를 사용합니다.
  • "장바구니"와 같은 임시 데이터의 경우 키-값 저장소를 사용하는 것이 더 효율적입니다.
  • 현재 제품 및 주문 정보는 관계형 데이터베이스에 저장하기에 적합합니다

NoSQL의 네 가지 주요 유형

NoSQL데이터베이스는 많지만 요약하자면 일반적인 NoSQL 데이터베이스에는 일반적으로 키가 포함됩니다. 데이터베이스 , 열 패밀리 데이터베이스 , 문서 데이터베이스 그래프 데이터베이스

1. 키-값 데이터베이스

-값 데이터베이스(키-값 데이터베이스 ) 테이블에는 특정 키와 특정 값을 가리키는 포인터가 있습니다. 키는 값을 찾는 데, 즉 특정 값을 저장하고 검색하는 데 사용될 수 있습니다. 값은 투명하고 데이터베이스에 표시되지 않습니다. 값은 인덱싱하거나 쿼리할 수 없으며 키를 통해서만 쿼리할 수 있습니다. 값은 정수, 문자, 배열, 객체 등을 포함한 모든 유형의 데이터를 저장하는 데 사용할 수 있습니다.

애플리케이션 시나리오: 세션 지향 애플리케이션(예: 애플리케이션)은 사용자가 로그인할 때 세션을 시작하고 사용자가 로그아웃하거나 세션 시간이 초과될 때까지 활성 상태를 유지합니다. 이 시간 동안 애플리케이션은 모든 세션 관련 데이터를 주 메모리나 데이터베이스에 저장합니다. 세션 데이터에는 사용자 프로필 정보, 메시지, 개인화 데이터 및 테마, 제안, 타겟 프로모션 및 할인이 포함될 수 있습니다. 각 사용자 세션에는 고유한 식별자가 있습니다. 세션 데이터는 기본 키 이외의 키에 대해 쿼리할 수 없으므로 빠른 키-값 저장소가 세션 데이터에 더 적합합니다. 일반적으로 키-값 데이터베이스는 관계형 데이터베이스보다 페이지당 오버헤드가 더 적습니다.

nosql 데이터베이스의 특징은 무엇입니까?

2. 컬럼 패밀리 데이터베이스

nosql 데이터베이스의 특징은 무엇입니까?

3. 문서 데이터베이스

nosql 데이터베이스의 특징은 무엇입니까?

4. 그래프 데이터베이스

nosql 데이터베이스의 특징은 무엇입니까?

5. 다양한 유형의 데이터베이스 비교 분석

nosql 데이터베이스의 특징은 무엇입니까?

  • MySQL: 은 더 일찍 생산되었으며 LAMP 트렌드에 맞춰 성숙해졌습니다. 큰 개선 사항은 없지만 신흥 인터넷에서 가장 많이 사용되는 데이터베이스
  • MongoDB: 는 더 유연한 데이터 모델, 비동기 제출, 지리적 위치 색인 등을 제공하는 새로운 것입니다. 기능
  • HBase: 는 "다른 사람을 괴롭히는" 코끼리 병사입니다. Hadoop의 생태학적 환경에 의존하여 좋은 확장성을 가질 수 있습니다. 하지만 코끼리 병사처럼 사용자는 코끼리를 키워야 합니다(Hadoop), 그를 몰기 위해
  • Redis: 은 가장 간단한 기능을 가진 키-값 저장소의 대표입니다. 임의의 데이터 저장소를 제공합니다. 막대기처럼 추가 구조가 없습니다. 하지만 바로 이 때문에 확장성이 특히 좋습니다. 오공의 손에 있는 황금 몽둥이처럼 큰 것은 하늘을 깨뜨릴 수 있고 작은 것은 바늘로 줄어들 수 있습니다. ):
일관성이란 모든 읽기 작업이 항상 이전에 완료된 쓰기 작업의 결과를 읽을 수 있음을 의미합니다. 즉, 분산 환경에서는 여러 지점의 데이터가 일관성이 있습니다

. 즉, 모든 노드가 같은 데이터를 동시에

A:

(Availability

):
  • 가용성이란 데이터를 빠르게 획득하고 특정 시간 내에 작업 결과를 반환할 수 있는 능력을 말합니다. 시간 , 성공 또는 실패에 관계없이 모든 요청이 응답되도록 보장 P (네트워크 파티션 허용):
  • 파티션 허용 오차는 네트워크 분할 발생 시 시스템 분리(즉, 시스템의 일부 노드가 다른 노드와 통신할 수 없음) 또한 정상적으로 작동할 수 있습니다, 즉 시스템의 모든 정보가 손실되거나 장애가 발생하면 시스템의 지속적인 작동에 영향을 미치지 않습니다. CAP 이론에 따르면 분산 시스템은 일관성, 가용성 및 파티션 허용성의 세 가지 요구 사항을 동시에 충족할 수 없습니다. "케이크를 먹으면서 둘 다 먹을 수는 없습니다." CAP
  • 을 다룰 때 몇 가지 확실한 선택이 있습니다.
    • CA: 즉, 일관성(C)과 가용성(A)을 강조하고, 파티션 허용 오차(P)를 포기하는 것이 가장 간단한 방법입니다. 거래 관련 콘텐츠는 동일한 머신에 배치됩니다. 분명히 이 접근 방식은 시스템의 확장성에 심각한 영향을 미칠 것입니다. 기존 관계형 데이터베이스(MySQL, SQL ServerPostgreSQL)는 모두 이 설계 원칙을 채택하므로 확장성이 상대적으로 낮습니다

    • CP : 즉, 일관성(C) 및 파티션 허용성(P) 강조, 가용성 포기(A), 네트워크 파티션 발생 시 영향을 받는 서비스는 대기해야 함 데이터가 일관성이 있으므로 서비스 대기시간 동안 외부에 제공할 수 없습니다

    • AP : 즉, 가용성(A)과 파티션 허용성(P)을 강조하고, 일관성을 포기합니다( C), 시스템이 일관되지 않은 데이터를 반환하도록 허용

    BASE

    앞서 ACID를 언급했는데, 이제 BASE(기본적으로 Availble, Soft-state, E최종 일관성)

    ACID

    BASE

    원자성(A원자성)

    기본적으로 사용 가능(B 기본적으로 A가능)

    일관성(C지속성)

    소프트 상태/유연성 Soft 상태)

    격리(I격리)

    최종 일관성(E 최종 일관성)

    기본 지속성의 의미(Durable)


    BASE은 기본적으로 가능합니다(B 정말 Availble ) , 소프트 상태(Soft-state) 및 최종 일관성(Eventual Consistency):

    기본적으로 사용 가능

    기본적으로 사용 가능하다는 뜻입니다. 분산 시스템의 일부에 문제가 생겨 사용할 수 없게 되어도 다른 부분은 정상적으로 사용할 수 있는데, 이는 소프트 상태

    상태)'에 해당하는 공식입니다. "하드 상태(
    하드 상태

    )". 데이터베이스에 저장된 데이터가 "하드 상태"이면 데이터 일관성이 보장될 수 있습니다. 즉, 데이터가 항상 정확합니다. "소프트 상태"는 특정 히스테리시스로 상태가 일정 기간 동안 동기화되지 않을 수 있음을 의미합니다. 최종 일관성

    일관성 유형에는 강한 일관성과 약한 일관성이 포함됩니다. 두 가지는 동시에 발생하는 데이터 액세스 작업에서 후속 작업이 최신 데이터를 얻을 수 있는지 여부에 따라 달라집니다. 강력한 일관성의 경우 업데이트 작업이 수행된 후 다른 후속 읽기 작업을 통해 최신 업데이트된 데이터를 읽을 수 있습니다. 반대로 후속 액세스에서 최신 업데이트된 데이터를 읽는다는 것이 보장되지 않으면 약한 일관성입니다. 최종 일관성은 후속 액세스 작업에서 일시적으로 업데이트된 데이터를 읽을 수 없지만 일정 시간이 지나면 업데이트된 데이터를 결국 읽어야 하는 약한 일관성의 특수한 경우입니다.

    더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 교육을 방문하세요! !

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

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