스패너(데이터베이스)
Spanner (database)스패너(Spanner)는 구글이 개발한 분산형 SQL 데이터베이스 관리·저장 서비스다.[1]글로벌 트랜잭션, 강력하게 일관된 읽기, 자동 다중 사이트 복제 및 페일오버 등의 기능을 제공한다.Spanner는 자사의 광고 사업인 Google 애드스의 데이터베이스인 Google F1에서 사용되고 있다.[2]
특징들
스패너는 많은 양의 돌연변이 구조 데이터를 저장한다.Spanner는 사용자가 관계형 데이터가 포함된 SQL을 사용하여 임의 쿼리를 수행하는 동시에 동기식 복제를 통해 해당 데이터에 대한 강력한 일관성과 고가용성을 유지할 수 있도록 한다.
Spanner의 주요 기능:
- 트랜잭션은 스패너 우주 내의 행, 열, 테이블 및 데이터베이스에 걸쳐 적용될 수 있다.
- 클라이언트는 자동 다중 사이트 복제 및 페일오버를 사용하여 데이터 복제 및 배치를 제어할 수 있다.
- 복제는 동기적이며 매우 일관적이다.
- 읽기는 매우 일관성이 있으며 오래된 읽기가 가능하도록 데이터가 버전화된다. 즉, 클라이언트는 가비지 수집 기간에 따라 이전 버전의 데이터를 읽을 수 있다.
- 데이터를 읽고 쓸 수 있는 기본 SQL 인터페이스 지원
역사
Spanner는 2012년에 구글 내부 데이터 센터에 대해 처음 설명되었다.[3]
스패너의 SQL 기능은 2017년에 추가되어 SGIMOD 2017 논문에 문서화되었다.[4]2017년 구글 클라우드 플랫폼의 일부로 '클라우드 스패너'[5]라는 이름으로 출시됐다.
건축
Spanner는 최대 수백 대의 서버에 걸쳐 데이터를 분할(파티션)하는 작업의 일부로 Paxos 알고리즘을 사용한다.[1]GPS 클럭과 원자 클럭을 이용한 하드웨어 지원 클럭 동기화를 대폭 활용해 글로벌 일관성을 확보한다.[1]TrueTime은 구글의 분산 클라우드 인프라의 브랜드명으로, 스패너에게 전 세계 데이터 센터에서 단조롭게 증가하는 타임스탬프를 생성할 수 있는 능력을 제공한다.[6]
스패너 위에 구글의 F1 SQL 데이터베이스 관리 시스템(DBMS)이 구축돼 구글의 맞춤형 MySQL 변종을 대체한다.[2][7]
참조
- ^ a b c 2012년 코벳 외
- ^ a b 슈트 외 2012.
- ^ Clark, Jack (September 18, 2012). "Google reveals Spanner, the database tech that can span the planet". ZDNet. Retrieved August 4, 2021.
- ^ "Spanner: Becoming a SQL System".
- ^ Srivastava, Deepti (February 14, 2017). "Introducing Cloud Spanner: a global database service for mission-critical applications". Google Cloud Blog. Retrieved August 4, 2021.
- ^ "Cloud Spanner: TrueTime and external consistency". Google Cloud. Retrieved 2020-11-24.
- ^ 슈트 외 2012, 페이지 19: '요약:우리는 MySQL에서 F1로 크고 중요한 애플리케이션 제품군을 이전했다.'
참고 문헌 목록
- 코벳, 제임스 C;딘, 제프리, 엡스타인은 마이클 Fikes, 앤드류, 프로스트, 크리스토퍼, 퍼먼, JJ, Ghemawat, 산자이;Gubarev, 안드레이, Heiser, 크리스토퍼, Hochschild, 피터, 셰 윌슨으로, Kanthak, 세바스찬, 코간, 유진, Li는 Hongyi, 로이드, 알렉산더, Melnik, 세르게이, Mwaura, David;Nagle, 데이비드, Quinlan, 션, 라오'Rajesh, Rolig, 린제이, 사이토, YAsushi, Szymaniak, 미할, 테일러, 크리스토퍼, 왕, 루스, 우드 퍼드, 데일,"Spanner:구글의 Globally-Distributed 데이터베이스"(PDF), 저자 OSDI 2012년, 구글, 182012년 9월 돌려받지 못 했다.
- Date, Christopher ‘Chris’ J (2004), "6. Relations, Part II. The Relational Model", An Introduction to Database Systems (8th ed.), Addison Wesley, ISBN 978-0-32119784-9.
- Shute, Jeffrey ‘Jeff’; Oancea, Mircea; Ellner, Stephan; Handy, Benjamin ‘Ben’; Rollins, Eric; Samwel, Bart; Vingralek, Radek; Whipkey, Chad; Chen, Xin; Jegerlehner, Beat; Littlefield, Kyle; Tong, Phoenix (2012), "F1 — the Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business", Research (presentation), SIGMOD: Google.
- Shute, Jeffrey ‘Jeff’; Oancea, Mircea; Ellner, Stephan; Handy, Benjamin ‘Ben’; Rollins, Eric; Samwel, Bart; Vingralek, Radek; Whipkey, Chad; Rae, Ian; Apte, Himani; Littlefield, Kyle; Cieslewicz, John (2013), "F1: A Distributed SQL Database That Scales", Research (presentation), International Conference on Very Large Data Bases: Google.