{{위키데이터 속성 추적}}
'''스패너'''(Spanner)는 [[구글]]에서 개발한 분산 SQL 데이터베이스 관리 및 저장 서비스이다.{{Sfn | Corbett | Dean | Epstein | Fikes | 2012}} 글로벌 트랜잭션, 강력한 일관된 읽기, 자동 다중 사이트 복제 및 장애 조치와 같은 기능을 제공한다. 스패너는 광고 사업인 [[구글 애즈]], [[Gmail]] 및 구글 포토의 데이터베이스인 '''구글 F1'''에서 사용된다.{{Sfn | Shute | Oancea | Ellner | Handy | 2012}}<ref>{{웹 인용|title=Announcing Cloud Spanner Price Performance Updates |url=https://cloud.google.com/blog/products/databases/announcing-cloud-spanner-price-performance-updates}}</ref>

== 특징 ==
스패너는 변경 가능한 구조화된 대량의 데이터를 저장한다. 스패너를 사용하면 사용자는 동기식 복제를 통해 해당 데이터에 대한 강력한 일관성과 고가용성을 유지하면서 관계형 데이터와 함께 SQL을 사용하여 임의 쿼리를 수행할 수 있다.

스패너의 주요 기능:

* 트랜잭션은 스패너 유니버스 내의 행, 열, 테이블, 데이터베이스에 걸쳐 적용될 수 있다.
* 클라이언트는 자동 다중 사이트 복제 및 장애 조치를 사용하여 데이터의 복제 및 배치를 제어할 수 있다.
* 복제는 동기식이며 강력한 일관성을 갖는다.
* 읽기는 강력한 일관성을 가지며 오래된 읽기를 허용하도록 데이터 버전이 관리된다. 클라이언트는 가비지 수집 기간에 따라 이전 버전의 데이터를 읽을 수 있다.
* 데이터 읽기 및 쓰기를 위한 기본 SQL 인터페이스를 지원한다.

== 역사 ==
스패너는 2012년에 내부 [[구글 데이터 센터]]용으로 처음 설명되었다.<ref>{{웹 인용|url= https://www.zdnet.com/article/google-reveals-spanner-the-database-tech-that-can-span-the-planet/ |title= Google reveals Spanner, the database tech that can span the planet | first = Jack | last = Clark |publisher=ZDNet |date=September 18, 2012 |access-date= August 4, 2021 }}</ref>

스패너의 SQL 기능은 2017년에 추가되었으며 SIGMOD 2017 문서에 문서화되었다.<ref>{{서적 인용|url= https://dl.acm.org/citation.cfm?id=3056103 |title=Spanner: Becoming a SQL System|date=9 May 2017 |pages=331–343 |doi=10.1145/3035918.3056103 |isbn=9781450341974 |s2cid=3055672 }}</ref> 2017년에 '클라우드 스패너'라는 이름으로 구글 클라우드 플랫폼의 일부로 제공되었다.<ref>{{웹 인용|url= https://cloud.google.com/blog/products/gcp/introducing-cloud-spanner-a-global-database-service-for-mission-critical-applications |work= Google Cloud Blog |title= Introducing Cloud Spanner: a global database service for mission-critical applications | first = Deepti | last = Srivastava | publication-date = February 14, 2017 |access-date= August 4, 2021}}</ref>

== 건축 ==
스패너는 작업의 일부로 [[팩소스 (컴퓨터 과학)|팩소스]] 알고리즘을 사용하여 최대 수백 대의 서버에 데이터를 샤딩(분할)한다.{{Sfn | Corbett | Dean | Epstein | Fikes | 2012}} 글로벌 일관성을 보장하기 위해 GPS 시계 및 원자 시계를 사용하여 하드웨어 지원 시계 동기화를 많이 사용한다.{{Sfn | Corbett | Dean | Epstein | Fikes | 2012}} 트루타임(TrueTime)은 구글 분산 클라우드 인프라의 브랜드 이름으로, 스패너가 전 세계 데이터 센터에서 단조롭게 증가하는 타임스탬프를 생성할 수 있는 기능을 제공한다.<ref>{{웹 인용|title=Cloud Spanner: TrueTime and external consistency|url=https://cloud.google.com/spanner/docs/true-time-external-consistency|access-date=2020-11-24|website=Google Cloud|language=en}}</ref>

구글의 F1 SQL 데이터베이스 관리 시스템(DBMS)은 스패너를 기반으로 구축되어{{Sfn | Shute | Oancea | Ellner | Handy | 2012}} 구글의 맞춤 [[MySQL]] 변형을 대체한다.{{Sfn | Shute | Oancea | Ellner | Handy | 2012 | p = 19 | ps =: ‘Summary: We've moved a large and critical application suite from MySQL to F1.’}}

== 각주 ==
<references />

== 참고 문헌 ==
* {{콘퍼런스 인용| first1 = James C | last1 = Corbett | first2 = Jeffrey | last2 = Dean | authorlink2 = Jeff Dean (computer scientist) | first3 = Michael | last3 = Epstein | first4 = Andrew | last4 = Fikes | first5 = Christopher | last5 = Frost | first6 = JJ | last6 = Furman | first7 = Sanjay | last7 = Ghemawat | authorlink7 = Sanjay Ghemawat| first8 = Andrey | last8 = Gubarev | first9 = Christopher | last9 = Heiser | first10 = Peter | last10 = Hochschild | first11 = Wilson | last11 = Hsieh | first12 = Sebastian | last12 = Kanthak | first13 = Eugene | last13 = Kogan | first14 = Hongyi | last14 = Li | first15 = Alexander | last15 = Lloyd | first16 = Sergey | last16 = Melnik | first17 = David | last17 = Mwaura | first18 = David | last18 = Nagle | first19 = Sean | last19 = Quinlan | first20 = Rajesh | last20 = Rao | first21 = Lindsay | last21 = Rolig | first22 = Yasushi | last22 = Saito | first23 = Michal | last23 = Szymaniak | first24 = Christopher | last24 = Taylor | first25 = Ruth | last25 = Wang | first26 = Dale | last26 = Woodford | title = Spanner: Google's Globally-Distributed Database | url = http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en//archive/spanner-osdi2012.pdf | conference= [[Operating Systems Design and Implementation|10th USENIX Symposium on Operating Systems Design and Implementation]] (OSDI'12) | year=2012 | location=Hollywood, CA | accessdate = 18 September 2012 | ref = {{harvid|Corbett | Dean | Epstein | Fikes | 2012}}}}.
* {{인용| last = Date | first = Christopher ‘Chris’ J | year = 2004 | title = An Introduction to Database Systems | edition = 8th | publisher = Addison Wesley | isbn = 978-0-32119784-9 | chapter = 6. Relations, Part II. The Relational Model | ref = none | url-access = registration | url = https://archive.org/details/introductiontoda0000date }}.
* {{인용| url = http://research.google.com/pubs/pub38125.html | title = Research | type = presentation | place = [[SIGMOD]] | contribution = F1 — the Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business | year = 2012 | first1 = Jeffrey ‘Jeff’ | last1 = Shute | first2 = Mircea | last2 = Oancea | first3 = Stephan | last3 = Ellner | first4 = Benjamin ‘Ben’ | last4 = Handy | first5 = Eric | last5 = Rollins | first6 = Bart | last6 = Samwel | first7 = Radek | last7 = Vingralek | first8 = Chad | last8 = Whipkey | first9 = Xin | last9 = Chen | first10 = Beat | last10 = Jegerlehner | first11 = Kyle | last11 = Littlefield | first12 = Phoenix | last12 = Tong}}.
* {{인용| url = https://research.google/pubs/pub41344/ | title = Research | type = presentation | place = [[International Conference on Very Large Data Bases]] | contribution = F1: A Distributed SQL Database That Scales | year = 2013 | first1 = Jeffrey ‘Jeff’ | last1 = Shute | first2 = Mircea | last2 = Oancea | first3 = Stephan | last3 = Ellner | first4 = Benjamin ‘Ben’ | last4 = Handy | first5 = Eric | last5 = Rollins | first6 = Bart | last6 = Samwel | first7 = Radek | last7 = Vingralek | first8 = Chad | last8 = Whipkey | first9 = Ian |last9 = Rae | first10 = Himani | last10 = Apte | first11 = Kyle | last11 = Littlefield  |first12= John |last12= Cieslewicz }}.

== 더 읽기 ==
* {{웹 인용|last1=Clark |first1=Jack |title=Google goes back to the future with SQL F1 database |url=https://www.theregister.com/2013/08/30/google_f1_deepdive/ |website=www.theregister.com |language=en |date=30 Aug 2013}}

{{구글}}

[[분류:데이터베이스]]
[[분류:분산 컴퓨팅]]
[[분류:구글의 소프트웨어]]
[[분류:NewSQL]]