View profile

#135 - Commands and Events in a Distributed System

Revue
 
 

Grokking Newsletter

August 23 · Issue #136 · View online
Tuyển tập những bài viết hay cùng sự kiện bổ ích dành cho kĩ sư phần mềm tại Việt Nam.

Những bài viết hay
Distributed Hash Tables And Why They Are Better Than Blockchain For Exchanging Health Records Distributed Hash Tables And Why They Are Better Than Blockchain For Exchanging Health Records
Effective Microservices: 10 Best Practices Effective Microservices: 10 Best Practices
Commands and Events in a Distributed System Commands and Events in a Distributed System
Góc Database
Google Spanner là một hệ quản trị cơ sở dữ liệu phân tán có quy mô lớn đang được sử dụng bởi nhiều dịch vụ quan trọng bên trong Google.
Khởi đầu được xây dựng như một kho dữ liệu dạng key-value có hỗ trợ một vài tính năng như transaction cập nhật nhiều dòng, external consistency, transparent failover. Sau 7 năm, dần dần Spanner đang được nâng cấp dần trở thành một hệ cơ sở dữ liệu quan hệ.
Nếu như bạn nào đã từng làm việc với các hệ cơ sở dữ liệu phân tán, đặc biệt là có cơ hội trải qua cả các hệ thống NoSQL và SQL thì hẳn sẽ cảm nhận được sự khó khăn trong việc hỗ trợ tăng tải của các cơ sở dữ liệu loại SQL, cũng như sự thiếu hụt các tính năng hỗ trợ truy vấn của các NoSQL. Rõ ràng, việc xây dựng và nâng cấp Spanner thành một hệ cơ sở dữ liệu phân tán sẽ giúp kết hợp ưu điểm của cả hai thế giới, nhưng đây cũng là một thử thách không dễ vượt qua.
Trong bài báo này, các tác giả chia sẻ lại những kỹ thuật mà họ đã vận dụng trong thiết kế spanner, đặc biệt là các kỹ thuật có liên quan đến phiên dịch và thực thi query:
  • Những kỹ thuật đã được sử dụng để xây dựng thực thi query theo mô hình phân tán (distributed query execution)
  • Kỹ thuật Range Extraction, giúp cho hệ thống quyết định được server nào nên xử lý câu query, cũng như làm sao để tối thiểu hoá phạm vi dòng cần quét trên các server.
  • Thảo luận về cách xử lý lỗi trong quá trình thực thi câu query. Cơ chế này giúp cho các lập trình viên sử dụng Spanner không cần quan tâm về lỗi xảy ra (về mặt hạ tầng) khi thực thi câu query.
  • Bên trong Google có nhiều hệ cơ sở dữ liệu cùng được xây dựng cho các mục đích khác nhau, nhưng cùng chia sẻ việc sử dụng SQL làm ngôn ngữ truy vấn. Và một trong các kỹ thuật được các tác giả của bài báo chia sẻ đó là việc làm sao để sử dụng cú pháp SQL một cách nhất quán giữa Spanner và các hệ thống khác.
  • SSTable, một thiết kế gắn liền với Big-table đã được thay thế bằng Ressi, một kho dữ liệu dạng blockwise -columnar được xem là sẽ tối ưu hơn cho việc hỗ trợ đồng thời 2 loại tải là OLTP và OLAP
  • Ngoài ra một vài bài học liên quan đến quá trình deploy cũng được chia sẻ trong bài báo.
Mời các bạn cùng tham khảo bài báo để hiểu thêm chi tiết: link
Code & Tools
Sponsor
We’ve built an engineering and AI powerhouse in bustling southern Vietnam, where we tackle AI’s biggest challenges in the public safety space. With cameras that depict truth, automated reporting and evidence management that will triple the amount of time officers can spend serving their communities, and Smart Weapons that protect life in the moment of conflict, Axon has revolutionized the world of public safety - and by working here, you can contribute every day to the mission to protect life.
Quotes
Fix the cause, not the symptom
- Steve Maguire
Did you enjoy this issue?
If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue
Charmington La Pointe, 181 Cao Thang, Dist 10, Ho Chi Minh city, Viet Nam