#28 - Database và bài toán scaling
Ấn phẩm Dijkstra tập 2 sẽ được mở bán vào tuần sau. Những bạn nào đã pre-order thông qua form thì vui lòng check mail trong cuối tuần này để biết chính xác thời gian mở bán nhe các bạn.
- Team Grokking
Những bài viết hay
Kết hợp những datatabase model trong kiến trúc Microservice — kipalog.com
Hãy hình dung bạn muốn xây dựng một website bán hàng. Khách hàng được tìm kiếm thông tin và đặt hàng. Với một kiến trúc cơ bản thì sẽ bao gồm 1 Webserver và 1 relational database ở phía sau (Postgres, MySQL, ...). Tuy nhiên nhu cầu khách hàng tìm kiếm sản phẩm là rất nhiều, và với 1 request tìm kiếm sản phẩm từ khách hàng tương ứng với 1 câu truy vấn vào database, như vậy khi số lượng người dùng tăng lên, kiến trúc này sẽ không còn đáp ứng nhu cầu. Vì vậy cần kết hợp những loại database khác như Elasticsearch, MongoDB, ...
Kiến trúc database của Shopify — shopifyengineering.myshopify.com
Vào năm 2015, hệ thống của Shopify không thể đáp ứng được toàn bộ nhu cầu của khách hàng đang tăng trưởng khá nhanh, vì vậy các kỹ sư ở Shopify đã phải thiết kế một kiến trúc gồm các "pod" để đáp ứng quy mô toàn cầu của ứng dụng.
Thiết kế Queue sử dụng MongoDB — www.agile-code.com
Bạn có biết MongoDB không chỉ đơn thuần là một document-type database engine mà còn có thể sử dụng để thiết kế một Message Queue chứa những document hay không ?
Có thể bạn chưa biết
Để ám chỉ một ứng dụng phần mềm có tính khả dụng và ổn định cao, và đáng tin cậy trong quá trình vận hành, người ta thường sử dụng thuật ngữ Five-Nines. Five-Nines (99.999%) là thuật ngữ thường dùng để chỉ các hệ thống có downtime dưới 15 phút 15 giây trong một năm.
Các thuật ngữ khác tương tự:
- Hệ thống có độ khả dụng 2 số 9 (99%), tổng downtime phải dưới 3 ngày 15 giờ 40 phút trong 1 năm.
- Hệ thống có độ khả dụng 3 số 9 (99.9%), tổng downtime phải dưới 8 giờ 46 phút trong 1 năm.
- Hệ thống có độ khả dụng 4 số 9 (99.99%), tổng dowtime phải dưới 52 phút 46 giây trong 1 năm.
- Hệ thống có độ khả dụng 5 số 9 (99.999%), tổng downtime phải dưới 15 phút 15 giây trong một năm.
Sự kiện nổi bật
AngelHack Hackathon in Ho Chi Minh: Smart Mobility — www.facebook.com
Xin giới thiệu với các bạn AngelHack Hackathon, một cuộc thi Hackathon dành cho dân lập trình, chủ đề là “Thiết kế giải pháp di chuyển tiện lợi dành cho khu đô thị trong chính cộng đồng của bạn bằng những công nghệ tiên phong như IoT, AI, VR/AR và Blockchain.”
Đội chiến thắng trong cuộc thi sẽ nhận được giải thưởng 1000 đô tiền mặt kèm theo khóa học tăng tốc khởi nghiệp trực tuyến kéo dài 12 tuần HACKcelerator của AngelHack trị giá 25,000 đô. Ngoài ra, nhà vô địch còn có cơ hội tham dự Global Demo Day tại Mỹ cùng nhiều phần quà khác từ nhà tài trợ.
Tin tức từ công ty
Các công ty có nhu cầu chia sẻ tin tức tuyển dụng/event vui lòng tham khảo văn bản hướng dẫn để biết thêm chi tiết: http://r.grokking.org/newsletter-jobposting
Software Engineer at Wizeline — www.wizeline.com
Là một công ty trẻ có tốc độ phát triển rất nhanh, Wizeline là một công ty chuyên cung cấp phần mềm chăm sóc khách hàng sử dụng AI cùng ứng dụng quản lý dự án thông minh. Team Wizeline có văn phòng ở nhiều nước như Mỹ, Mexico,… và đang tuyển thêm nhiều vị trí, đặc biệt là vị trí Software Engineer.
Mỗi tuần một câu đố
Cảm ơn Holistics Software đã cung cấp câu đố tuần này. Các team nào muốn gửi câu đố vui lòng gửi về newsletter@grokking.org
[Database] Để scale một hệ thống CSDL SQL có lượng ghi (write) nhiều, những cách nào sau đây là hợp lý? (chọn tất cả câu đúng)
A. Thêm read replica và chuyển hết phần đọc (read) sang replica.
B. Xoá những index ít được xài để tăng tốc độ ghi.
C. Ghi theo nhóm (batch writes) thay vì ghi từng dòng (khi có thể).
D. Thêm index vào những cột được ghi/cập nhật nhiều để tăng tốc độ ghi.
E. Chuyển các cột sang dùng cấu trúc dữ liệu json để tăng tốc độ ghi.