분류

SDK-RFC: 하위 문서 및 색인 관리에 대한 공개 해설

오픈소스의 장점 중 하나는 다음과 같은 기능입니다. 사용자와 긴밀한 관계 유지. 이는 수년에 걸쳐 Couchbase를 개발하면서 매우 유용하게 사용되었습니다. 물론 빠르게 성장하는 모든 프로젝트 및 커뮤니티와 마찬가지로 가끔씩 핵심 인프라를 재검토하고 다시 조정하여 더 빠른 속도를 낼 수 있도록 도와야 합니다.

이것이 바로 우리의 의도입니다. SDK-RFC 그리고 오늘은 여러분의 의견을 듣고자 합니다.

TL;DR: 새로운 계획에 대해 어떻게 생각하시는지 알려주세요. 하위 문서 API 그리고 새로운 인덱스 관리 인터페이스.

챌린지에 대해 자세히 알아보기

카우치베이스 서버 3.0을 출시하면서 향후 릴리스에 대비한 새로운 SDK도 다수 출시했습니다. 이들 각각은 의도적으로 API를 위반했습니다. Apache 2.0 라이선스에 따라 모두 오픈 소스인 프리뷰 버전을 출시했지만, "점 O" 버전이 출시되고 변경이 허용될지 여부는 정식 버전이 출시되기 전까지는 알 수 없었습니다. 돌이켜보면, Couchbase용 코드를 작성하는 거의 모든 사람이 변경을 결정했기 때문에 매우 잘된 결정이었습니다.

이번 조치의 목표 중 하나는 개발자가 선택한 개별 플랫폼의 관용구를 허용하면서 API를 보다 보편적으로 만드는 것이었습니다. 그 첫 번째 단계는 API의 적절한 세부 수준을 공동으로 결정한 다음 다른 사람들로부터 피드백을 받는 것이었습니다.

사실상 초안 청사진으로 아티스트의 렌더링을 그리는 것이었습니다.

이는 일반적으로 잘 작동했습니다. 많은 아티팩트가 우리가 원하는 수준의 디테일과 공통성을 확보하는 데 도움이 되었습니다. 하지만 공동 프로젝트를 위해 정의되는 인터페이스가 실제로 해당 공동 프로젝트에서 수용 가능한지 확인함으로써 개선할 수 있다고 생각했습니다. 당연한 말처럼 들리지만 몇 가지 문제점이 있었습니다. 또한 모든 사람이 의견을 제시할 수 있는 여지를 더 많이 만들어야 한다고 생각했습니다. 카우치베이스에서 개발하는 대부분의 사람들은 디자인 대화에 뛰어들 시간이 없겠지만, 개방적이 되면 우리의 생각과 토론에 보다 혁신적인 시선이 집중될 것이고, 토론과 결과물 모두 다른 사람들에게 앞으로 수년 동안 사고와 디자인 결정에 대한 통찰력을 제공할 수 있을 것입니다.

인프라

우리의 목표는 누구나 토론에 참여할 수 있고, 아티팩트를 공개하여 검색할 수 있으며, 개발자에게 익숙한 패턴을 따르는 프로세스를 만드는 것이었습니다.

여기에는 다음과 약간 겹치는 부분이 있습니다. IETF RFC와 비슷하지만 현대적으로 변형되었습니다. 현대적으로 바뀐 점은 메일링 리스트가 담론의 사회적 장이 아니라 이제 개발자 대화, 특히 공개적인 대화가 Github.

저희가 설정한 새로운 리포지토리는 SDK-RFC라는 이름의 couchbaselabs 조직 아래에 있습니다. 첫 번째 SDK-RFC는 SDK-RFC 프로세스 우리는 그런 메타이기 때문입니다. 실제로는 이슈 를 통해 필요성을 추적한 다음 풀 리퀘스트를 작성하여 접근 방식을 문서화합니다. 이 모든 과정에서 우리는 README 개발 중이거나 완료된 모든 항목을 나열합니다.

사용 설명서에서 언급했듯이, 저희는 이 문제가 저희만의 문제가 아니라는 것을 알고 있습니다. 물론 잘 알려진 IETF RFC, 러스트 RFC 그리고 저의 전 썬 동료인 브라이언 캔트릴 조이엔트의 직원들도 비슷한 필요성을 느꼈고, 다음에서 토론을 장려하는 훌륭한 일을 하고 있습니다. 조이언트 RFD.

귀하의 차례

특히 두 개의 SDK-RFC가 상당히 진척되어 의견을 기다리는 중입니다. 여러분의 의견을 듣고 싶습니다.

첫 번째는 켜져 있습니다. 하위 문서 작업을 수행합니다. 앱 개발자가 문서를 검색하여 저장하지 않고 문서의 일부를 수정하고 싶을 때가 있습니다. 이를 위해 가장 낮은 수준의 작업을 위한 프로토콜 확장 세트와 API가 개발되고 있으며, 향후 Couchbase의 다른 API와 컴포넌트는 이러한 기본 요소를 자체적인 방식으로 활용할 수 있게 될 것입니다. 이 SDK-RFC는 우리가 SDK에 넣을 공통 API 세트를 다룹니다. 이 인터페이스가 제공하는 높은 효율성을 원한다면 공개 인터페이스에 직접 포함될 것입니다. 시스템의 새로운 기능은 시간이 지남에 따라 N1QL과 같은 Couchbase의 다른 부분의 속도를 높이는 데도 도움이 될 것입니다.

두 번째는 켜져 있습니다. 인덱스 관리. 지속적 통합 또는 테스트 스캐폴딩을 구축할 때 인덱스가 필요한 경우가 많습니다. 인덱스는 REST API 는 물론 이미 사용 가능하지만 API로 표시하면 더 쉽게 사용할 수 있습니다.

이 RFC를 숙지하고 다음 중 하나에 의견을 제시해 주세요. 하위 문서 또는 인덱스 관리 풀 리퀘스트!


이 프로세스를 개발한 공로는 여기 Couchbase의 SDK 엔지니어링 팀원 모두에게 돌아갑니다. 마이클은 원페이저에서 SDK-RFC로의 전환을 시작했고, 마크는 서브도큐먼트로 첫 번째 작업을 맡았습니다. 광범위한 도달 범위 때문에 시스템을 테스트하기에 좋은 시스템이었습니다. 브렛과 저는 팀과 협력하여 프로세스와 도구를 조금 다듬었고, 팀 전체(위의 모든 팀원과 세르게이, 제프, 토드, 사이먼)가 기여와 의견으로 참여했습니다.

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

작성자

게시자 카우치베이스 팀

의 선임 웹 관리자입니다. 웹 사이트 관리자로서 디자인, 구현, 콘텐츠 및 성능을 포함한 웹 사이트 자산에 대한 전반적인 책임을 맡고 있습니다.

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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