제퍼넷 로고

초보자를위한 NoSQL

시간

초보자를위한 NoSQL

NoSQL은 데이터 과학 및 분석에 들어가는 사람들에게 이점을 제공 할뿐만 아니라 기존 SQL 데이터베이스로는 충족되지 않는 고성능 요구 사항이있는 애플리케이션을 보유하고 있습니다.


By 알렉스 윌리엄스, 호스팅 데이터 영국

NoSQL이란 무엇입니까?

 
NoSQL은 본질적으로 SQL의 견고한 구조에 대한 응답입니다. 1970 년대 초에 처음 생성 된 NoSQL은 2000 년대 후반 Amazon과 Google이 모두 많은 연구와 개발을 수행 할 때까지 실제로 시작되지 않았습니다. 그 이후로 전 세계의 많은 대형 웹 사이트에서 어떤 형태의 NoSQL을 사용하는 현대 세계의 필수 부분으로 자리 잡았습니다.

그렇다면 NoSQL은 정확히 무엇입니까? 기본적으로 데이터베이스를 만드는 철학입니다. 지원 스키마가 필요 ...도 아니다 관계형 모델에 데이터를 저장합니까? 실제로 NoSQL에는 다양한 NoSQL 데이터베이스 각각 고유 한 전문화 및 사용 사례가 있습니다. 따라서 NoSQL은 틈새 시장을 채울 때 엄청나게 다양하며 필요에 맞는 NoSQL 데이터 모델을 거의 확실히 찾을 수 있습니다.

영상

SQL과 NoSQL의 차이점

 
SQL 동안 is 특정 데이터베이스와 언어, NoSQL은 그렇지 않습니다. 그렇다고해서 둘 사이의 일반적인 철학과 차이점을 볼 수 없다는 의미는 아닙니다.

확장성

 
SQL의 경우 실제 확장 할 수있는 유일한 방법은 수직으로 업그레이드하는 것입니다. 즉, 더 나은 성능을 원한다면 이미 가지고있는 것보다 더 비싼 고급 장비를 구입해야합니다. NoSQL로 확장 수평 확장을 통해 이루어 지므로 실제로 필요한 것은 다른 샤드를 던지기 만하면 기본적으로 완료됩니다.

즉, NoSQL은 하드웨어가 상당한 장애물이 될 수있는 미래에 성장할 가능성이있는 애플리케이션에 절대적으로 적합합니다.

개요

 
SQL은 근본적으로 데이터 중복을 방지하기 위해 처음부터 구축되었습니다. 이는 궁극적으로 모든 SQL 프로젝트를 구현하기 전에 스키마에 오랜 시간을 투자하는 전문 디자이너가 필요함을 의미합니다. 이 단계는 장기적으로 중요한 것은 아닙니다. 데이터 품질, 그것은 또한 상당히 비쌀 수 있습니다.

반면 NoSQL은 스키마가 필요하지 않기 때문에 초기 설계 단계의 비용과 시간을 피할 수 있습니다. 또한 스키마가 없다는 것은 대부분의 NoSQL 데이터베이스가 매우 유연하여 데이터 유형과 모델을 변경하거나 혼합 할 수 있음을 의미합니다. 이를 통해 데이터베이스를 훨씬 쉽게 관리하고 처리 할 수 ​​있습니다.

퍼포먼스

 
SQL을 사용하면 데이터를 쿼리 할 때 여러 테이블에서 수행해야하는 경향이 있습니다. NoSQL을 사용하면 모든 데이터가 하나의 테이블에 포함되므로 쿼리가 훨씬 쉽습니다. 이것은 만드는 부작용이 있습니다 훨씬 더 나은 NoSQL 고성능 작업을 처리합니다. 예를 들어 Amazon DB는 초당 수백만 개의 쿼리를 수행 할 수 있으며 이는 Amazon과 같은 글로벌 스토어에 매우 유용합니다.

고객 지원

 
NoSQL과 관련하여 정말 큰 단점은 SQL만큼 확립되어 있지 않다는 것입니다. SQL은 수십 년의 가치가 있으며 이러한 성숙도는 정보를 쉽게 찾을 수 있음을 보여줍니다. 마찬가지로 SQL에 대한 전문가를 찾는 것이 NoSQL에 대한 전문가를 찾는 것보다 훨씬 쉽습니다.

