모범 사례 및 튜토리얼

스키마리스 데이터베이스의 가치

스키마 없는(또는 "스키마가 없는") 데이터베이스는 IT 업계의 최신 유행어입니다. 괴짜 프로그래머들은 유연성과 저렴한 비용을 좋아하며, 이러한 특성으로 인해 많은 스타트업이 스키마리스 데이터베이스에 열광하고 있습니다. 관계형 데이터베이스를 주로 사용했던 저로서는 스키마리스 데이터베이스가 기업에 가져다주는 가치가 놀라웠습니다. 이제 스키마리스 데이터베이스를 개발자의 뒷마당에서 더 넓은 엔터프라이즈로 가져와야 할 때입니다.

이 블로그에서는 오늘날의 데이터 중심 세상에서 데이터 분석이 왜 중요한지 살펴봅니다. 오늘날 기업이 가장 하고 싶은 일이 있다면 데이터에서 실행 가능한 인사이트를 이해하고 신속하게 도출하는 것입니다. 그리고 이를 효과적으로 수행하기 위해 수백만 달러를 계속 투자하고 있습니다. 빅 데이터는 이 방정식에서 큰 부분을 차지합니다. 가트너는 빅 데이터의 3V를 다음과 같이 정리했습니다. 볼륨, 다양성 및 속도. 기존 데이터베이스 시스템이 어려움을 겪는 한 가지 영역이 있다면 바로 데이터가 도착하는 속도를 따라잡는 것입니다. IT 툴킷의 거의 모든 도구는 어떤 형태의 데이터 모델이나 형식을 강요하기 때문에 데이터를 빠르게 읽거나 인스턴스화하기가 어렵습니다.

여기서 스키마리스 데이터베이스가 엄청난 가치를 창출하는 역할을 합니다.

스키마리스 데이터베이스란 무엇인가요?

먼저 스키마리스 데이터베이스라는 용어의 의미를 정의해 보겠습니다:

  • 시스템 수명 내내 사용해야 하는 엄격한 스키마(데이터베이스, 스키마, 데이터 유형, 테이블 등)를 준수할 필요가 없습니다.
  • 하나의 단일 열 유형과 관련된 개별 값에 데이터 유형 제한을 적용하지 않습니다.
  • 데이터베이스 스키마, 애플리케이션 또는 제품이 아닌 비즈니스 사용량을 모델링합니다.
  • 정형 및 비정형 데이터 저장 가능
  • 관계형 모델을 추상화하고 객체 지향 형식으로 노출하기 위해 추가 레이어(ORM 레이어)를 도입할 필요가 없습니다.

기본적으로 도식화되지 않은 일반 영어 데이터베이스를 사용하세요:

  • 여러분을 포함한 많은 데이터베이스 스키마리스 아키텍처 설계자들의 경력을 쌓게 해준 모델링(3NF 형태의 정규화)이 필요하지 않습니다.
  • 리포지토리에 데이터 유형을 미리 설정할 필요가 없으므로 데이터 리포지토리를 설정하는 데 필요한 시간이 크게 단축됩니다.
  • 다양한 특성을 가진 데이터를 저장할 수 있으며, 복잡한 중단 및 변경을 미리 계획하지 않고도 해당 정의에 대한 변경을 허용하고 복잡한 스키마 마이그레이션을 제거할 수 있습니다.
  • 쉽게 변형할 수 있습니다. 예를 들어 계좌 번호는 모든 문자로 시작하거나 숫자 또는 두 가지의 조합일 수 있습니다. 사용자의 정의와 상상력에 의해서만 제한됩니다!

스키마리스 데이터베이스는 데이터를 키/값 쌍(KV라고도 함) 또는 JSON 문서로 저장합니다.. 사용 사례에 따라 사용자는 데이터를 KV 쌍으로 저장하거나 JSON 문서로 저장할 수 있습니다. JSON 문서는 일반적으로 데이터가 표현되는 방식이 매우 풍부하며, 우리 모두에게 매우 친숙하고 매우 유용한 엔티티-관계 모델을 매우 밀접하게 모델링할 수 있습니다. 예를 들어 계정 개체는 여러 주소, 이메일, 별칭 등 일반적인 계정 개체와 관련된 모든 필수 속성과 중첩된 값을 사용하여 JSON 문서로 모델링할 수 있습니다. 또한 JSON 문서는 개별 값을 색인화할 수 있어 액세스의 성능을 훨씬 더 향상시켜 서로 다른 문서의 데이터 조각을 함께 조인할 수 있다는 추가적인 이점을 제공합니다.

이 블로그에서는 JSON 문서의 복잡성에 초점을 맞추지는 않지만, 간단히 소개하자면 스키마 없는 데이터베이스 세계에서 JSON 문서는 하나의 계정 행이 다른 계정 행과 완전히 다를 수 있는 관계형 데이터베이스의 행과 매우 유사하며, 실제 비즈니스 데이터의 모습과 정확히 일치합니다.

