특징 Amazon RDS가 PostgreSQL에 대한 지원을 시작한 지 10년이 지났습니다. Stack Overflow의 2023년 개발자 설문조사에 따르면, 1980년대 Turing Award 수상자 Michael Stonebraker가 작성한 관계형 시스템은 전문 개발자들 사이에서 가장 인기 있는 데이터베이스가 되었으며, 거의 절반이 사용했습니다.
클라우드 제공업체의 유혹에 넘어가 DBA와 데이터베이스에 대해 아는 모든 사람을 해고한 후 스키마 설계와 쿼리 최적화가 필요한 시기를 파악하는 사람들을 본 적이 있습니다. 음, Amazon은 그들을 도와주지 않을 것입니다.
PostgreSQL의 인기 상승과 동시에 클라우드에 데이터베이스 시스템을 배포하거나 PostgreSQL 호환 데이터베이스 서비스를 활용하는 방법이 엄청나게 다양해졌습니다. 예를 들어, Azure와 Google을 포함한 주요 3개 클라우드 공급자는 RDS에서와 같이 PostgreSQL의 표준 버전을 호스팅할 뿐만 아니라 Aurora 및 AlloyDB와 같은 PostgreSQL 호환 고급 데이터베이스 서비스도 제공합니다.
한편 일부 공급업체에서는 CockroachDB 및 Yugabyte와 같은 PostgreSQL 호환 프런트 엔드를 갖춘 서버리스 시스템을 만들었습니다.
그리고 그것은 단지 PostgreSQL입니다. MySQL, MongoDB 및 MariaDB를 포함하여 널리 사용되는 다른 데이터베이스 시스템에도 유사한 옵션을 사용할 수 있습니다. 이러한 선택을 탐색하려면 개발자와 데이터베이스 관리자는 각 접근 방식의 장점과 단점을 이해해야 합니다.
MySQL 성능 바이블의 저자이자 오픈소스 데이터베이스 컨설팅 회사인 Percona의 창립자이자 전 CEO인 Peter Zaitsev는 클라우드에 데이터베이스를 배포하는 다양한 방법의 등장을 목격했으며 가벼운 선택에 대해 경고했습니다.
완전히 관리됩니까, 아니면 약간의 불만을 품고 있습니까?
사용자가 VM에서 배포를 관리하거나 공급업체가 관리하는 서버리스 시스템을 채택하기를 원하는지 여부는 수행하려는 작업의 양, 원하는 제어 및 유연성의 정도, 잠금 상태를 허용할 수 있는 정도에 따라 달라집니다. 특정 공급업체.
여기에 클라우드 공급업체는 특정 워크로드를 위한 독점 데이터베이스를 제공합니다. Amazon에서는 완전 관리형 독점 가치 핵심 데이터베이스인 DynamoDB를 제공하고, Google은 완전 관리형 서버리스 데이터 웨어하우스인 BigQuery를 제공합니다.
Zaitsev는 “이러한 시스템은 특정 클라우드 공급업체로부터 구입한 경우에만 사용할 수 있습니다. 자체적으로 실행할 수는 없습니다.”라고 말했습니다.
또는 사용자는 PostgreSQL 또는 MySQL과 같은 널리 사용되는 오픈 소스 데이터베이스를 기반으로 하는 표준 시스템을 얻을 수 있지만 Amazon Aurora 및 Google의 AlloyDB와 같은 완전 관리형 서비스로 크게 향상되고 제공됩니다.
마지막으로 Google Cloud SQL 또는 Amazon RDS와 같이 MySQL 또는 PostgreSQL 기반의 완전 관리형 “축소형” 서비스가 있습니다.
Zaitsev는 “이것은 GUI와 인터페이스, 자동 백업 등을 갖춘 표준 데이터베이스 기술입니다.”라고 말했습니다.
처음부터 끝까지 사용자는 이러한 각 선택 사항에 대해 가장 큰 종속성부터 가장 낮은 종속성까지 직면하게 됩니다. 하지만 클라우드 공급업체가 말하는 “완전 관리형 서비스”가 무엇을 의미하는지 질문해야 합니다.
그는 “이것이 바로 클라우드 공급업체가 사용자에게 권장하고 추진하는 것이며 일반적으로 데이터베이스를 실행하기 위한 기본 인프라에 비해 더 많은 비용을 청구하기 때문에 비용이 가장 많이 든다”고 말했습니다.
DBA를 해고하지 마십시오!
“하지만 완전 관리형 서비스에 관해 이야기할 때는 ‘성능이나 보안을 담당하는 사람은 누구인가요?’라고 물을 수 있습니다. 그리고 그들은 돌아와서 ‘이것은 공동의 책임이다’라고 말합니다. 그들은 환경을 유지하고 실행하는 동안 귀하가 귀하의 역할을 수행하기를 기대합니다. 그것은 종종 오해됩니다. 사람들이 클라우드 제공업체의 유혹에 넘어가 DBA와 데이터베이스에 대해 아는 모든 사람을 해고하는 것을 본 적이 있습니다. 그들은 스키마 설계와 쿼리 최적화가 필요합니다. 글쎄, Amazon은 그들을 도와주지 않을 것입니다. 모든 클라우드 제공업체는 돌아서서 ‘얘들아, 우리는 데이터베이스를 계속 가동하고 있지만 그 모든 것들은 특정 애플리케이션과 데이터베이스 사용은 귀하에게 달려 있습니다.”라고 Zaitsev는 말했습니다.
클라우드 공급업체의 축소형 또는 향상된 데이터베이스 서비스를 사용하는 데 따른 또 다른 문제는 사용자가 기업 정책이나 지리적 제한에 따라 다양한 클라우드 제공업체의 클라우드 인프라 전반에 걸쳐 시스템을 사용하려고 할 때 발생합니다.
Zaitsev는 “예를 들어 Amazon RDS는 다른 클라우드에서 실행해야 하기 전까지는 단순해 보입니다. 그런 다음 RDS와 클라우드 인프라의 미묘한 차이도 처리해야 하고 그러면 매우 복잡해집니다”라고 말했습니다.
사용자는 가상 머신을 사용하여 클라우드 자체에서 데이터베이스 배포를 관리할 수 있지만, 데이터베이스의 클라우드 배포에 대한 가장 빠르게 성장하는 접근 방식은 Google에서 시작된 오픈 소스 컨테이너 오케스트레이션인 Kubernetes를 이용하는 것입니다.
“VM을 다루는 것보다 훨씬 더 유연하고 발전된 프로그래밍 가능한 인프라를 제공합니다. 동시에 온프레미스 및 모든 클라우드에서 실행할 수 있습니다. Kubernetes는 훨씬 더 성숙해졌고 훨씬 더 발전했습니다. 상태 비저장 애플리케이션을 위한 솔루션으로 설계되었던 초기 단계에 비해 데이터베이스를 실행할 수 있는 능력이 더 뛰어납니다.”라고 Zaitsev는 말했습니다.
클라우드의 수많은 데이터베이스 옵션 속에서 공급업체 그룹은 자체 백엔드이지만 공통 데이터베이스와 호환되는 프런트엔드인 서버리스 시스템을 제공하기 시작했습니다. 예를 들어 CockroachDB와 Yugabyte는 모두 PostgreSQL 호환 프런트 엔드를 갖춘 서버리스 데이터베이스를 제공합니다.
지난 6월 Cockroach CEO이자 공동 창업자인 Spencer Kimball은 다음과 같이 말했습니다. 레지스터 서버리스 시스템을 Azure로 이식하는 데 5년이 걸렸습니다. 이는 다른 클라우드 아키텍처의 허용 범위와 실패를 이해하는 것과 관련된 “적지 않은 양의 작업”이었습니다.
Yugabyte는 PostgreSQL과 100% 호환성을 주장하고 MariaDB는 최근 분산형 MariaDB 백엔드에 PostgreSQL 호환 프런트 엔드를 출시했지만 Kimball은 CockroachDB가 PostgreSQL과 완벽하게 호환되지는 않지만 그 수준에 도달하고 있음을 인정했습니다.
그러나 사용자는 서버리스 데이터베이스 뒤에 무엇이 있는지 의문을 제기해야 한다고 Zaitsev는 말했습니다. “결국 서버가 있는 게 맞죠? 비용이 청구되지 않을 뿐이고 서버에 무슨 일이 일어나고 있는지 알 수도 있고 모를 수도 있습니다.”
서버리스에 대한 한 가지 접근 방식은 로드에 따라 인스턴스 크기를 늘리거나 줄이는 것이었습니다. 또 다른 방법은 Google Spanner 또는 CockroachDB에서 다중 테넌트 접근 방식을 제공하는 것이었습니다.
“그들은 생각이 다릅니다. 여러 테넌트가 공유하는 분산 데이터베이스가 있습니다. 이러한 접근 방식의 이점은 동적으로 공유할 수 있는 용량을 더 많이 사용할 수 있다는 것입니다. 더 많은 리소스가 필요하더라도 더 이상 필요하지 않습니다. 더 큰 인스턴스 크기를 재할당하고 가동해야 합니다.”라고 Zaitsev는 말했습니다.

오픈 소스 데이터베이스: 데이터베이스란 무엇이며 왜 중요한가요?
더 읽어보기
로드가 매우 불규칙한 경우 서버리스가 편리합니다. 사용자는 시스템을 사용하지 않을 때 시스템을 계속 작동시키는 데 비용을 지불하지 않습니다. 반면에 시스템이 잘 사용되고 운영자가 시스템에 대한 수요를 이해하고 예측할 수 있다면 가격 측면에서 가치가 떨어질 수 있다고 그는 말했습니다.
올해 초 Gartner는 2022년 DBMS 시장이 14.4% 성장하여 910억 달러에 달했으며 서비스형 클라우드 플랫폼 모델이 거의 모든 이익을 얻었으며 클라우드 지출이 55%로 온프레미스의 45%를 초과했다고 밝혔습니다. .
클라우드로의 발전은 Gartner가 2019년에 예측한 것(2022년까지 모든 데이터베이스의 75%가 클라우드 플랫폼으로 배포되거나 마이그레이션될 것이라고 예상한 것)보다 더 느립니다. 사용자는 향후 데이터베이스 전략을 결정할 때 사용할 수 있는 다양한 옵션을 탐색하는 데 시간을 투자하는 것 같습니다. ®