마지막으로, NoSQL은 단일 데이터베이스 나 언어가 아니라 수십 개의 데이터 모델이 아니기 때문에이 세분화는 잠재적 인 전문 지식을 더욱 분할하고 NoSQL을 전문화의 문제로 만듭니다. 따라서 정보 및 지원에 대한 의존은 대부분 소규모 커뮤니티에 포함됩니다.

NoSQL 데이터베이스 유형

 
사용할 수있는 NoSQL 데이터 모델은 XNUMX 개가 넘지 만 여기서는 다음과 같은 XNUMX 가지 주요 모델을 다룰 것입니다. NoSQL 데이터베이스 이해.

영상

문서 저장소

이 유형의 데이터 모델을 사용하면 정보를 모든 유형의 데이터로 저장할 수 있습니다. 이것은 XML과 JSON에 크게 의존하고 본질적으로 두 가지를 함께 묶고 모든 쿼리를 비효율적으로 (또는 덜 효율적으로) 만들 수있는 SQL과는 대조적입니다. NoSQL은 스키마를 사용하지 않기 때문에 관계형 데이터 저장소가 필요하지 않으며이 두 가지를 함께 연결할 필요가 없습니다.

실제로 해당 경로로 이동하려는 경우 XML에 특정한 NoSQL 데이터 모델이 있습니다.

 
그래프

그래프 또는 네트워크 데이터 모델은 데이터 간의 관계가 데이터 자체만큼 중요하다는 개념을 바탕으로 구축됩니다. 이 데이터 모델에서 정보는 관계 및 노드로 저장되며 노드는 데이터를 보유하고 관계는 노드 집합 간의 관계를 설명합니다.

이름에서 알 수 있듯이 그래프에 정보를 표시하는 데 사용할 수있는 훌륭한 데이터 모델입니다. 서로 다른 데이터 세트에서 정보를 신속하게 시각화하는 기능은 특히 서로 관련하여 수백 페이지의 데이터를 쏟아 낼 필요없이 엄청난 양의 통찰력을 제공 할 수 있습니다.

 
키-값 저장소

이름에서 알 수 있듯이이 데이터 모델은 특정 값에 대한 키와 포인터를 사용하여 정보를 저장합니다. 키와 값 모두 원하는 데이터가 될 수 있으므로 키-값 저장소 데이터 모델은 매우 다양합니다. 어레이 검색, 저장 및 관리를 목적으로하며 대용량 애플리케이션에 적합합니다.

실제로 Amazon DB는 키-값 저장소 데이터 모델이며이 데이터 모델 유형은 Amazon 자체에서 개척되었습니다. 키-값 저장소는 다른 데이터 모델이 존재하는 일반적인 범주이기도하며 일부 유형의 그래프 데이터 모델은 본질적으로 키-값처럼 작동합니다.

 
컬럼 지향

SQL은 전통적으로 데이터를 행에 저장하는 반면 열 지향은 데이터를 열에 저장합니다. 그런 다음 이들은 거의 무한한 양의 열을 보유 할 수있는 패밀리로 그룹화됩니다. 쓰기와 읽기도 열로 수행되므로 전체 시스템이 정말 효율적이며 빠른 검색 및 액세스와 데이터 집계를 위해 만들어졌습니다.

즉, 복잡한 쿼리에는 그다지 좋지 않습니다.

결론

 
기억해야 할 한 가지는 NoSQL이 SQL을 보완하기위한 것보다 SQL을 대체하는 것이 아니라는 것입니다. NoSQL 자체는 대부분 특수 데이터베이스를 사용합니다. SQL에서 누락 된 공백을 메우기 위해, 선택하면 SQL 없이는 절대적으로 갈 수 있지만 NoSQL은 배제하다 그것의 사용. 때로는 SQL과 NoSQL을 모두 사용하는 자신을 아주 잘 찾을 수 있습니다.

 
바이오 : 알렉스 윌리엄스 노련한 풀 스택 개발자이자 호스팅 데이터 영국. 런던 대학교에서 IT를 전공 한 후 Alex는 거의 10 년 동안 전 세계 고객을위한 다양한 프로젝트를 주도하는 개발자로 일했습니다. 최근 Alex는 독립 IT 컨설턴트로 전환하여 자신의 블로그를 시작했습니다. 그곳에서 그는 막 시작한 온라인 비즈니스 소유자를위한 웹 개발, 데이터 관리, 디지털 마케팅 및 솔루션을 탐구합니다.

관련 :

출처 : https://www.kdnuggets.com/2020/12/nosql-beginners.html

spot_img

최신 인텔리전스

spot_img

우리와 함께 채팅

안녕하세요! 어떻게 도와 드릴까요?