스키마리스 데이터베이스의 이점

3V를 억제하기 위해 복잡한 독점 하드웨어 및 소프트웨어 데이터베이스 솔루션에 수백만 달러를 투자해 온 기업에게 이 모든 것이 의미하는 바는 무엇일까요? 먼저 기업이 위에 나열된 활동에 얼마나 많은 시간을 소비하는지 살펴봅시다. 제 생각에는 가장 많은 시간과 비용이 소요되는 활동은 다음과 같습니다:

데이터베이스 설계 또는 정규화

일반적으로 데이터의 정규화라고 하는 스키마를 설계하여 관계형 형식으로 변환하는 데는 몇 달은 아니더라도 몇 주가 걸리며 매우 숙련된 리소스가 필요합니다. 관계형 세계에서 모든 데이터는 테이블, 데이터베이스 또는 스키마에 속하며 대부분의 경우 제품의 전체 수명 기간 동안 그대로 유지됩니다. 변경이 있을 때마다 애플리케이션과 사용자는 이 데이터의 복사본을 만들어야 하므로 이상 현상이 발생할 수 있고 정규화의 원칙에 위배될 수 있습니다.

스키마리스 데이터베이스는 이러한 활동을 제거합니다. 를 사용하면 이 작업의 복잡성이 크게 줄어듭니다. 사용자가 미리 결정해야 하는 유일한 결정은 어떤 엔티티의 속성을 계속 배치할지 결정하는 것입니다.

정형/비정형 데이터의 재포맷 및 저장에 필요한 ETL/ELT

소스에서 데이터를 추출하여 데이터베이스의 준비 영역으로 랜딩(일반적으로 ETL 또는 ELT라고 함)하려면 소스 및 대상에서 관계형 세계에서 데이터의 구조를 이해해야 합니다. 사용자는 데이터베이스/테이블/열/필드 레이아웃을 알고 있어야 합니다. 데이터를 추출할 때 제한 사항과 성능에 미치는 영향이 있습니다. 데이터의 양이 매우 적은 경우가 아니라면 일종의 배치 스트림 없이는 이 데이터를 추출하여 데이터베이스 시스템으로 로드할 방법이 없습니다. 그리고 이는 보통 몇 시간 또는 하룻밤이 걸리는 프로세스와 수천 줄의 코드 또는 고가의 ETL 도구로 이어집니다. 이러한 연속적인 프로세스에서는 오류에 대한 허용 오차가 거의 없으며, 오류가 발생하면 일반적으로 정확한 데이터를 제시간에 얻지 못하는 결과를 초래합니다. 생존을 위해 데이터에 의존하는 기업에게 이는 큰 장애물이며, 데이터에 의존하지 않고 지연 시간을 견딜 수 있는 기업이라면 경쟁에 신경 쓰지 않을 것입니다. 지연 시간을 맞추기 위해서는 최첨단 장비를 구입하는 데 막대한 자본과 운영 비용이 필요합니다. 그리고 이 비용은 매년 지속적으로 증가하고 있습니다.

스키마리스 데이터베이스는 오랜 시간이 걸리는 변환 및 정리 프로세스가 필요하지 않습니다. 모델이 유연하고 사용자가 엄격한 스키마를 따르도록 강요받지 않기 때문입니다.

지속적인 변경 관리

데이터베이스에서 데이터를 읽고 쓰는 시스템(애플리케이션 계층, ORM 계층)에서 대규모 코드 변경을 야기할 수 있는 스키마 변경을 포함합니다. 스키마가 변경되면 영향을 받는 개체를 오프라인으로 전환하고 애플리케이션 계층의 변경 사항을 완료 및 테스트하여 변경 사항을 활용하기 위해 계획된 서비스 중단이 필요합니다. 수동 배포 오류로 인해 며칠 또는 몇 달이 걸릴 수 있는 영향이 발생할 수 있습니다. 변화가 유일한 상수인 세상에서 이 모델은 다소 시대에 뒤떨어진 것처럼 보입니다. 스키마리스 데이터베이스는 데이터 모델이 아니라 비즈니스를 모델링합니다. 데이터의 정의와 속성은 끊임없이 변화하는데 왜 동일한 정의를 따르도록 강요하는 데이터베이스를 사용해야 할까요?

스키마 없는 데이터베이스로 복잡한 마이그레이션 작업 제거 유연한 데이터 스토리지 모델로 인해 동기화를 변경할 수 있습니다.

스트리밍 데이터에 대한 실시간 분석

