분류

데이터베이스 기술에 관한 한, NorthScale은 프로페셔널한 선택입니다.

월요일, 애널리스트 매트 애슬렛은 다음과 같은 글을 올렸습니다. pro-SQL은 NoSQL에 어떻게 대응할까요? 451 그룹의 "너무 많은 정보" 블로그에서 확인하세요. 잘 읽어보세요. 글의 요지는 다음과 같습니다: SQL 데이터베이스 기술, 멤캐시드 또는 "NoSQL" 데이터베이스 기술이 "최고"라고 주장하는 개인과 회사가 많이 있습니다. 이 제목은 "프로 SQL" 진영과 NoSQL 진영이 서로 대립하며 어떤 상을 놓고 다투고 있다는 것을 암시합니다. 그는 매우 실용적으로 결론을 내립니다: 이것은 "우리 대 그들"의 싸움이 되어서는 안 됩니다. 저희도 전적으로 동의합니다. NorthScale은 SQL을 찬성하지도, NoSQL을 반대하지도 않습니다.

이러한 기술 중 절대적인 의미에서 '최고'라고 할 수 있는 기술은 없습니다. 하지만 각각의 기술은 특정 애플리케이션, 사용 사례 및 환경에 따라 최선의 선택이 될 수 있습니다. 많은 애플리케이션에는 관계형 데이터베이스 기술이, 다른 많은 애플리케이션에는 멤캐시와 결합된 관계형 데이터베이스 기술이, 그 외의 애플리케이션에는 대체 데이터베이스 기술이 최선의 선택이 될 수 있습니다. 일부 애플리케이션의 경우 이러한 접근 방식을 조합하는 것이 좋습니다. "해당 워크로드에 따라 많은 것이 달라질 것"이라는 Matt의 결론에 덧붙여, 이것은 엄밀히 말해 기술적인 결정이 아니라는 것도 사실입니다. 또한 개발자 및 운영 기술, 도구 투자, 통합 요구 사항, 하드웨어 인프라 및 기타 여러 요인에 따라 많은 것이 달라집니다. 이러한 요소들 역시 특정 소프트웨어 시스템 뒤에 운영 데이터를 저장하는 데 어떤 접근 방식을 사용해야 하는지에 대한 결정에 영향을 미칠 수밖에 없습니다. 우리의 목표는 사용자에게 지침과 선택권을 제공하는 것입니다. 노스케일 멤캐시드 서버는 적절한 경우 관계형 데이터베이스 기술과 함께 배포되며, 노스케일 멤베이스 서버는 대규모 애플리케이션과 데이터에 적합한 탄력적인 데이터베이스 기술로 클라우드 컴퓨팅 환경에 적합합니다. 또한 관계형에서 관계형 + 멤캐시드, 관계형 + 멤캐시드 + 멤베이스까지 명확하고 원활한 경로를 제공하는 것이 중요하다고 생각합니다. Matt의 글의 서두에서 언급하지 않고는 이 글을 마무리할 수 없습니다. Matt가 지적했듯이 멤캐시드 는 키-값 저장소가 아니라 캐시(따라서 이름)입니다. 이러한 주장을 비웃는 사람들도 있겠지만, 이름에 과부하가 걸리면서 문제를 흐리는 것은 사용자 혼란과 데이터 손실로 이어질 수 있으며, 실제로도 발생하고 있습니다. 그러나 한 가지 분명한 사실은 많은 사용자들이 멤캐시의 일부 특성(단순하고 빠르며 수평적 확장성)과 멤캐시드 클라이언트 및 API 호환성을 갖추면서도 데이터 저장소의 추가적인 의미와 보장을 갖춘 무언가에 대한 열망을 표명하고 있다는 점입니다. 멤캐시드 커뮤니티는 이러한 요청에 적절히 대응할 수 있도록 스토리지 엔진 프레임워크를 개발해 왔습니다. 스토리지 엔진 프레임워크는 공개된 개발 브랜치로 공개적으로 개발되었으며, 추가 검토를 거쳐 메인 커뮤니티 개발 브랜치에 추가될 예정입니다. 이 프레임워크는 멤캐시의 "프론트엔드"(수신기, 패킷 검사기, 프로토콜 디코더, 일부 스레딩 지원 및 통계)를 프론트엔드의 지시에 따라 데이터 작업을 수행하는 백엔드와 페어링할 수 있게 해줍니다. 이러한 백엔드 스토리지 엔진은 지속성, 복제 및 기타 수많은 기능을 제공할 수 있으며, 이는 모놀리식 "멤캐시 배포"에 강제로 적용하기에는 특허적으로 비생산적인 기능입니다. 노스케일은 최근 Zynga, NHN과 함께 Membase Server를 발표했습니다. 이 프로젝트는 멤캐시드 스토리지 엔진 인터페이스를 활용하여 프랑켄슈타인 제품(일종의 멤캐시드와 비슷하게 저장하는 제품)을 만들지 않고도 멤캐시드와 완벽하게 호환되는 키-값 저장소를 구축할 수 있습니다. 아마도 이 접근 방식의 가장 중요한 장점은 멤캐시드 프로토콜과 완벽하게 호환되며 최신 코드 베이스로 구축되었다는 점일 것입니다. 따라서 배포판 사용자는 (노스케일이 소스 코드의 주요 기여자인) 커뮤니티의 노력으로부터 계속 혜택을 받을 수 있습니다. 커뮤니티의 맥락에서 작업하는 대신, 다른 사람들은 멤캐시드 프로젝트의 특정 시점 스냅샷을 찍어 개인적으로 변경하기 시작했습니다. 문제는 그 결과 만들어진 시스템이 더 이상 멤캐시드 프로젝트의 리더 중 한 사람의 말을 인용하자면 "멤캐시드의 배포판"이 아니라는 것입니다. 이는 멤캐시드의 프라이빗 포크입니다. 한때는 멤캐시드 - 오래된(그리고 점점 더 오래된) 코드에 대한 독점적인 변경 사항이 포함된 이전 버전의 멤캐시드 스냅샷입니다. 이러한 접근 방식에는 심각한 단점이 있습니다. 이러한 시스템의 사용자는 오픈 소스를 인프라 소프트웨어 개발의 성공적인 모델로 만드는 요소, 즉 소프트웨어를 발전시키고 향상시키며 코드의 문제를 강조하고 수정하는 풍부한 혁신가 커뮤니티를 놓치게 됩니다. 노스케일 멤캐시드 서버는 사용자는 멤캐시드 프로토콜과의 완벽한 호환성, SASL 인증, 안전한 멀티테넌시를 가능하게 하는 버킷 엔진, 기타 프로젝트의 현재 및 향후 개선 사항 등 다양한 이점을 누릴 수 있습니다. 사용자는 오래된 코드 베이스에 얽매이지 않습니다. 또한, 커뮤니티에서 지원하는 API와 인터페이스를 사용하기 때문에 데이터를 저장하는 일종의 멤캐시와 같은 프랑켄슈타인 제품을 만들지 않고도 멤캐시와 호환되는 솔루션을 구축할 수 있습니다. 그리고 우리는 캐시가 데이터베이스라는 것을 세상에 설득해야 하는 불편한 입장에 놓이지 않아도 됩니다.

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

작성자

게시자 제임스 필립스

제임스 필립스는 카우치베이스의 공동 창립자이자 CEO, CSO입니다. 제임스 필립스는 20년 이상의 소프트웨어 업계 경력을 보유하고 있습니다. James는 Apple II 및 TRS-80 마이크로컴퓨터 플랫폼용 소프트웨어를 작성하면서 경력을 시작했습니다.

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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