최신 Couchbase를 발표하게 되어 기쁩니다. 커뮤니티 챔피언영국 케임브리지에 거주하는 이안 카트리지입니다.
본인 소개와 일상적인 업무에 대해 알려주세요.
저는 방고에서 소프트웨어 아키텍트로 약 5년 반 동안 근무하고 있습니다. 주로 전 세계 다양한 국가의 통신사 및 대체 결제 제공업체와 통합된 결제 플랫폼을 통해 앱 스토어가 고객에게 모바일 결제 옵션을 제공할 수 있도록 지원합니다. 이곳에서 근무하는 동안 저는 통합팀에서 시작하여 플랫폼과 결제 제공업체 간의 적응 계층에 관여하고, 핵심 플랫폼 API(현재도 많이 사용되고 있음), 데이터 흐름, 주요 플랫폼 개선 작업 등 다양한 분야에서 일해왔습니다. 지금은 주로 플랫폼이 확장되어 증가하는 수요를 처리할 수 있도록 하고, 고객을 위해 더 많은 가치를 창출하는 데 도움이 되는 기술을 연구하며, 개발 내에서 코드 품질과 일관된 디자인을 전파하는 한편, 더 큰 프로젝트를 어떻게 구성하고 여러 부분을 조율하여 더 나은 전체를 만드는지 주시하는 데 관심을 기울이고 있습니다. 대부분의 코드베이스는 약 8년 동안 사용해 온 C#로 작성되어 있지만, 저는 C++를 사용해 본 경험이 있고 템플릿 메타프로그래밍을 가끔씩, 그리고 잠깐씩 그리워하고 있긴 합니다.
거주지는 어디이며 여가 시간에는 무엇을 좋아하시나요?
방고는 케임브리지에 본사를 두고 있으며, 저는 영국에서 가장 작은 도시인 엘리에서 조금 떨어진 곳에 살고 있지만 글래스고 외곽에서 자랐다는 사실을 사람들에게 상기시키고 싶어요. 멋진 가족과 함께 시간을 보내지 않을 때는 계절에 따라 관심사를 바꾸지만, 몇 가지 정기적으로 돌아오는 것이 있습니다. 저는 항상 열렬한 게이머였고 현재 Vive를 가지고 놀면서 많은 재미를 느끼고 있지만, 체스(운 좋게도 큰아들도 정말 좋아하고 있습니다), 축구(축구), 새로운 것을 배우는 것(현재는 골랑과 일본어에 집중하고 있습니다)도 즐기고 있습니다.
카우치베이스를 선택하게 된 계기는 무엇인가요?
우리는 처음에 다음과 같은 경험이 있었기 때문에 Couchbase를 선택했습니다. 멤캐시드를 사용하여 빠른 액세스를 위해 특정 요청 정보를 캐싱하는 데 사용했습니다. 플랫폼에서 더 많은 성능을 끌어내기 위해 실시간 트랜잭션 데이터에 빠르게 액세스하기 위해 Couchbase를 사용하기 시작했고, 그 결과 데이터 액세스 시간이 크게 향상되었습니다. 이 점에서 Couchbase는 문서를 엄청나게 빠르게 저장하고 읽을 수 있게 해주는 탁월한 제품입니다. Couchbase가 원래 하지 못했던 작업을 용이하게 하기 위해 사내 ETL 솔루션은 보고와 같은 오프라인 프로세스를 지원하기 위해 데이터를 SQL Server로 이동합니다. 이를 통해 핵심 결제 기능과 지원 업무를 분리하고 두 데이터 모델의 장점을 모두 갖춘 독립적으로 확장 가능한 시스템을 구축할 수 있게 되었습니다.
Couchbase의 어떤 기능을 사용하시며 사람들이 알아야 할 점은 무엇인가요?
엄밀히 말해 Couchbase 기능은 아니지만, 정말 멋지다고 생각해서 이 부분에 대해 이야기하고 싶습니다. 우리가 정말 잘했다고 생각하는 것 중 하나는 Couchbase API와 상호 작용하는 데 사용하는 API 계층으로, 핵심 기능을 NoSQL 시스템과 상호 작용하는 데 필요한 주요 패턴을 지원하는 라이브러리로 감싸고 있습니다. 내부 프로젝트 중 하나에서는 Couchbase의 속도와 확장성을 원하면서도 여러 문서를 안전하게 업데이트할 수 있어야 했습니다. 이를 위해 내부 API에 포함된 원자 트랜잭션 패턴을 만드는 데 시간을 투자하여 모든 문서가 업데이트되거나 업데이트되지 않는 것을 보장합니다. 제가 가장 좋아하는 부분은 여러 가지 다른 패턴(단순하고 평범한 카운터 패턴과 조회부터 버전이 지정된 문서 기록과 같은 약간 더 복잡한 패턴까지)의 정점으로, 언뜻 보기에는 상당히 복잡해 보이지만 검사 시 간단한 부분으로 쉽게 나눌 수 있으며 구성 요소 패턴의 기초가 있으면 전체 개념을 파악하기가 매우 간단하다는 점입니다. 생각해내는 과정도 재미있었고, 실제 프로젝트에 적용했을 때 예상대로 작동하는 것을 보니 정말 기뻤습니다.
카우치베이스에 세 가지 소원이 있다면 무엇일까요?
Couchbase가 바라는 대로라면 Docker에서 클러스터를 설정하는 더 간소화된 방법을 보고 싶습니다. 현재로서는 여전히 콘솔이나 REST API를 통한 일부 구성이 필요하며, 이 방법도 적절하지만 K8s Helm을 사용하는 것과 같이 표준 설정으로 컨테이너화된 클러스터를 매우 빠르게 스핀업하는 공식적으로 지원되는 방법이 있으면 정말 좋을 것 같습니다. 이렇게 하면 Couchbase 설치 공간이 정말 늘어날 것 같기 때문이죠. 또한 (죄송합니다만) 더 나은 콘솔이 내장되었으면 좋겠습니다. 일상적인 프로세스에는 괜찮지만 적절한 역할 관리가 유용하고 보안을 강화할 수 있으며, 문서 보기 및 수정과 관련하여 몇 가지 불편한 점이 있어 자체 관리 도구가 필요합니다. 다시 한 번 말하지만, 큰 문제는 아니지만 Couchbase에 익숙해졌을 때 콘솔을 원하는 방식으로 사용할 수 없다면 사람들이 조금 꺼려할 수도 있습니다. 세 번째 바람은 온라인 N1QL 샌드박스가 있었으면 하는 것입니다. 웹 페이지에서 쿼리할 수 있는 일부 데이터가 미리 로드된 버킷이 있으면 설치나 구성 요구 사항 없이 튜토리얼을 살펴보고 바로 손을 더럽힐 수 있으면 정말 멋질 것 같습니다.
가장 좋아하는 책이나 작가는 무엇이며 그 이유는 무엇인가요?
저는 좋아하는 책과 작가가 몇 가지 있습니다. 어렸을 때 두 시리즈를 모두 읽었던 스티븐 킹의 "바흐만 시리즈"와 함께 제 마음속에 특별한 향수를 불러일으키는 아시모프와 "아이, 로봇" 컬렉션을 항상 좋아했습니다. 또한 운이 좋게도 '왕좌의 게임'을 일찍 접할 수 있었고, 룸메이트가 소개해 준 책이 얼마나 새롭고 장대했는지 정말 좋아했습니다. 가장 좋아하는 책으로는 다소 엉뚱한 선택을 하긴 했지만, 리처드 파인만이 칼텍에서 강의한 내용을 엮은 '파인만 강의'를 꼽고 싶은데, 이 책은 훌륭하게 쓰여졌고 여전히 현대 물리학에 대한 환상적인 관문을 제공합니다. 학습의 관점에서도 재미있을 뿐만 아니라 파인만의 스타일은 놀라울 정도로 재미있고 언제나 매력적입니다.
안녕하세요 Iain,
새로운 챔피언이 되셔서 정말 기쁩니다1
"적절한 역할 관리가 유용하고 보안을 강화할 수 있을 것 같다" - 좋은 소식, Couchbase 5에 역할 기반 보안 기능이 있습니다!
"세 번째 소원은 온라인 N1QL 샌드박스를 갖는 것입니다." - 저희도 이 문제를 해결했습니다! 확인해 보시고 여러분의 의견을 알려주세요: http://query.pub.couchbase.com/tutorial/#1