اسپنر (Spanner) یک سرویس مدیریت پایگاه داده و ذخیرهسازی اس کیو ال توزیع شده است که توسط گوگل توسعه یافتهاست. [۱] ویژگیهایی مانند تراکنشهای سراسری، خواندنهای کاملاً ثابت، و تکرار خودکار چند سایتی و اصلاح خرابی را فراهم میکند. اسپنر در گوگل اف وان Google F1، پایگاه دادهای برای تجارت تبلیغاتی آن در گوگل ادز (Google Ads) استفاده میشود.[۲][۳]
امکانات
اسپنر مقادیر زیادی از دادههای ساختاری قابل تغییر را ذخیره میکند. اسپنر به کاربران اجازه میدهد تا با استفاده از SQL با دادههای رابطه ای پرس و جوهای دلخواه را انجام دهند و در عین حال سازگاری قوی و در دسترس بودن بالا برای آن دادهها را با تکرار همزمان حفظ کنند.
ویژگیهای کلیدی اسپنر:
- تراکنشها را میتوان در ردیفها، ستونها، جداول و پایگاههای داده در فضای عمومی اسپنر اعمال کرد.
- مشتریان میتوانند تکرار و قرار دادن دادهها را با استفاده از تکرار خودکار چند سایتی و اصلاح خرابی کنترل کنند.
- همانندسازی داده به صورت همزمان و به شدت پیوسته انجام میشود.
- خواندنها به شدت پیوسته هستند و دادهها به گونه ای نسخه بندی شدهاند که امکان خواندن دادههای قدیمی را فراهم میکند: مشتریان میتوانند نسخههای قبلی دادهها را، از طریق پنجرههای جمعآوری زباله، بخوانند.
- از یک رابط بومی (نیتیو) SQL برای خواندن و نوشتن دادهها پشتیبانی میکند.
تاریخچه
اسپنر برای اولین بار در سال ۲۰۱۲ برای مراکز داده داخلی گوگل معرفی شد.[۴]
قابلیت SQL اسپنر در سال ۲۰۱۷ اضافه شد و در مقاله SIGMOD 2017 مستند شد.[۵] در سال ۲۰۱۷ به عنوان بخشی از سکوی ابری گوگل با نام اسپنر ابری "Cloud Spanner" در دسترس قرار گرفت.[۶]
معماری
اسپنر از الگوریتم پکسوس Paxos به عنوان بخشی از عملیات خود برای تکه کردن (پارتیشن) دادهها در بین صدها سرور استفاده میکند. [۱] از همگامسازی ساعت به کمک سختافزار با استفاده از ساعتهای GPS و ساعتهای اتمی برای اطمینان از پیوستگی جهانی استفاده زیادی میکند. [۱] ترو تایم نام تجاری زیرساخت ابری توزیع شده گوگل است که به اسپنر توانایی ایجاد مُهرهای زمانی در حال افزایش یکنواخت در مراکز داده در سراسر جهان را میدهد.[۷]
سیستم مدیریت پایگاه داده (DBMS) اس کیو ال گوگل اف وان در بالای اسپنر ساخته شدهاست، [۳] که جایگزین نوع سفارشی مای اس کیو ال ویژه گوگل میشود. [۳]
منابع
- ↑ ۱٫۰ ۱٫۱ ۱٫۲ Corbett et al. 2012.
- ↑ بررسی سرویس مدیریت پایگاه داده اسپنر - Spanner گوگل ادز، مجله (۲۰۲۳-۰۴-۱۲). «مقایسه کامل سئو و گوگل ادز! کدام مقرون به صرفه است؟». مجله پاسخ. دریافتشده در ۲۰۲۳-۰۴-۲۷.
- ↑ ۳٫۰ ۳٫۱ ۳٫۲ Shute et al. 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.
کتابشناسی - فهرست کتب
- Corbett, James C; Dean, Jeffrey; Epstein, Michael; Fikes, Andrew; Frost, Christopher; Furman, JJ; Ghemawat, Sanjay; Gubarev, Andrey; Heiser, Christopher, "Spanner: Google's Globally-Distributed Database" (PDF), Proceedings of OSDI 2012, Google, retrieved 18 September 2012.
- Date, Christopher ‘Chris’ J (2004), "6. Relations, Part II. The Relational Model", An Introduction to Database Systems (8th ed.), Addison Wesley, ISBN 978-0-321-19784-9.
- Shute, Jeffrey ‘Jeff’; Oancea, Mircea; Ellner, Stephan; Handy, Benjamin ‘Ben’; Rollins, Eric; Samwel, Bart; Vingralek, Radek; Whipkey, Chad; Chen, Xin (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 (2013), "F1: A Distributed SQL Database That Scales", Research (presentation), International Conference on Very Large Data Bases: Google.