오늘 우리는 몇 가지 결과를 공유했습니다. 몇 주 전에 NoSQL 도입 현황을 평가하기 위해 실시한 설문조사에서 얻은 결과를 공유하고자 합니다. 원래는 계획 수립을 위한 데이터를 수집하기 위해 설문조사를 실시했지만, 그 결과가 매우 흥미로워서(솔직히 말하면 긍정적이라고 할 수 있습니다) 공유하고 싶었습니다.
발표에서 언급된 내용을 되풀이하기보다는 이번 조사 결과에서 가장 놀라웠던 몇 가지 사항을 강조하고자 합니다. 방법론과 질문에 대해 자세히 알아보고 싶으시다면 다음을 참조하세요. 아래.
서프라이즈 #1: 언어 혼합. 조사 결과의 공통된 주제는 NoSQL 데이터베이스 기술의 '주류화'로 해석할 수 있는 것이었습니다. NoSQL 데이터베이스 기술을 기반으로 애플리케이션을 구축하는 데 사용되는 언어는 다양하고 진보적인 선택지가 있지만, 가장 보편적인 언어인 Java와 C#가 지배적이었습니다. 그리고 Couchbase용 순수 C 드라이버(현재 제공 중)에 대한 관심이 많았지만, 응답자 중 2.1%만이 자신의 환경에서 애플리케이션 개발에 "가장 널리 사용되는" 언어라고 답해 Java, C#, PHP, Ruby, Python 및 Perl(순서대로)에 이어 2위를 차지했습니다.
서프라이즈 #2: RDBMS에 대한 증오. 설문조사에는 자유 형식으로 응답할 수 있는 충분한 여지가 있었고, 많은 사람들이 관계형 데이터베이스 기술에 대해 이야기할 기회를 가졌습니다. '2012년에 NoSQL에 대한 가장 큰 희망은 무엇인가요'라는 질문에 대해 다채로운 RDBMS 관련 답변이 나왔습니다. 그리고 그들 중 다수는 완전히 분노했습니다. 한동안 NoSQL이 많은 사람들이 갖고 싶어 하는 '반짝이는 새 기술'이긴 했지만, 대부분의 응답자가 NoSQL 기술을 찾는 이유는 멋진 애들이 하는 것이 아니라 실제 고통을 없애기 위한 것임이 분명합니다. 어떤 고통이냐고 물어보실 수 있을까요?
놀라운 #3: 스키마 관리는 NoSQL 채택을 이끄는 #1의 고통입니다. 사실 저는 이전에 이미 놀랐던 적이 있었기 때문에 이번 발표에 놀라지 않았다고 인정할게요. 2년 전만 해도 가장 큰 요구사항이 무엇이냐고 물으셨다면, 저는 "스케일아웃" 솔루션이 필요하다고 말씀드렸을 것입니다. 데이터 계층 관계형 모델의 '스케일업' 특성과 비교합니다. 사용자들은 애플리케이션 계층처럼 확장되는 데이터베이스를 원했고, 용량 요구가 증가하면 로드 밸런서 뒤에 더 저렴한 서버를 추가하는 방식이었죠. 이 역시 여전히 중요하지만, 설문조사 결과는 제가 사용자들로부터 들었던 (놀랍게도) 의견, 즉 스키마를 선언하거나 관리할 필요 없이 데이터베이스에 원하는 것을 저장하고 마음을 바꿀 수 있는 유연성이 더 중요하다는 것을 확인시켜 주었습니다.
서프라이즈 #4: 상당한 규모의 '기업' 기술 채택. NoSQL 데이터베이스 기술은 대규모 소비자 웹 회사에 뿌리를 두고 있습니다. 구글은 빅테이블을 만들었습니다. Amazon은 Dynamo를 만들었습니다. Couchbase 및 MongoDB와 같은 시스템의 얼리 어답터 중 상당수가 이 계열에 속합니다: Zynga, SmugMug, AOL, TheKnot.com 등입니다. 하지만 금융 서비스, 보험, 자동차, 운송, 미디어, 제조 등 "보다 전통적인" 산업에서 도입이 증가하고 있으며, 설문조사 결과에 따르면 2012년 이후에는 NoSQL이 훨씬 더 "수평적"이 될 것으로 예상됩니다. 이렇게 다양한 산업 분야에서 이렇게 빨리 이렇게 많은 관심을 보일 줄은 예상하지 못했습니다.
이러한 결과를 종합하면, '지루한' 언어, 광범위한 고통(데이터 모델 유연성 대 일부 최첨단 확장 및 성능 요구 사항), 전통적으로 IT 위험을 감수하는 것으로 알려지지 않은 산업에서의 채택 등 NoSQL 기술의 '주류화'가 가속화되고 있음을 보여주는 선행 지표처럼 느껴집니다. 흥미로운 몇 년이 될 것입니다.
방법론
설문조사는 객관식 문제와 '빈칸 채우기' 문제가 혼합된 설문조사 몽키를 사용하여 진행되었으며, 전체 목록은 다음에서 확인할 수 있습니다. 아래.
저희는 설문조사에 폭넓게 참여하기 위해 많은 NoSQL 사이트에 설문조사를 광고하고, #NoSQL 해시태그를 트윗하고, 가능한 한 공개적으로 설문조사에 대해 널리 알리려고 노력했습니다. 물론 저희 데이터베이스의 사용자와 Couchbase 뉴스레터 구독자에게도 참여를 요청했기 때문에 당연히 샘플 세트에 Couchbase의 편향성이 어느 정도 있을 수 있습니다. 하지만 저희의 의도는 광범위하게 접근하여 Couchbase 도입보다는 NoSQL 도입에 대해 더 많이 알리고자 하는 것이었습니다. 마지막으로, 사람들의 참여를 독려하기 위해 응모자 중 무작위로 추첨하여 iPad 2를 증정하고, 정답은 상금 수여와 관련이 없음을 알렸습니다.
1,351명이 설문조사에 참여했습니다. 설문조사 결과에는 1,331개의 고유 IP 주소가 나타났습니다. 방법론에 대해 더 궁금한 점이 있으시면 언제든지 알려주시기 바랍니다.
1. 내년에 NoSQL을 사용하게 될 가장 큰 데이터 관리 문제는 무엇인가요?
- 데이터 확장 불가
- 유연성 부족/경직된 스키마
- 높은 지연 시간/낮은 성능
- 비용
- 위의 모든 사항
- 기타(지정해 주세요)
2. 2011년부터 현재까지 웹 애플리케이션을 개발/운영하는 데 어떤 NoSQL 솔루션을 사용하셨나요?
- 카우치베이스/멤베이스
- 10gen/MongoDB
- 데이터스택스/카산드라
- 바쇼/리악
- 없음
- 기타(지정해 주세요)
3. NoSQL 기술을 사용하여 어떤 종류의 애플리케이션/프로젝트를 개발하셨나요?
(개방형 질문 - 빈칸 채우기)
4. 현재 조직에서 운영 중인 애플리케이션에 NoSQL을 사용하고 있나요?
- 프로덕션 환경에서 3년 이상 NoSQL을 사용 중입니다.
- 프로덕션 환경에서 2~3년 동안 NoSQL을 사용해 왔습니다.
- 프로덕션 환경에서 1~2년 동안 NoSQL을 사용했습니다.
- 2011년에 프로덕션 환경에서 NoSQL을 사용하기 시작했습니다.
- 현재 프로덕션 환경에서 NoSQL을 사용하지 않음
- 기타(지정해 주세요)
5. 2012년에 웹 애플리케이션을 개발/운영하기 위해 어떤 NoSQL 솔루션을 사용할 계획입니까?
- 카우치베이스/멤베이스
- 10gen/MongoDB
- 데이터스택스/카산드라
- 바쇼/리악
- 없음
- 기타(지정해 주세요)
6. 2012년에 귀사에서 NoSQL이 수행할 역할 중 가장 특징적인 것은 무엇인가요?
- 일상 업무에 필수적인 요소
- 매우 중요
- 더 중요해지기
- 다소 중요
- 별로 중요하지 않음
- 기타(지정해 주세요)
7. 2012년에 NoSQL 데이터베이스 기술을 필요로 하는 어떤 프로젝트를 계획하고 있나요?
(개방형 질문 - 빈칸 채우기)
8. 이러한 프로젝트는 언제 자금/자원을 지원받나요?
- 2012년 상반기
- 2012년 하반기
- 자금 지원 없음 - 연구 전용
9. 2012년 계획에서 모바일 애플리케이션 개발(및 데이터 관리)이 얼마나 중요한가?
- 일상 업무에 필수적인 요소
- 매우 중요
- 더 중요해지기
- 다소 중요
- 별로 중요하지 않음
10. 현재 조직에서 애플리케이션 서버에서 데이터베이스 계층에 액세스하는 데 가장 널리 사용되는 프로그래밍 언어는 무엇인가요?
- C
- Java
- .NET
- Perl
- PHP
- Python
- Ruby
- 기타(지정해 주세요)
11. 조직에서 가장 많은 추진력/도입을 얻고 있는 프로그래밍 언어는 무엇인가요?
(개방형 질문 - 빈칸 채우기)
12. 지금까지 NoSQL을 사용하여 수행한 작업 중 가장 흥미롭고 멋진 작업은 무엇인가요?
(개방형 질문 - 빈칸 채우기)
13. 2012년에 NoSQL 기술이 귀사에 가져다 줄 가장 큰 기대/희망은 무엇인가요?
(개방형 질문 - 빈칸 채우기)
14. 조직에 몇 명의 개발자가 있나요?
- 1-4
- 5-9
- 10-24
- 25-99
- 100-249
- 250+
특히 질문 2, 5에 대한 결과를 공유할 수 있습니까?
안녕하세요 - 방법론 섹션에서 언급했듯이, 설문조사 모집 과정의 일부에 데이터베이스(뉴스레터 구독자, 사용자 및 이전에 Couchbase에 관심을 표명했던 사람들)의 참여를 요청하는 것이 포함되어 있으므로 Couchbase에 대한 편향성을 예상해야 합니다. 그렇긴 하지만, 우리는 그 편향을 최소화하기 위해 매우 폭넓게 모집하려고 노력했습니다. 하지만 결과는 다음과 같습니다:
2. 2011년부터 현재까지 웹 애플리케이션을 개발/운영하는 데 어떤 NoSQL 솔루션을 사용하셨나요?
카우치베이스/멤베이스 - 724 (53.6%)10gen/몽고DB - 445 (32.9%)데이터스택스/카산드라 - 92 (6.8%)바쇼/리악 - 66 (4.9%)없음 - 276 (20.4%)기타 - 288 (21.3%)를 기록했습니다.
5. 2012년에 웹 애플리케이션을 개발/운영하기 위해 어떤 NoSQL 솔루션을 사용할 계획입니까?
카우치베이스/멤베이스 - 942 (69.7%)10gen/몽고DB - 492 (36.4%)데이터스택스/카산드라 - 150 (11.1%)바쇼/리악 - 94 (7.0%)없음 - 88 (6.5%)기타 - 314 (23.2%)
1년 전에 NoSQL(simpleDB)로 전환했지만 데이터베이스의 복잡성이 커지면서 점점 더 답답해지고 있습니다. 주로 데이터를 조작할 수 있는 UI(예: SQL Developer)가 부족하기 때문입니다.
수고하셨습니다. 고위급 기업 IT 담당자의 응답에 대한 분류를 보고 싶습니다. 또는 샘플 설문조사에 얼마나 많은 사람들이 참여했는지도요.
안녕하세요, 질문이 게시된 지 오래 된 것으로 알고 있는데 혹시 질문 4와 14의 결과를 공유해 주시겠습니까? 또한 4번 질문의 결과를 조직 내 개발자 수에 따라 그룹화할 수 있을까요? 어쨌든 감사합니다!