문서 데이터베이스에 대해 배우기 시작할 때는 JSON 데이터 모델링의 기본을 이해하는 것이 좋습니다. 이렇게 하면 해당 주제에 대한 어휘가 확장되어 공간과 주제를 더 쉽게 탐색하는 데 도움이 됩니다. 기존 관계형 데이터베이스에 대한 경험도 좋은 출발점입니다. 데이터 구조화, 쿼리 및 인덱스에 대한 지식이 있으면 유리한 출발을 할 수 있습니다. 특히 쿼리를 위해 SQL 변형(SQL++)을 사용하는 Couchbase를 배울 때 일부 개념이 이전될 것입니다. SQL에서 이미 알고 있는 많은 용어가 적용 가능하지만 테이블과 행이 아닌 키-값 문서 데이터 저장소와 중첩된 문서에 적용된다는 점에서 차이가 있습니다.
JSON의 역사
2000년대 초 AJAX가 인기를 끌면서 더글러스 크록포드가 JSON이라는 용어를 만들었습니다. 처음 두 링크는 JSON이 사용되기는 했지만 이름도 없던 시절부터 단일 페이지 애플리케이션의 시대까지를 설명합니다. 두 번째 링크는 지난 실리콘밸리 코드 캠프에서 제가 2019년에 Doug의 강연에 참석할 기회가 있었던 동영상입니다. "JSON의 역사"에 대한 그의 프레젠테이션은 JSON 데이터 모델링에 대해 더 많이 배우는 여정을 시작할 수 있는 좋은 방법입니다.
JSON으로 작업하기
JSON의 역사와 어휘를 더 잘 이해하면 실제로 JSON으로 작업하는 단계로 넘어갈 수 있습니다. 아래 MDN 링크에서 구조, XMLHttpRequest로 JSON 가져오기, 자신의 기술 테스트에 대한 많은 질문에 대한 답을 얻을 수 있습니다. 마지막에는 재미있는 도전 과제를 통해 문서에 대한 이해도를 테스트할 수 있습니다. 이 과정을 마치면 JSON을 사용할 준비가 훨씬 더 잘 되어 있을 것입니다.
자바스크립트 객체 표기법의 기초를 익혔으니 이제 문서 모델링에 대한 여정을 시작할 준비가 되었습니다.
JSON 데이터 모델링 도구
이 카테고리에서는 먼저 JSON 데이터 모델링에 대해 전반적으로 설명합니다. 다음 섹션에서는 관계형 데이터베이스에서 마이그레이션하는 전략에 대해 설명합니다.
아래는 위 동영상의 각 섹션의 주요 내용을 요약한 것으로, NoSQL(이 경우에는 문서 데이터베이스)로 전환하는 것이 왜 유익한지를 다룹니다. 이 데이터 모델링 및 액세스를 위한 JSON 설계 전략을 다루고 마이그레이션 팁에 대해 설명합니다. 이 동영상에서 몇 가지 주제를 살펴보겠습니다.
NoSQL이 필요한 이유
Couchbase와 같은 일부 데이터베이스는 데이터를 일반 JSON으로 저장합니다. 이 섹션에서는 분산 문서 데이터베이스를 사용해야 하는 여러 가지 이유를 강조합니다. 또한 현재의 NoSQL 환경을 다루고 확장성, 유연성, 가용성, 성능 및 사용 사례에 대한 간략한 이해를 제공합니다.
JSON 데이터 모델링
이 섹션에서는 JSON으로 데이터를 모델링하는 연습과 JSON 데이터 모델링 예제를 제공합니다. 이 섹션에서는 실제 데이터의 속성, 관계형 세계에서의 모델링에 대한 간략한 비교 섹션, 데이터 모델링 전략에 대한 경험 법칙을 다룹니다. 또한 다음과 같은 타사 모델링 도구에 대해서도 설명합니다. 해코레이드, Erwin, 그리고 Idera. 이러한 도구는 NoSQL 데이터베이스를 위한 도구입니다.
데이터 액세스
이 파트에서는 키별로 레코드를 읽고, 업데이트하고, 삭제하는 등 NoSQL 데이터베이스에서 데이터를 모델링하고 액세스하는 전략과 경험 법칙에 대해 자세히 설명합니다. 키에 대한 권장 사항과 함께 몇 가지 좋은 JSON 데이터 모델 예시가 제공됩니다. 이 섹션은 하위 문서 및 하위 컬렉션에 대한 접근 방식과 Couchbase의 SQL++ 쿼리 언어로 마무리합니다.
데이터 마이그레이션
여기서는 한 데이터베이스에서 다른 데이터베이스로 데이터를 이동하는 데 도움이 되는 도구에 대해 알아보겠습니다. Informatica, Kafka, Talend, Apache Nifi와 같은 도구가 있습니다. Couchbase에는 다음과 같은 도구도 있습니다. cbimport 를 사용하여 Couchbase로 데이터를 가져올 수 있습니다.
RDBMS에서 NoSQL로 데이터 마이그레이션하기
관계형 데이터베이스에서 데이터를 마이그레이션할 때는 많은 정규화 제약 조건과 스키마 요구 사항이 있습니다. 이러한 제약 조건은 테이블로 작업하거나 외래 키를 통해 다른 테이블을 연결할 때 필요합니다. 고유 ID를 사용하는 이러한 유형의 연결은 문서 데이터베이스에서도 가능합니다. 중복되는 것처럼 보이더라도 해당 데이터를 중첩하는 것과 같은 다른 옵션도 있습니다. 이 첫 번째 카테고리의 리소스에서는 관계형 데이터베이스에서 JSON 문서 데이터베이스로 전환하는 데 도움이 되는 강좌, 동영상 및 문서에 대한 링크를 제공합니다.
이 첫 번째 리소스는 기본 사항을 안내하고 테이블에서 문서로 이동하는 여정을 시작하는 데 도움이 되는 동영상입니다.
먼저 CSV 형식을 사용하여 관계형 데이터베이스에서 데이터를 내보내는 것부터 시작하여 cbimport 를 사용하여 데이터를 Couchbase로 가져옵니다. 그런 다음 문서 데이터베이스 측에서 데이터를 변환하고 구조화하는 방법을 알려드리고 SQL++ 쿼리 언어를 사용하여 데이터를 최종적으로 완성합니다. SQL++를 사용하면 데이터를 준비 지점에서 바로 사용할 수 있는 최종 데이터 버킷으로 옮길 수 있습니다. 이 동영상은 실제 코드 예제로 가득 차 있어 직접 따라 해볼 수 있습니다.
전체 동영상을 시청하는 것보다 블로그 글을 스캔하는 것을 선호하는 경우 동일한 주제에 대한 기사를 참조하세요.
다음 JSON 데이터 동영상도 확인할 수 있습니다: 관계형 데이터베이스 데이터를 NoSQL 문서 데이터로 모델링하기에 추가 인사이트와 연습 문제가 포함되어 있습니다. 기존 관계형 데이터를 문서 데이터로 모델링하는 방법을 포함하여 JSON에 대해 생각하는 데 도움이 될 것입니다.
관계형 데이터와 Couchbase 작동 방식의 차이점을 이해하는 데 도움이 되는 또 다른 리소스는 데이터베이스 커뮤니티에서 30년 이상 근무한 베테랑이 작성한 것입니다.
블로그는 또 다른 훌륭한 리소스이므로 관계형 시스템에서 Couchbase로의 이전을 구체적으로 다루는 몇 가지 블로그를 직접 골라 보았습니다. 이 정보는 SQL Server와 같은 관계형 데이터베이스에서 Couchbase와 같은 JSON 문서 데이터베이스로 이전하는 데에도 매우 유용하게 적용할 수 있습니다.
MongoDB에서 Couchbase로 마이그레이션하기
고객들이 가장 많이 전환하는 문서 데이터베이스는 Mongo입니다. 일부는 확장성 때문에, 다른 일부는 쿼리 언어 때문에 찾아옵니다. Mongo에서 Couchbase로 데이터를 가져와야 하는 경우, 이 리소스가 도움이 될 것입니다!
블로그 게시물 몇 개 카우치베이스 블로그 에서 이 주제를 잘 다루고 있습니다. 처음 두 개의 링크는 새로운 문서로, MongoDB에서 Couchbase로 전환하는 방법에 대한 최신 정보를 담고 있습니다.
다음 단계 및 리소스
마지막으로 관심을 가질 만한 몇 가지 리소스는 다음과 같습니다. JSON 데이터 모델링 기술. 실제 프로젝트를 구축하면서 학습하는 것이 중요하므로 다음 링크는 NoSQL에서 등록, 로그인 및 인증을 처리하는 방법을 이해하는 데 도움이 될 것입니다.
간단한 REST API 계획에 대해 자세히 알아보고 싶으신가요? 아래 리소스는 위에서 설명한 아이디어를 Node와 Express JS를 사용하여 구현합니다. 여기에는 GitHub 리포지토리 소스 코드, 포스트맨 컬렉션 및 환경 변수를 제공하여 프로젝트를 쉽게 시작하고 실행할 수 있도록 도와줍니다.
그리고 위의 두 글에서 Angular 11을 사용하여 위의 리포지토리에서 REST API용으로 명시적으로 빌드된 프론트엔드 클라이언트를 언급하지 않고는 위의 두 글을 언급할 수 없습니다. 또한, 업데이트된 리소스인 완성된 코드의 GitHub 리포지토리.
데이터 모델링에 대한 카우치베이스 교육
다음에서 카우치베이스 데이터 모델링 리소스를 소개합니다. 카우치베이스 아카데미. 이 과정에서는 SQL++ 쿼리 언어와 함께 사용할 수 있도록 데이터 모델링 및 쿼리 튜닝을 고려하면서 Couchbase를 직접 사용해 봅니다.
이 Couchbase 문서에는 문서 데이터의 데이터 모델링과 엔티티 관계를 다루는 몇 가지 좋은 페이지가 있습니다. 아래 링크는 Couchbase 5x 버전의 일부이지만 여전히 유용한 정보를 담고 있습니다.
현재 버전의 카우치베이스 서버에는 최신 버전의 데이터베이스를 염두에 두고 진화하고 업데이트된 페이지도 있습니다:
외부 데이터 모델링 리소스
Couchbase는 NoSQL, 문서 데이터베이스 또는 키-값 데이터스토어를 위한 데이터 모델링에 대해 배울 수 있는 웹 최고의 장소 중 하나입니다. 하지만 세상에는 더 많은 훌륭한 리소스가 있으므로 외부로 나가는 것도 좋습니다. JSON으로 데이터 모델을 만드는 방법을 안내하고 관계형 데이터와 문서 데이터 모델링의 차이점을 설명하는 훌륭한 강좌가 Pluralsight에 있습니다.
Pluralsight 비디오의 이 슬라이드에서는 Kishan Iyer가 강의에서 다루는 다양한 데이터베이스 기술 중 하나에 대해 설명합니다.
Pluralsight는 애플리케이션 개발자를 위한 놀라운 리소스이며 다음과 같은 기능도 제공합니다. 많은 카우치베이스 관련 강좌 도 마찬가지입니다.
확장성이 뛰어난 블로그의 이 글은 다음과 같이 설명합니다. NoSQL 데이터 모델링 기법 는 유익하고 재미있으며 더 많은 외부 리소스로 가득합니다.
이 문서에 제공된 리소스가 문서 데이터베이스와 Couchbase에 대한 학습을 시작하는 데 큰 도움이 되길 바랍니다. 즐겨찾기에 추가하고 다시 방문할 수 있는 학습 리소스를 구축하려고 노력했습니다. 이 가이드에 추가하고 모든 사람이 JSON 데이터 모델링 리소스에 대한 단일 액세스 지점을 통해 혜택을 누릴 수 있도록 항상 노력하고 있으므로, 필수 리소스가 누락되었다고 생각되면 댓글을 달아주시고 해당 리소스를 언급해 주세요.
[...] 전체 기사 원문은 여기에서 확인할 수 있습니다: https://www.couchbase.com/a-json-data-modeling-guide/ [...]