Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
826,5 KB
Nội dung
GVHD: PGS.TS Nguyễn Hà Nam Nhóm 1: 1. Nguyễn Thanh Tịnh 2. Vương Đình Dũng Tổng quan về Riak Một số ưu nhược điểm Một số hướng ứng dụng Riak? Là một hệ cơ sở dữ liệu phân tán mã nguồn mở Dữ liệu được chứa trong các bucket, các khóa và các giá trị Thiết kế dựa theo thuyết CAP của Eric Brewer - Consistency - Availability - Partition tolerance 3/21 Vòng tròn cụm Mỗi máy chủ vật lý là một node, mỗi node chứa 1 hoặc nhiều node ảo (vnode) Tất cả các node trong cụm là bình đẳng, không tồn tại khái niệm master node 4/21 Giao thức Gossip Chia sẻ thông tin giữa các node về trạng thái vòng tròn cụm: - Vai trò của mỗi node. - Các thuộc tính của các bucket. Mỗi node định kỳ gửi thông tin mà nó biết đến một số node được lựa chọn ngẫu nhiên. Chức năng: - Phát hiện các node bị mất kết nối với vòng tròn cụm. - Làm tăng tính nhất quán của dữ liệu. 5/21 Tạo bản sao Bảo đảm cho dữ liệu không bị mất nếu có node bị mất kết nối. Có thể tùy chỉnh cho từng bucket. Tiến trình Read Repair: sửa lỗi dữ liệu không nhất quán. Hinted handoff: bù trừ cho node bị mất kết nối. 6/21 Backend lưu dữ liệu Engine lưu trữ đặc biệt được tối ưu cho việc truy xuất dữ liệu dạng key/value. Hỗ trợ nhiều loại backend, có thể đưa thêm vào hoặc gỡ ra. Mỗi bucket có thể dùng một backend khác nhau. Mặc định dùng Bitcask. 7/21 Backend lưu dữ liệu - Bitcask File entry Thư mục File 8/21 Backend lưu dữ liệu - Bitcask Keydir - Nằm trọn vẹn trong bộ nhớ trong. -> Thao tác đọc dữ liệu nhanh. 9/21 Backend lưu dữ liệu - Bitcask Tiến trình hợp nhất dữ liệu 10/21 [...]... thi tại các node chứa dữ liệu input Reduce phase - thực thi tại node điều phối 15/21 Link-walking Link - Thiết lập các mối quan hệ một chiều giữa các đối tượng dữ liệu - Cho phép thực hiện những truy vấn lần theo các mối quan hệ từ một đối tượng đến các đối tượng khác - Đọc và cập nhật link thông qua HTTP Link header Link: < /riak/ list/1>; riaktag="previous", < /riak/ list/3>; riaktag="next" - Link-walking... Yammer,… Xây dựng các ứng dụng Mobile đáng tin cậy và scalability 19/21 Một số hướng ứng dụng Caching Layer Hệ thống lưu trữ file đám mây hoặc kho lưu trữ dữ liệu đa phương tiện Lưu dữ liệu người dùng cho mạng xã hội và các trò chơi trực tuyến Các hệ thống thương mại điện tử phân tán 20/21 ... < /riak/ list/3>; riaktag="next" - Link-walking bắt đầu từ một đối tượng dữ liệu đầu vào, lần theo các link của đối tượng đó để tìm những đối tượng phù hợp GET /riak/ buckets/keys/[bucket],[tag],[keep] 16/21 Một số ưu nhược điểm của Riak Ưu điểm: - Chống chịu lỗi tốt - Tính sẵn sàng và tính scalability cao - Hoàn toàn địa phương hóa dữ liệu - Độ trễ thấp và thông lượng lớn - HTTP + JSON - Link-walking -... tượng dữ liệu Ba trường hợp sẽ tạo ra sibling: - Các thao tác ghi xảy ra đồng thời - Sử dụng giá trị vector clock sai - Thao tác ghi không dùng vector clock 14/21 Map-Reduce Xử lý dữ liệu theo thời gian thực và xử lý song song Tăng tính địa phương hóa cho dữ liệu Job: - có thể được viết bằng Javascript và gửi đi thông qua HTTP - nhận kết quả ở dạng JSON Map phase - thực thi tại các node chứa dữ. .. nguồn mở 17/21 Một số ưu nhược điểm của Riak Nhược điểm -Thắt nút cổ chai tại Reduce phase - Vấn đề với backend Bitcask + Bảng keydir phải được chứa toàn bộ trong bộ nhớ trong - Không hỡ trợ những đối tượng dữ liệu lớn (>100MB) 18/21 Một số hướng ứng dụng Các ứng dụng hoạt động trên nền Web Ứng dụng thu thập thông tin người dùng -Mozilla Test Pilot,… Lưu dữ liệu người dùng cho mạng xã hội và các... việc cập nhật các đối tượng dữ liệu: - Cho lần cập nhật gần nhất giành chiến thắng - Trả về cho client tất cả các phiên bản của object 12/21 Giải quyết xung đột – Vector clock Phương pháp so sánh các phiên bản của đối tượng Ví dụ: [{client1,3,tstamp},{client2,1,tstamp},{client3,2,tstamp}] Vector Clock Pruning : 13/21 Giải quyết xung đột - Sibling Sibling được tạo ra khi Riak không thể xác định . Tịnh 2. Vương Đình Dũng Tổng quan về Riak Một số ưu nhược điểm Một số hướng ứng dụng Riak? Là một hệ cơ sở dữ liệu phân tán mã nguồn mở Dữ liệu được chứa trong các bucket, các khóa. Bitcask. 7/21 Backend lưu dữ liệu - Bitcask File entry Thư mục File 8/21 Backend lưu dữ liệu - Bitcask Keydir - Nằm trọn vẹn trong bộ nhớ trong. -> Thao tác đọc dữ liệu nhanh. 9/21 Backend lưu dữ liệu -. file đám mây hoặc kho lưu trữ dữ liệu đa phương tiện Lưu dữ liệu người dùng cho mạng xã hội và các trò chơi trực tuyến Các hệ thống thương mại điện tử phân tán 20/21