Spanner Hệ cơ sở dữ liệu phân tán

15 856 11
Spanner  Hệ cơ sở dữ liệu phân tán

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Spanner là hệ cơ sở dữ liệu phân tán toàn cầu của Google. Nó có khả năng mở rộng cho phép lưu trữ hàng tỷ tỷ dòng dữ liệu trong hàng triệu node phân tán qua hàng trăm datacenter. Trọng tâm chính của Spanner là quản lý sao chép dữ liệu qua các datacenter. Spanner hỗ trợ ACID cho các giao tác và cung cấp ngôn ngữ truy vấn dựa trên SQL. Spanner sử dụng một TrueTime API mới để đồng bộ và xử lý đồng thời.

XỬ LÝ ĐỒNG THỜI TRÊN HỆ CSDL SPANNER 1 NỘI DUNG BÁO CÁO 1. Giới thiệu Spanner 2. Kiến trúc Spanner 3. Spanserver Software Stack 4. TrueTime 5. Timestamps and TrueTime 6. Điều khiển đồng thời (Concurrency Control) 7. Đánh giá 2 Giới thiệu Spanner  Spanner là hệ cơ sở dữ liệu phân tán toàn cầu của Google.  Spanner có khả năng mở rộng cho phép lưu trữ hàng tỷ tỷ dòng dữ liệu trong hàng triệu node phân tán qua hàng trăm datacenter.  Trọng tâm chính của Spanner là quản lý sao chép dữ liệu qua các datacenter.  Spanner hỗ trợ ACID cho các giao tác và cung cấp ngôn ngữ truy vấn dựa trên SQL.  Spanner sử dụng một TrueTime API mới để đồng bộ và xử lý đồng thời. 3 Kiến trúc Spanner  Một sự triển khai Spanner gọi là universe.  Một universe có nhiều zone (physic location).  Một datacenter có một hoặc nhiều zone.  Một zone có một zonemaster và hàng trăm đến hành nghìn spanserver. Spanner Server Configuration  Universemaster cung cấp thông tin trạng thái của tất cả các zone hoặc thông debugging.  Placement driver tự động chuyển dữ liệu giữa các zones hoặc định kỳ tương tác với server để tìm kiếm dữ liệu cần chuyển đổi. 4 Spanserver Software Stack  Quản lý 100 – 1000 tablet.  Trạng thái của tablet lưu trong Colossus Distributed File System dưới dạng file B-tree và write-ahead log.  Mỗi tablet được nhân bản qua nhiều datacenter sử dụng Paxos.  Mỗi Paxos có một leader tồn tại tương đối dài.  Tập hợp các bản sao (replicas) gọi là một nhóm Paxos (Paxos group) 5 Spanserver Software Stack Paxos Group 6 True Time  Một API cung cấp thông tin về thời gian.  Có các phương thức sau:  TT.now(): trả về thời gian hiện tại dưới dạng TTinterval: [earliest, latest], đảm bảo thời gian tuyệt đối khi TT.now() được gọi là ở trong TTinterval.  TT.after(t): trả về true nếu chắc chắn đã qua thời gian chỉ định t, ngược lại: false.  TT.before(t): trả về true nếu chắc chắn trước thời gian chỉ định t, ngược lại: false. 7 TrueTime  TT.now() time earliest latest TT.now() 2*ε  ε là biên độ lỗi tức thời (instantaneous error bound).  TTinterval tt = TT.now()  tt.lastest – tt.earliest = 2*ε  Thực thế, ε nằm trong khoảng từ 1 đến 7ms. 8 Timestamps and TrueTime  Gán timestamp đến một transaction  Sử dụng 2PL đối với một write transaction T Pick s = TT.now().latest Acquired locks Release locks Wait until TT.now().earliest > ss average ε Commit wait average ε  Commit wait là khoảng thời gian mà coordinator leader đảm bảo các clients không nhìn thấy bất kỳ dữ liệu nào đã commit bởi T cho đến khi TT.after(s) là true 9 Điều khiển đồng thời  Có 3 loại hoạt động mà Spanner hỗ trợ:  Read/write transaction  Read-only transaction  Snapshot reads  Hoạt động write đơn lẻ được cài đặt như một read/write transaction.  Một hoạt động read (không phải snapshot read) được cài đặt như một read-only transaction. 10 [...]... thay đổi schema, task được thực hiện sớm Ngược lại, nó bị chặn Đánh giá  Spanner là hệ CSDL phân tán quy mô toàn cầu đầu tiên của Google và hỗ trợ giao tác phân tán nhất quán bên ngoài (externally-consistently)  Spanner kế thừa những ưu điểm từ BigTable và MegaStore và khắc phục nhược điểm của chúng  Một tính năng then chốt của Spanner là TrueTime Cảm ơn! ... participants of s Release locks Acquired locks TP1 Release locks Acquired locks TP2 Compute s for each Prepared Send s Commit wait done Compute overall s Điều khiển đồng thời  Read-Only Transaction  Spanner yêu cầu scope-expression cho mỗi read-only transaction  Scope-expression là một biểu thức tóm tắt các khóa (key) sẽ được đọc bởi toàn bộ transaction  Nếu giá trị của scope được thực thi bên trong

Ngày đăng: 01/09/2014, 11:55

Từ khóa liên quan

Mục lục

  • Slide 1

  • NỘI DUNG BÁO CÁO

  • Giới thiệu Spanner

  • Kiến trúc Spanner

  • Spanserver Software Stack

  • Spanserver Software Stack

  • True Time

  • TrueTime

  • Timestamps and TrueTime

  • Điều khiển đồng thời

  • Điều khiển đồng thời

  • Điều khiển đồng thời

  • Điều khiển đồng thời

  • Đánh giá

  • Cảm ơn!

Tài liệu cùng người dùng

Tài liệu liên quan