nosql 기능: 1. 유연한 확장성; nosql은 관계형 데이터베이스의 관계형 특성을 제거하고 데이터 간의 관계가 없으며 쉽게 확장할 수 있습니다. 2. 유연한 데이터 모델: NoSQL은 키/값 및 열 패밀리와 같은 비관계형 모델을 사용하여 다양한 유형의 데이터를 하나의 데이터 요소에 저장할 수 있습니다. 3. NoSQL은 우수한 수평 확장 기능을 활용하여 클라우드 컴퓨팅 인프라를 최대한 활용하고 클라우드 컴퓨팅 환경에 원활하게 통합할 수 있습니다. 4. Nosql은 특히 대용량 데이터를 처리할 때 읽기 및 쓰기 성능이 매우 높습니다. 5. 고가용성.
이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.
NoSQL은 관계형 데이터베이스와는 다른 데이터베이스 관리 시스템 설계 방식으로, 그가 사용하는 데이터 모델은 관계형 데이터베이스가 아닙니다. 오히려 전통적인 관계형 데이터베이스는 키/값, 열 패밀리, 문서 등과 같은 비관계형 모델입니다. NoSQL 데이터베이스에는 고정된 테이블 구조가 없고 일반적으로 조인 작업이 없으며 ACID 제약 조건을 엄격하게 준수하지 않습니다. 따라서 관계형 데이터베이스에 비해 NoSQL은 유연한 수평 확장성을 가지며 대용량 데이터 저장을 지원할 수 있습니다.
ACID란 무엇인가요?
(1) 유연한 확장성
자체 디자인 메커니즘으로 인해 , 일반적으로 "수평적 확장"을 달성하기 어렵습니다. 데이터베이스 부하가 대규모로 증가할 경우 "수직적 확장"을 달성하기 위해 하드웨어를 업그레이드해야 하는 경우가 많습니다.NoSQL 데이터베이스는 원래 "수평 확장"의 요구 사항을 충족하도록 설계되었으므로 본질적으로 우수한 수평 확장 기능을 갖추고 있습니다.
(2)유연한 데이터 모델 관계형 데이터베이스는 표준화된 정의를 가지며 다양한 엄격한 제약 조건을 준수합니다. 이 접근 방식은 비즈니스 시스템의 데이터 일관성 요구 사항을 보장하지만 지나치게 엄격한 데이터 모델은 새로운 다양한 비즈니스 요구 사항을 충족할 수 없음을 의미합니다. 이와 대조적으로 NoSQL 데이터베이스는 키/값, 열 패밀리 등과 같은 비관계형 모델을 사용하므로 다양한 유형의 데이터를 하나의 데이터 요소에 저장할 수 있습니다. (3)은 클라우드 컴퓨팅과 긴밀하게 통합됩니다. 클라우드 컴퓨팅은 수평적 확장 능력이 뛰어나 리소스 사용량에 따라 자유롭게 확장할 수 있으며 다양한 리소스를 동적으로 확장할 수 있습니다. 추가하거나 종료할 때 NoSQL 데이터베이스는 우수한 수평 확장 기능을 활용하여 클라우드 컴퓨팅 인프라를 최대한 활용하고, 사람들을 클라우드 컴퓨팅 환경에 통합하고, NoSQL 기반 클라우드 데이터베이스 서비스를 구축할 수 있습니다. (4) 대용량 데이터 볼륨, 고성능 nosql 데이터베이스는 읽기 및 쓰기 성능이 매우 높으며, 특히 대용량 데이터 볼륨에서 성능도 매우 좋습니다. 주로 비관계, 구조 데이터베이스는 간단합니다. 보통 nosql은 쿼리 캐시를 사용합니다. NoSQL의 캐시는 레코드 수준의 세분화된 캐시이므로 이러한 측면에서 NoSQL의 성능이 훨씬 높습니다. (5) 고가용성 고가용성 역시 nosql의 분명한 특징입니다. Nosql은 성능에 영향을 주지 않고 쉽게 고가용성 아키텍처를 구현할 수 있습니다. 일반적인 예로는 Cassandra, HBase 모델 등을 통해서도 고가용성을 달성할 수 있습니다. 모델. 1, 관계형 데이터베이스는 더 이상 Web2.0의 요구 사항을 충족할 수 없습니다. 주로 다음과 같은 측면에서 나타납니다. (1)은 대용량 데이터의 관리 요구를 충족할 수 없습니다. 10억개 이상의 레코드를 생성하는 관계형 데이터베이스의 경우 10억개 레코드가 있는 테이블에서 SQL 쿼리를 수행하는 것은 매우 비효율적입니다. (2)은 높은 데이터 동시성 요구를 충족할 수 없습니다 ( 3) 높은 확장성을 충족할 수 없음 및 고가용성 요구 사항 관계형 데이터베이스의 주요 기능은 Web 2.0era에서 "무미미"해졌습니다. Web2.0 시대에 주로 다음과 같은 측면에서 쓸모가 없게 되었습니다. (1) Web 2.0 웹 사이트 시스템은 일반적으로 엄격한 데이터베이스를 사용하지 않습니다. 트랜잭션 (2) Web 2.0에는 엄격한 실시간 읽기 및 쓰기가 필요하지 않습니다 관계형 데이터베이스의 경우 데이터 레코드가 데이터베이스에 성공적으로 삽입되면 즉시 쿼리할 수 있습니다. Web 2.0의 경우 실시간 읽기 및 쓰기 요구 사항이 없습니다. (3) Web 2.0에는 일반적으로 복잡한 SQL 쿼리가 많이 포함되어 있지 않습니다. 복잡한 SQL 쿼리에는 일반적으로 다중 테이블 조인 작업이 포함됩니다. 그러나 Web 2.0 웹사이트는 이러한 작업을 최소화하거나 방지하도록 설계되었으며 일반적으로 단일 테이블의 기본 키 쿼리만 사용하므로 관계형 데이터베이스의 쿼리 최적화 메커니즘은 Web 2.0에서 차이를 만들 수 없습니다. RDBMS: 관계형 데이터베이스 NoSQL과 관계형의 비교 데이터베이스 요약: ( 1) 관계형 데이터베이스 Aadvantages : 완전한 관계 대수 이론을 기반으로하며 엄격한 표준을 가지며 거래를 지원하며 다음과 같이 실현할 수 있습니다. 인덱스 메커니즘의 도움 효율적인 쿼리 , 성숙한 기술, 전문 기업의 기술 지원 단점 : 확장성이 좋지 않음, 대용량 데이터 저장을 더 잘 지원할 수 없음, 데이터 모델이 너무 경직되어 지원될 수 없음 음 Web2.0응용 프로그램, 트랜잭션 메커니즘은 시스템 등의 전반적인 성능에 영향을 미칩니다. (2) NoSQL 데이터베이스 장점 : 대규모 데이터 저장을 지원할 수 있고, 유연한 데이터 모델이 Web2.0 애플리케이션을 잘 지원할 수 있으며, 강력한 수평 확장 기능 등을 갖습니다. 단점 : 수학적 이론 기초가 부족하고, 복잡한 쿼리의 성능이 높지 않고, 대부분 강력한 트랜잭션 일관성을 달성할 수 없으며, 데이터 무결성을 달성하기 어렵고, 기술이 아직 성숙하지 않고, 전문가의 기술 지원이 부족합니다. (3) 관계형 데이터베이스와 데이터베이스는 각각 장단점이 있어 서로 대체할 수 없습니다관계형 데이터베이스 응용 시나리오 : 통신, 은행 및 기타 분야의 핵심 비즈니스 시스템은 강력한 거래 일관성을 보장해야 합니다NoSQL데이터베이스 적용 시나리오: 인터넷 기업 및 전통 기업의 중요하지 않은 비즈니스(예: 데이터 분석) 하이브리드 아키텍처 채택 NoSQL데이터베이스는 많지만 요약하자면 일반적인 NoSQL 데이터베이스에는 일반적으로 키가 포함됩니다. 데이터베이스 , 열 패밀리 데이터베이스 , 문서 데이터베이스 및 그래프 데이터베이스 1. 키-값 데이터베이스 -값 데이터베이스(키-값 데이터베이스 ) 테이블에는 특정 키와 특정 값을 가리키는 포인터가 있습니다. 키는 값을 찾는 데, 즉 특정 값을 저장하고 검색하는 데 사용될 수 있습니다. 값은 투명하고 데이터베이스에 표시되지 않습니다. 값은 인덱싱하거나 쿼리할 수 없으며 키를 통해서만 쿼리할 수 있습니다. 값은 정수, 문자, 배열, 객체 등을 포함한 모든 유형의 데이터를 저장하는 데 사용할 수 있습니다. 애플리케이션 시나리오: 세션 지향 애플리케이션(예: 웹 애플리케이션)은 사용자가 로그인할 때 세션을 시작하고 사용자가 로그아웃하거나 세션 시간이 초과될 때까지 활성 상태를 유지합니다. 이 시간 동안 애플리케이션은 모든 세션 관련 데이터를 주 메모리나 데이터베이스에 저장합니다. 세션 데이터에는 사용자 프로필 정보, 메시지, 개인화 데이터 및 테마, 제안, 타겟 프로모션 및 할인이 포함될 수 있습니다. 각 사용자 세션에는 고유한 식별자가 있습니다. 세션 데이터는 기본 키 이외의 키에 대해 쿼리할 수 없으므로 빠른 키-값 저장소가 세션 데이터에 더 적합합니다. 일반적으로 키-값 데이터베이스는 관계형 데이터베이스보다 페이지당 오버헤드가 더 적습니다. 2. 컬럼 패밀리 데이터베이스 3. 문서 데이터베이스 4. 그래프 데이터베이스 5. 다양한 유형의 데이터베이스 비교 분석 A: (Availability CA: 즉, 일관성(C)과 가용성(A)을 강조하고, 파티션 허용 오차(P)를 포기하는 것이 가장 간단한 방법입니다. 거래 관련 콘텐츠는 동일한 머신에 배치됩니다. 분명히 이 접근 방식은 시스템의 확장성에 심각한 영향을 미칠 것입니다. 기존 관계형 데이터베이스(MySQL, SQL Server 및 PostgreSQL)는 모두 이 설계 원칙을 채택하므로 확장성이 상대적으로 낮습니다 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이 등장한 이유
2, NoSQL과 관계형 데이터베이스의 비교
NoSQL의 네 가지 주요 유형
일관성이란 모든 읽기 작업이 항상 이전에 완료된 쓰기 작업의 결과를 읽을 수 있음을 의미합니다. 즉, 분산 환경에서는 여러 지점의 데이터가 일관성이 있습니다. 즉, 모든 노드가 같은 데이터를 동시에
위 내용은 nosql 데이터베이스의 특징은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!