NoSQL 101

작가: Judy Howell
창조 날짜: 26 칠월 2021
업데이트 날짜: 21 6 월 2024
Anonim
How do NoSQL databases work? Simply Explained!
동영상: How do NoSQL databases work? Simply Explained!

콘텐츠


테이크 아웃 :

비 관계형 또는 NoSQL 데이터베이스는 저렴하고 융통성이 뛰어나며 관리가 덜 필요하며 확장 성이 뛰어나므로 데이터베이스 관리자에게 중요한 대안 모델이되었습니다.

수년 동안 관계형 데이터베이스는 데이터베이스 관리를 지배했습니다. 그러나 더 이상은 아닙니다. 오늘날 비 관계형 또는 NoSQL 데이터베이스는 데이터베이스 관리자를위한 중요한 대안 모델이되었습니다. 왜? 저렴하고 유연하며 관리가 적고 확장 성이 뛰어납니다 (빅 데이터의 성장에 따라 점점 중요 해지고 있음).

이처럼 늘어나는 데이터베이스 관리 형태를 소개합니다.

데이터베이스 관리에 대한 배경 지식

데이터베이스는 체계적인 형식의 데이터 레코드 모음입니다. 이 데이터를 저장, 액세스 및 조작하려면 구조가 필요합니다. 이 구조는 간단한 파일 시스템에서 정교한 데이터베이스 관리 시스템 (DBMS)에 이르기까지 모든 것이 될 수 있습니다. 둘 다 고유의 장단점이 있지만 DBMS는 일반적으로 다음과 같은 이유로 선호됩니다.

  • DBMS는 방대한 양의 데이터를 관리 할 수 ​​있습니다.
  • 파일 백업에서는 시스템 백업, 복구 및 데이터 복원 기능이 종종 지원되지 않습니다.
  • 중복 데이터는 DBMS에서 잘 관리되므로 메모리 오용을 방지합니다.
  • 데이터베이스에는 저장된 데이터의 상태와 무결성을 유지하기위한 보안 조치가 더 잘 갖추어 질 수 있습니다.
  • DBMS는 다중 사용자 액세스를 지원하고 동시성 문제를 처리합니다.
  • DBMS는 여러 계층의 추상화와 함께 여러 사용자보기를 제공합니다.
  • DBMS는 데이터 검색 및 업데이트시 핵심 ACID 속성을 유지 관리합니다.

대부분의 최신 데이터베이스 시스템은 관계형 데이터베이스 관리 시스템 (RDBMS)이며 데이터가 최소한의 중복으로 테이블에 상주합니다. 이름에서 알 수 있듯이 관계형 데이터베이스는 데이터 간의 관계를 설정하고 여러 가지 방법으로 데이터베이스에서 동일한 데이터를 추출하고 볼 수 있습니다. 그러나이 제어에는 비용이 듭니다. (배경 지식에 대한 자세한 내용은 데이터베이스 소개를 참조하십시오.)


NoSQL이란 무엇입니까?

NoSQL은 널리 사용되는 관계형 데이터베이스 관리 모델을 따르지 않는 데이터베이스 유형입니다. 다시 말해, NoSQL 데이터베이스는 주로 테이블을 기반으로 구축 된 것이 아니며 RDBMS와 달리 SQL을 사용하여 데이터를 조작하지 않으므로 이름입니다. NoSQL은 대체가 아닌 SQL에 대한 지원으로 작성되었습니다. 덜 엄격하고 기본적으로 고정 스키마를 따르지 않는 모델을 기반으로합니다. 또한 ACID 속성을 고수하지 않을 수 있으며 대부분의 RDBMS와 달리 JOIN과 같은 개념은 없습니다.

NoSQL에 대한 훌륭한 정의는 nosql-database.org에서 가져옵니다.

비 관계형, 분산 형, 오픈 소스 및 수평 확장 성이라는 다음과 같은 몇 가지 사항을 해결하는 차세대 데이터베이스. 원래 의도는 현대적인 웹 규모 데이터베이스였습니다. 스키마 프리, 쉬운 복제 지원, 간단한 API, 궁극적으로 일관된 / BASE (ACID 아님), 방대한 양의 데이터 등과 같은 더 많은 특성이 적용됩니다.

NoSQL의 역사와 뿌리

