{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,11]],"date-time":"2026-05-11T22:03:57Z","timestamp":1778537037731,"version":"3.51.4"},"reference-count":43,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2013,8,1]],"date-time":"2013-08-01T00:00:00Z","timestamp":1375315200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[2013,8]]},"abstract":"<jats:p>Spanner is Google\u2019s scalable, multiversion, globally distributed, and synchronously replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This article describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: nonblocking reads in the past, lock-free snapshot transactions, and atomic schema changes, across all of Spanner.<\/jats:p>","DOI":"10.1145\/2491245","type":"journal-article","created":{"date-parts":[[2020,4,4]],"date-time":"2020-04-04T07:41:33Z","timestamp":1585986093000},"page":"1-22","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1090,"title":["Spanner"],"prefix":"10.1145","volume":"31","author":[{"given":"James C.","family":"Corbett","sequence":"first","affiliation":[{"name":"Google, Inc."}]},{"given":"Jeffrey","family":"Dean","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Michael","family":"Epstein","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Andrew","family":"Fikes","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Christopher","family":"Frost","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"J. J.","family":"Furman","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Sanjay","family":"Ghemawat","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Andrey","family":"Gubarev","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Christopher","family":"Heiser","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Peter","family":"Hochschild","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Wilson","family":"Hsieh","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Sebastian","family":"Kanthak","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Eugene","family":"Kogan","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Hongyi","family":"Li","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Alexander","family":"Lloyd","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Sergey","family":"Melnik","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"David","family":"Mwaura","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"David","family":"Nagle","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Sean","family":"Quinlan","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Rajesh","family":"Rao","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Lindsay","family":"Rolig","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Yasushi","family":"Saito","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Michal","family":"Szymaniak","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Christopher","family":"Taylor","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Ruth","family":"Wang","sequence":"additional","affiliation":[{"name":"Google, Inc."}]},{"given":"Dale","family":"Woodford","sequence":"additional","affiliation":[{"name":"Google, Inc."}]}],"member":"320","published-online":{"date-parts":[[2013,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the International Conference on Very Large Data Bases. 922--933","author":"Abouzeid A.","unstructured":"Abouzeid , A. , Bajda-Pawlikowski , K. , Abadi , D. , Silberschatz , A. , and Rasin , A . 2009. Hadoopdb: An architectural hybrid of mapreduce and DBMS technologies for analytical workloads . In Proceedings of the International Conference on Very Large Data Bases. 922--933 . Abouzeid, A., Bajda-Pawlikowski, K., Abadi, D., Silberschatz, A., and Rasin, A. 2009. Hadoopdb: An architectural hybrid of mapreduce and DBMS technologies for analytical workloads. In Proceedings of the International Conference on Very Large Data Bases. 922--933."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/223784.223787"},{"key":"e_1_2_1_3_1","unstructured":"Amazon. 2012. Amazon dynamodb. http:\/\/aws.amazon.com\/dynamodb.  Amazon. 2012. Amazon dynamodb. http:\/\/aws.amazon.com\/dynamodb."},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the International Conference on Very Large Data Bases. 181--192","author":"Armbrust M.","unstructured":"Armbrust , M. , Curtis , K. , Kraska , T. , Fox , A. , Franklin , M. , and Patterson , D . 2011. PIQL: Success-tolerant query processing in the cloud . In Proceedings of the International Conference on Very Large Data Bases. 181--192 . Armbrust, M., Curtis, K., Kraska, T., Fox, A., Franklin, M., and Patterson, D. 2011. PIQL: Success-tolerant query processing in the cloud. In Proceedings of the International Conference on Very Large Data Bases. 181--192."},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of CIDR. 223--234","author":"Baker J.","unstructured":"Baker , J. , Bond , C. , Corbett , J. C. , Furman , J. , Khorlin , A. , Larson , J. , L\u00e9on , J.-M. , Li , Y. , Lloyd , A. , and Yushprakh , V . 2011. Megastore: Providing scalable, highly available storage for interactive services . In Proceedings of CIDR. 223--234 . Baker, J., Bond, C., Corbett, J. C., Furman, J., Khorlin, A., Larson, J., L\u00e9on, J.-M., Li, Y., Lloyd, A., and Yushprakh, V. 2011. Megastore: Providing scalable, highly available storage for interactive services. In Proceedings of CIDR. 223--234."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/223784.223785"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1376616.1376645"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.232196"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1365815.1365816"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the International Conference on Very Large Data Bases. 1277--1288","author":"Cooper B. F.","unstructured":"Cooper , B. F. , Ramakrishnan , R. , Srivastava , U. , Silberstein , A. , Bohannon , P. , Jacobsen , H.-A. , Puz , N. , Weaver , D. , and Yerneni , R . 2008. PNUTS: Yahoo!\u2019s hosted data serving platform . In Proceedings of the International Conference on Very Large Data Bases. 1277--1288 . Cooper, B. F., Ramakrishnan, R., Srivastava, U., Silberstein, A., Bohannon, P., Jacobsen, H.-A., Puz, N., Weaver, D., and Yerneni, R. 2008. PNUTS: Yahoo!\u2019s hosted data serving platform. In Proceedings of the International Conference on Very Large Data Bases. 1277--1288."},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of USENIX ATC. 223--236","author":"Cowling J.","unstructured":"Cowling , J. and Liskov , B . 2012. Granola: Low-overhead distributed transaction coordination . In Proceedings of USENIX ATC. 223--236 . Cowling, J. and Liskov, B. 2012. Granola: Low-overhead distributed transaction coordination. In Proceedings of USENIX ATC. 223--236."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629175.1629198"},{"key":"e_1_2_1_13_1","unstructured":"Douceur J. and Howell J. 2003. Scalable Byzantine-fault-quantifying clock synchronization. Tech. rep. MSR-TR-2003-67 MS Research.  Douceur J. and Howell J. 2003. Scalable Byzantine-fault-quantifying clock synchronization. Tech. rep. MSR-TR-2003-67 MS Research."},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the USENIX Symposium on Operating Systems Design and Implementation. 321--334","author":"Douceur J. R.","unstructured":"Douceur , J. R. and Howell , J . 2006. Distributed directory service in the Farsite file system . In Proceedings of the USENIX Symposium on Operating Systems Design and Implementation. 321--334 . Douceur, J. R. and Howell, J. 2006. Distributed directory service in the Farsite file system. In Proceedings of the USENIX Symposium on Operating Systems Design and Implementation. 321--334."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945450"},{"key":"e_1_2_1_16_1","unstructured":"Gifford D. K. 1982. Information storage in a decentralized computer system. Tech. rep. CSL-81-8 Xerox PARC.  Gifford D. K. 1982. Information storage in a decentralized computer system. Tech. rep. CSL-81-8 Xerox PARC."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043559"},{"key":"e_1_2_1_18_1","unstructured":"Google. 2008. Protocol buffers --- Google\u2019s data interchange format. https:\/\/code.google.com\/p\/protobuf.  Google. 2008. Protocol buffers --- Google\u2019s data interchange format. https:\/\/code.google.com\/p\/protobuf."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1132863.1132867"},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the Biennial Conference on Innovative Data Systems Research. 132--141","author":"Helland P.","year":"2007","unstructured":"Helland , P. 2007 . Life beyond distributed transactions: An apostate\u2019s opinion . In Proceedings of the Biennial Conference on Innovative Data Systems Research. 132--141 . Helland, P. 2007. Life beyond distributed transactions: An apostate\u2019s opinion. In Proceedings of the Biennial Conference on Innovative Data Systems Research. 132--141."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/78969.78972"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/279227.279229"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1753171.1753191"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02242709"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2009.56"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1217935.1217946"},{"key":"e_1_2_1_27_1","unstructured":"MarkLogic. 2012. Marklogic 5 product documentation. http:\/\/community.marklogic.com\/docs.  MarkLogic. 2012. Marklogic 5 product documentation. http:\/\/community.marklogic.com\/docs."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/800221.806730"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the International Conference on Very Large Data Bases. 330--339","author":"Melnik S.","unstructured":"Melnik , S. , Gubarev , A. , Long , J. J. , Romer , G. , Shivakumar , S. , Tolton , M. , and Vassilakis , T . 2010. Dremel: Interactive analysis of Web-scale datasets . In Proceedings of the International Conference on Very Large Data Bases. 330--339 . Melnik, S., Gubarev, A., Long, J. J., Romer, G., Shivakumar, S., Tolton, M., and Vassilakis, T. 2010. Dremel: Interactive analysis of Web-scale datasets. In Proceedings of the International Conference on Very Large Data Bases. 330--339."},{"key":"e_1_2_1_30_1","unstructured":"Mills D. 1981. Time synchronization in DCNET hosts. Internet project rep. IEN--173 COMSAT Laboratories.  Mills D. 1981. Time synchronization in DCNET hosts. Internet project rep. IEN--173 COMSAT Laboratories."},{"key":"e_1_2_1_31_1","unstructured":"Oracle. 2012. Oracle total recall. http:\/\/www.oracle.com\/technetwork\/database\/focus-areas\/storage\/total-recall-whitepaper-171749.pdf.  Oracle. 2012. Oracle total recall. http:\/\/www.oracle.com\/technetwork\/database\/focus-areas\/storage\/total-recall-whitepaper-171749.pdf."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1559845.1559865"},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the USENIX Symposium on Operating Systems Design and Implementation. 1--15","author":"Peng D.","unstructured":"Peng , D. and Dabek , F . 2010. Large-scale incremental processing using distributed transactions and notifications . In Proceedings of the USENIX Symposium on Operating Systems Design and Implementation. 1--15 . Peng, D. and Dabek, F. 2010. Large-scale incremental processing using distributed transactions and notifications. In Proceedings of the USENIX Symposium on Operating Systems Design and Implementation. 1--15."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/320251.320260"},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of USENIX ATC. 425--438","author":"Shraer A.","unstructured":"Shraer , A. , Reed , B. , Malkhi , D. , and Junqueiera , F . 2012. Dynamic reconfiguration of primary\/backup clusters . In Proceedings of USENIX ATC. 425--438 . Shraer, A., Reed, B., Malkhi, D., and Junqueiera, F. 2012. Dynamic reconfiguration of primary\/backup clusters. In Proceedings of USENIX ATC. 425--438."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213954"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043592"},{"key":"e_1_2_1_38_1","unstructured":"Stonebraker M. 2010a. Six SQL urban myths. http:\/\/highscalability.com\/blog\/2010\/6\/28\/voltdb-decapitates -six-sql-urban-myths-and-delivers-internet.html.  Stonebraker M. 2010a. Six SQL urban myths. http:\/\/highscalability.com\/blog\/2010\/6\/28\/voltdb-decapitates -six-sql-urban-myths-and-delivers-internet.html."},{"key":"e_1_2_1_39_1","unstructured":"Stonebraker M. 2010b. Why enterprises are uninterested in NoSQL. http:\/\/cacm.acm.org\/blogs\/blog-cacm\/99512-why-enterprises-are-uninterested-in-nosql\/fulltext.  Stonebraker M. 2010b. Why enterprises are uninterested in NoSQL. http:\/\/cacm.acm.org\/blogs\/blog-cacm\/99512-why-enterprises-are-uninterested-in-nosql\/fulltext."},{"key":"e_1_2_1_40_1","volume-title":"Proceedings of the International Conference on Very Large Data Bases. 1150--1160","author":"Stonebraker M.","unstructured":"Stonebraker , M. , Madden , S. , Abadi , D. J. , Harizopoulos , S. , Hachem , N. , and Helland , P . 2007. The end of an architectural era: (It\u2019s time for a complete rewrite) . In Proceedings of the International Conference on Very Large Data Bases. 1150--1160 . Stonebraker, M., Madden, S., Abadi, D. J., Harizopoulos, S., Hachem, N., and Helland, P. 2007. The end of an architectural era: (It\u2019s time for a complete rewrite). In Proceedings of the International Conference on Very Large Data Bases. 1150--1160."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213838"},{"key":"e_1_2_1_42_1","volume-title":"Proceedings of the International Conference on Data Engineering. 996--1005","author":"Thusoo A.","unstructured":"Thusoo , A. , Sarma , J. S. , Jain , N. , Shao , Z. , Chakka , P. , Zhang , N. , Antony , S. , Liu , H. , and Murthy , R . 2010. Hive --- A petabyte scale data warehouse using Hadoop . In Proceedings of the International Conference on Data Engineering. 996--1005 . Thusoo, A., Sarma, J. S., Jain, N., Shao, Z., Chakka, P., Zhang, N., Antony, S., Liu, H., and Murthy, R. 2010. Hive --- A petabyte scale data warehouse using Hadoop. In Proceedings of the International Conference on Data Engineering. 996--1005."},{"key":"e_1_2_1_43_1","unstructured":"VoltDB. 2012. VoltDB resources. http:\/\/voltdb.com\/resources\/whitepapers.  VoltDB. 2012. VoltDB resources. http:\/\/voltdb.com\/resources\/whitepapers."}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2491245","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2491245","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:39:37Z","timestamp":1750235977000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2491245"}},"subtitle":["Google\u2019s Globally Distributed Database"],"short-title":[],"issued":{"date-parts":[[2013,8]]},"references-count":43,"aliases":["10.1145\/2518037.2491245","10.1145\/2518037.2491245"],"journal-issue":{"issue":"3","published-print":{"date-parts":[[2013,8]]}},"alternative-id":["10.1145\/2491245"],"URL":"https:\/\/doi.org\/10.1145\/2491245","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"value":"0734-2071","type":"print"},{"value":"1557-7333","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,8]]},"assertion":[{"value":"2013-01-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-08-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}