큰 데이터 [참고] 프로젝트 얼굴을 수행 하는 기업 핵심 결정 중 하나는 사용 하려면, SQL 또는 NoSQL 데이터베이스? SQL은 인상적인 성능을, 거 대 한 설치 기준, 그리고 NoSQL 상당한 수익을 얻고 있다 많은 지지자. 이 문제에 대 한 두 전문가의 견해를 살펴 보자.
전문가
· VOLTDB의 최고 기술 책임자, 라이언 Betts, 말한다 SQL이 겼 다 큰 회사의 광범위 한 배포 및 큰 데이터를 지원할 수 있는 또 다른 지역 이다.
· NoSQL은 실행 가능한 옵션이 고, 많은 방법으로, 그것은 큰 데이터를 위한 최선의 선택에 관해서 특히 그것은 확장성, 밥 Wiederhold, Couchbase 주식 회사의 최고 경영자를 말한다.
SQL은 시간의 시험을 통과 하 고 여전히 호황을 누리고 있다.
VOLTDB 회사 최고 기술 책임자 라이언 Betts
SQL 구조적된 쿼리 언어 (), 여기서 우승자, 수십 년 동안, 지배 하 고 현재 큰 데이터 기업 구글, 페이 스 북, Cloudera 아파치 등 단체는 적극적으로 투자에 SQL.
SQL, 같은 지배적인 기술 되 고 그것 그것의 우월을 잊고 때로는 쉽습니다. SQL의 독특한 장점은 다음과 같습니다.
1. SQL 데이터와의 상호 작용을 강화 하 고 단일 데이터베이스 디자인 문제가 될 수 있습니다. 상호 작용 수 없는 데이터는 크게 쓸모 있기 때문에 이것은 주요 기능 그리고 새로운 통찰력, 새로운 문제, 그리고 더 의미 있는 미래의 상호 향상 된 대화형 가져올 수 있다.
2. SQL은 사용자가 그들의 지식을 사용 하 여 시스템 타사 첨부 파일 및 도구를 지원 하 고 표준화 됩니다.
3. SQL 확장 될 수 있습니다, 다목적 및 시간 확인, 집중 심층 분석 검사를 빠른 쓰기 기반 전송에서 문제를 해결할 수 있는.
4. SQL 데이터 렌더링 및 저장, 직각 형태 이며 일부 SQL 시스템 지원 JSON 및 더 나은 성능과 기능 NoSQL 보다 다른 구조적된 개체 형식.
NoSQL은가지고 있지만 일부 영향, SQL 여전히 시장 지배 그리고 투자와 대용량 데이터 분야에서 광범위 한 배포를 많이 상했다.
NoSQL의 문이 막연 한, 고이 토론에 대 한 나 간단한 작업 (예: 키/값 저장소) 또는 간단한 기록과 인덱스를 제공 하 고 이러한 간단한 작업의 수평 확장성에 초점을 맞추고 있는 NoSQL의 릭 Cattell의 정의 빌려.
물론, 많은 새로운 데이터베이스 모든 같은 지금, 그리고 각 데이터베이스 및 잠재적인 문제 뒤에 근거는 성공의 열쇠는 이해 되지 않습니다. NoSQL의 주요 기능을 특정 문제에 대 한 더 적합 한 수 있습니다. 예를 들어 그래픽 데이터베이스 관계형 컨텍스트에서 구성 하는 데이터에 대 한 더 적절 한 이며 전용된 텍스트 검색 시스템은 실시간 검색이 필요한 상황에 더 적합.
여기, 주요 장점 및 SQL 시스템의 차별화 기능에서 살펴 봅시다:
* SQL 상호 작용 수 있습니다. SQL은 선언적 쿼리 언어. 사용자가 원하는 말 (예를 들어 보여 과거 동안 최고의 고객의 위치 3 월 5), 데이터베이스 내부 알고리즘 및 추출 요청 결과. 반면, NoSQL 혁신 MapReduce 프로그래밍 절차 쿼리 기술의 일종 이다. 사용자 요청, MapReduce 상태로 응답을 생성 하는 방법을 그들에 게 뿐만 아니라 그들이 원하는 말을 뿐만 아니라 사용자를 묻습니다.
지루한 기술 차이 처럼 들리지만이 중요 하기 때문에: 첫째, 선언적 SQL 쿼리는 그래픽 도구와 보고서 작성기를 클릭 하 여 구축. 이로써 분석가, 운영자, 관리자, 및 소프트웨어 프로그래밍 데이터베이스 쿼리를 수행 하는 기술 하지 않은 다른 직원 하 고 둘째, 데이터베이스 엔진 선택 하는 가장 효율적인 알고리즘을 내부 정보를 사용할 수 있습니다. 최고의 알고리즘 여전히 물리적 레이아웃 또는 데이터베이스의 데이터베이스를 변경 하 여 계산 될 수 있다. 절차적 시스템 프로그래머 액세스 하 여 알고리즘은 비용이 많이 드는 고 오류가 프로세스를 재 설 정할 필요 합니다.
시장이 중요 한 차이 이해 한다. 2010 년 구글 내부 사용자의 요구에 의해 주로 구동 MapReduce를 보완 하기 위해 SQL 배포를 발표 했다. 최근 페이스 북은 발표 프레스 토, PB 수준 HDFs 클러스터를 쿼리할 SQL 배포. "우리의 창 고 페타와 우리의 수요 변화를 성장, 우리는 명확 하 게 알고 우리가 대기 시간이 쿼리를 제공 하는 대화형 시스템 필요" 페이스 북에 따르면. Cloudera 건물 또한, 임 팔 라 다른 HDFS 기반 SQL 배포.
* SQL 표준화 이다. 공급 업체는 때로는 SQL 인터페이스를 그들의 자신의 언어를 추가, SQL의 핵심, 표준화 및 SQL 저장소에 안정적인 인터페이스의 넓은 범위를 제공 하는 다른 사양 (예: ODBC와 JDBC). 이 관리 및 운영 도구 생태계 수 있는 디자인, 모니터링, 검사, 탐색, SQL 시스템 응용 프로그램 구축을 제공 합니다.
SQL 사용자와 프로그래머 다시 사용할 수 Api와 UI 지식을 여러 백 엔드 시스템, 응용 프로그램 개발 시간을 단축. 표준화는 또한 선언적 제 추출, 변환 및 로드 (ETL) 도구를 사용 하는 시스템 및 데이터베이스 간에 데이터를 전송 하는 조직 수 있습니다.
* 확장 SQL입니다. 그것은 전적으로 잘못 SQL 확장성을 희생 해야 생각입니다. 앞에서 설명 했 듯이, 페이스 북 SQL 인터페이스를 쿼리 PB 수준 데이터를 만들었습니다. SQL 전송 매우 빠르게 산을 매우 효율적으로 실행할 수 있습니다. 데이터 저장 및 인덱싱의 SQL의 개요 [사출] 다양 한 문제와 수 있도록 효율적으로 복제 된 데이터 저장소의 클러스터에 걸쳐 실행 하는 SQL 데이터 집합 크기에서 일관 된 사용에 대 한 수 있습니다. SQL를 사용 하 여 구름을 건물의 독립적인 인터페이스, 확장, 또는 하 시스템, SQL을 방지 하 고 내결함성, 고가용성 및 복제 제한에 아무것도. 사실, 모든 현대 SQL 시스템 클라우드 친화적인 수평 확장성, 복제 및 내결함성을 지원합니다.
* SQL JSON을 지원합니다. 몇 년 전, 많은 SQL 시스템 XML 문서 지원 추가. 지금, JSON 데이터 교환 위한 인기 있는 포맷 되면서 SQL 업체 JSON 형식 지원을 추가 하는. 우리는 구조적된 데이터 형식에 대 한 지원 필요 현재 유연한 프로그래밍 프로세스와 웹 인프라의 정상적인 가동 시간 요구 사항에 따라. 오라클 12 c, PostgreSQL 9.2, VOLTDB, 및 다른 JSON 기반 데이터베이스 일반적으로 "네이티브" JSON 보다 더 나은 성능을.
SQL 시장 점유율을 얻기 위해 계속 하 고 새로운 투자 및 배포를 보고 계속 됩니다. NoSQL 데이터베이스는 독점적인 쿼리 언어 또는 간단한 키 값 의미 깊은 기술적인 차별화 없이 제공합니다. 현대 SQL 시스템 풍부한 쿼리 의미 뿐 아니라 광범위 한 사용자 설치 인프라, 광범위 한 생태계 통합, 및 깊은 엔터프라이즈 배포를 지원 하면서 확장성을 제공 합니다.
NoSQL 큰 데이터 응용 프로그램에 더 적합
밥 Wiederhold, Couchbase 회사의 CEO
NoSQL은 점점 관계형 데이터베이스, 특히 큰 데이터 응용 프로그램에 대 한 유력한 대 안으로 간주 됩니다. 또한 모덜리스 데이터 모델은 일반적으로 더 적합 하 지금 캡처하고 처리 하는 데이터의 유형과.
우리가 큰 필드의 데이터에는 NoSQL에 대 한 이야기, 우리는 읽기 및 쓰기 작업이 데이터베이스에서를 참조 하십시오. 일반적으로 많은 양의 데이터 모양과 그 데이터에서 가시성을 얻는 프로 파일링 데이터베이스와 운영 데이터베이스를 혼동 하지 마십시오.
데이터베이스를 조작 하기 위한 대용량 데이터의 분석 표시 되지 않습니다, 하지만 작업 데이터베이스 일반적으로 자주 실시간으로 트랜잭션을 수행 하기 위해 데이터에 액세스 해야 하는 사용자의 매우 큰 숫자의 큰 데이터 집합을 저장 합니다. 이 데이터베이스의 작업의 규모 또한 NoSQL 큰 데이터 응용 프로그램에 대 한 주요 이유는 이유는 NoSQL의 주요 기능을 설명 합니다.
NoSQL은 확장성을 키
기술 업계는 하드웨어 개발에 근본적인 변화를 겪 습, 때마다 굴절 포인트에 있다. 데이터베이스의 필드에 수직에서 수평 확장 변환 NoSQL의 개발을 승진 했다. 관계형 데이터베이스, Oracle 및 IBM 데이터베이스를 포함 하 여 수직으로 축척 됩니다. 즉, 그들은 중앙, 공유-모든 더 비싼 하드웨어를 추가 하 여 확장할 수 있는 기술.
NoSQL 데이터베이스는 분산된 확장 기술. 그들은 부하를 동적으로 처리 하는 노드를 추가 하려면 사용자를 허용 하는 탁월한 확장을 제공 하 라는 클러스터, 분산된 노드 집합을 사용 합니다.
분산 수평 확장 하는 것은 일반적으로 수직 접근 보다 저렴 합니다. 비즈니스 관계형 데이터베이스의 라이선스 비용은 발굴, 그들의 가격은 서버 별로 계산 됩니다. 다른 한편으로, NoSQL 데이터베이스는 일반적으로 오픈 소스 기술, 실행 하는 서버 클러스터에 따라 충전 하 고 가격이 상대적으로 저렴 한입니다.
NoSQL은 유연성을 키
관계형과 NoSQL 데이터 모델은 크게 달라 집니다. 관계형 모드 데이터 가져오고 많은 상호 테이블에 외래 키를 통해 서로 게 적용 되는 데이터를 할당 합니다.
사용자는 데이터 집합에는 쿼리를 실행 하는 경우, 정보 수집에서 여러 테이블 (일반적으로 엔터프라이즈 응용 프로그램의 수백을 포함),이 정보를 결합 하 고 응용 프로그램에 제공 됩니다 필요 합니다. 마찬가지로, 여러 테이블에 걸쳐 기록 쓸 때 데이터를 조정 하 여 실행 해야 합니다. 관계형 데이터베이스는 일반적으로 캡처 및 저장 정보 데이터는 상대적으로 낮은 느린 속도로 데이터베이스를 데이터 흐름 수 있습니다. 그러나, 오늘날의 응용 프로그램은 종종 대량의 데이터의 빠른 쓰기 (와 읽기) 필요합니다.
NoSQL 데이터베이스는 매우 다른 패턴을 걸립니다. 핵심, NoSQL 데이터베이스는 실제로 "Norel", 또는 그들은 테이블 및 저장 하 고 정보를 구성 하는 테이블 간의 관계에 의존 하지 않습니다 의미 하지 관계형 형식입니다. 예를 들어 문서 지향 NoSQL 데이터베이스 데이터를 저장 하 고 JSON 형식으로 문서에 통합 걸립니다. 각 JSON 문서 응용 프로그램 개체로 취급할 수 있습니다. JSON 문서는 스패닝 25 테이블의 데이터를 추출 하 고 단일 문서에 데이터를 통합할 수 있습니다.
이 정보를 집계 수 없습니다 중복 정보, 하지만 저장소는 더 이상 비용의 문제, 데이터 모델의 유연성, 문서 게시, 의해 생산의 단순 증가 읽기 및 쓰기 성능을 때문에 결과이 좋은 선택을 하십시오.
NoSQL은 대규모 데이터 응용 프로그램에 키
데이터를 캡처하고 통해 소셜 미디어 사이트를 포함 하 여 제 3 자 액세스 쉽게 되고있다. 이러한 데이터 포함: 기계 기록 데이터, 사용자 생성 콘텐츠, 지리 데이터, 개인 사용자 정보 및 데이터는 센서에 의해 생산. 조직은 또한 큰 데이터 그들의 중요 한 응용 프로그램 드라이브를 의지할 수 있다. 동시에 회사는 새로운 유형의 데이터에 대 한 이상적인 NoSQL 데이터베이스로 움직이고 있다.
개발자가 원하는 유연한 데이터베이스를 새 데이터 형식에 쉽게 적응할 수 있는 제 3 자 데이터 공급 업체의 콘텐츠 구조에 변화에 의해 영향을 받지 않을 것 이다. 대부분의 새로운 데이터 이므로 구조화 및 반 구조화 된 개발자가 효과적으로 데이터를 저장할 수 있는 데이터베이스가 필요. 그러나, 관계형 데이터베이스는 엄격 하 게 정의 된, 모델 기반 접근 방식을 신속 하 게 새 데이터 형식을 통합 하는 것은 불가능 하 게 하 고 적합 하지 않습니다 구조화 및 반 구조화 된 데이터를 채택 한다.
전반적으로, 산업 확장을 제공할 수 있이 필요가 고 유연한 데이터베이스 기술을 관리 하 고 웹 및 모바일 응용 프로그램, 새로운 동향, 성장 데이터에 액세스할 웹, 소비자 행동에 변화와 새로운 데이터 형식이 등장. NoSQL 기술은 효과적으로 이러한 요구를 충족 하기 위해 가능한 유일한 솔루션입니다.