기업이 다양한 소스에서 페타바이트 단위의 데이터를 생성하는 오늘날의 데이터 중심 세계에서는 데이터에서 가치를 추출할 수 있어야 한다는 필요성이 가장 중요하며, 그 중에는 가치가 있는 데이터도 있고 그렇지 않은 데이터도 있습니다. 데이터가 완전히 정리되어 시스템에 로드될 때까지 기다려야 그 가치를 파악할 수 있다는 것은 데이터를 저장, 정리, 변환하는 데 많은 비용이 든다는 것을 의미합니다. 스키마리스 데이터베이스를 사용하면 데이터의 가치를 매우 빠르게 파악하고 분석하며 크기를 조정할 수 있습니다. 데이터가 가치가 없다면 저장 및 처리 비용을 절감하기 위해 가치가 없는 데이터를 빠르게 삭제하고 제거해야 할 것입니다.

사기 탐지, 적시 마케팅과 같은 일부 사용 사례에서는 데이터를 분석하고 실시간으로 인사이트를 제공해야 합니다. 이러한 요구는 매우 전술적입니다. 새로운 데이터를 기존 데이터와 결합하여 인사이트를 제공해야 할 필요가 있습니다. 이 모든 것이 큰 돈과 엄청난 경쟁 우위로 이어집니다. 오늘날에는 기술에 정통한 엔지니어만이 데이터에 액세스하고 분석하는 것이 아니라, 데이터 사용자 중 상당수가 기술 수준이 높지 않습니다.

스키마 없는 데이터베이스를 사용하면 스키마를 만드는 대신 데이터 보기를 정의할 수 있습니다. 가치를 추출하기 위해 싸워야 한다는 부담을 덜어줍니다. 이를 통해 IT 기술에 익숙하지 않은 직원도 복잡한 데이터 모델을 이해하고 데이터 유니버스를 만드는 데 시간을 소비하지 않고도 빠르고 쉽게 정보를 추출하고 본연의 업무를 수행할 수 있습니다. 이는 다시 막대한 비용 절감으로 이어집니다.

극도의 데이터 양, 속도, 다양성을 충족하는 온디맨드 확장성

기업이 데이터의 양, 속도, 다양성에서 발생하는 이상 징후에 미리 대비할 수 있는 여유가 있던 시대는 슬프게도 지나갔습니다. 확장하지 않으면 실패할 수밖에 없으며, 이는 수백만 달러의 수익 손실과 기회 상실로 이어진다는 점에서 냉혹하게 들리지만 사실입니다.

스키마리스 데이터베이스에는 복잡한/독점적인 인프라가 필요하지 않습니다. 확장하려면 막대한 자본/운영 비용이 필요합니다. 소규모 인스턴스는 버튼 하나만 누르면 매우 쉽게 확장할 수 있습니다. 일부 기존 데이터베이스는 이 기능을 제공하지만 스키마의 경직성으로 인해 한계가 있습니다. 확장성은 단순히 데이터를 분할하는 기능뿐만 아니라 스키마 변경에 빠르게 적응하는 기능도 포함하며, 스키마리스 데이터베이스는 이를 원활하게 수행합니다. 그리고 이 모든 것을 저렴한 상용 하드웨어에 배포할 수 있습니다.

요약

이 글에서 설명한 것처럼 스키마 없는("스키마가 없는") 데이터베이스는 현재의 데이터 중심 세상에서 매우 중요한 역할을 하고 있습니다. 스키마리스 데이터베이스는 어떤 형태로든 계속 존재할 것이 분명합니다. 그렇다면 전 세계가 기존 데이터베이스 사용을 중단하고, 데이터의 ETL/ELT를 중단하고, 독점 솔루션 사용을 중단하게 될까요? 시간이 지나야 그 질문에 대한 답이 나오겠지만, Wisdom은 기존 데이터 원본이 스키마리스 데이터베이스가 제공하는 이점을 계속 무시할 수는 없다고 말합니다. 스키마리스 데이터베이스의 이러한 기능 중 일부를 채택하는 것은 시간 문제일 뿐이며, 이는 오늘날의 안목 있는 고객에게는 윈윈이 될 수 있습니다.

_____________________________________________________________________________________

이 글은 산디아 크리슈나무르티(Sandhya Krishnamurthy) 수석 솔루션 엔지니어가 작성했습니다. 카우치베이스는 스키마리스 데이터베이스의 선도적인 공급업체입니다.

작성자에게 문의 sandhya.krishnamurthy@couchbase.com

Couchbase에 대해 자세히 알아보기 제품의 경우 무료 제품 다운로드 그리고 무료 NoSQL 교육.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

Author

Posted by Sandhya Krishnamurthy

산디아 크리슈나무르티는 데이터베이스 개발 배경과 사전 영업 경험이 풍부한 기술 전문가입니다. 그녀는 파트타임 아티스트, 파트타임 가수, 풀타임 엄마이기도 합니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.