좀 더 혼란스럽게하기 위해 NoSQL이라는 RDBMS가 있습니다. 그것은 1990 년대에 뿌리를두고 Carl Strozzi에 의해 만들어졌습니다. 이것은 실제로 완전히 다릅니다. 관계형 시스템이지만 SQL 인터페이스가 없습니다. Strozzi는 현재 NoSQL로 알려진 것이 실제로는 "NoREL"또는 그 영향에 영향을 미쳤어 야한다고 언급했습니다.

버그 없음, 스트레스 없음-인생을 파괴하지 않고 인생을 바꾸는 소프트웨어를 만드는 단계별 가이드

아무도 소프트웨어 품질에 신경 쓰지 않으면 프로그래밍 기술을 향상시킬 수 없습니다.

우리가 염려하고있는 NoSQL의 현대적인 움직임은 Google, Amazon과 같은 IT 거대 기업을 중심으로하고 있으며, 대량의 데이터를 생산할 수있는 데이터베이스에 대한 요구가 있습니다. 물론 이것에 대한 유행어는 빅 데이터 (BigData)로 진화했으며, 그 중 NoSQL이 큰 부분입니다. (자세한 내용은 빅 데이터의 진화를 읽으십시오.)


2000 년대에, 특히 10 년 후반에 날짜에 대해 너무 구체적으로 언급하지 않고 거의 모든 주요 웹 회사가 BigTable, CouchDB, Amazon Dynamo, MongoDB와 같은 데이터베이스 관리 시스템을 사용하여 어떤 방식 으로든 NoSQL에 관여했습니다. , Cassandra와 Hadoop은 많은 다른 사람들 중에서도 여기에 기록이 있습니다. NoSQL의 이름을 시작한 것은 2009 년에 Eric Evans라는 이름으로 Rackspace 직원이 사용한 것이 었습니다. 그는 "오픈 소스, 분산, 비 관계형 데이터베이스"에 관한 모임을 위해 이름을 사용했습니다. 그 후, 이름이 막 막혔습니다.

NoSQL을 사용해야하는 이유

좋은 오래된 RDBMS가있을 때 왜 NoSQL을 사용합니까? 어떤 경우에는 RDBMS로는 충분하지 않지만 다른 경우에는 과잉입니다. 다음은 NoSQL을 더 나은 솔루션으로 만들 수있는 관계형 데이터베이스의 몇 가지 단점입니다.

  • 응용 프로그램은 데이터를 계층 적 네트워크 또는 트리 구조로 저장해야 할 수도 있습니다.
  • 애플리케이션의 요소를 지속적 스토리지에 일관되게 저장하려고하지만 RDBMS는 비용과 자원 측면에서 상당히 비쌀 수 있습니다.
  • NoSQL은 응용 프로그램 엔터티에 쿼리 기능이 필요한 경우에 가장 적합합니다.
  • 가용성 및 내구성을 위해 분산 데이터베이스 또는 클라우드 기반 애플리케이션에서 작업하는 경우 RDBMS가 실패 할 수 있습니다.
  • NoSQL은 기존 데이터를 보완하기 위해 엄격한 스키마 정의 나 메타 데이터 스토리지가 필요하지 않습니다.

이해해야 할 중요한 점은 방대한 양의 데이터와 데이터베이스 요구 방식의 변화로 인해 필요하다는 점입니다. 웹이 점점 더 사회화됨에 따라 웹은 단지 읽기가 아니라 쓰기 및 확장 방법에 관한 것이 었습니다. 이러한 경우 NoSQL은 기존 RDBMS보다 우수합니다.

NoSQL의 결론

인터넷 거대 기업의 발자취를 따라 방대한 양의 데이터를 처리하는 많은 회사와 조직은 기존 DBMS와 함께 NoSQL을 사용하여 성능과 효율성을 높입니다. 대용량 웹 응용 프로그램을 다루는 경우 NoSQL에 대한 강력한 이해가 필요할 것입니다.

소규모 조직의 경우 특히 지원 부족, 전문 지식, 관리, 분석 및 비즈니스 인텔리전스를 포함하여 구현 측면에서 심각한 문제가 있기 때문에 NoSQL의 가치는 그리 강력하지 않습니다. 문제는 평균 소기업이 매일 페타 바이트의 데이터를 생성하지 않는다는 것입니다. 즉, NoSQL의 인기가 높아지고 있으며 데이터베이스 관리자에게 점점 더 중요한 도구와 기술이 될 가능성이 높으므로 최소한 기본 사항을 아는 것은 아프지 않습니다.