Thảo luận loạt bài về database mechanism
TIL
720
White

Kim Long Dinh viết ngày 15/05/2019

Thảo luận loạt bài về database mechanism hôm nay chúng ta sẽ phân tích thêm các khái niệm của cơ sở dữ liệu truyền thống nhé

  • Normalization: chuẩn càng cao dư thừa dữ liệu càng ít, độ chính xác cao và hi sinh nhiều về scale out. Trong #cqrs người ta đi ngược lại với khái niệm de-normalization để query nhanh hơn và distributed hơn

  • Partitioning: query trên những tập data nhỏ và vừa (column hoặc row) để tăng tốc độ xử lý, có thể tận dụng các phép toán song song. Truy vấn trên các logical unit data, nhưng dữ liệu vẫn ở trong cùng database

  • Sharding: Khi lượng dữ liệu lớn dần theo thời gian (điều không thể tránh khỏi ở đa phần ứng dụng) thì người ta hay nói đến sharding database, tức là tác vụ tách các table cùng schema riêng ra, gọi là các shard, và lưu ở nhiều physical machine hay node. Nếu ta tách theo các row thì ta được Horizontal Sharding, còn nếu ta tách theo column thì ta được Vertical Sharding

  • Replication: tái tạo 1 hoặc toàn bộ transaction (bao gồm schema) lên các vùng geo khác nhau, làm tăng mức độ sẵn có khi truy xuất của toàn hệ quản trị cơ sở dữ liệu.

  • Bổ sung thêm các phân tích về ACID và BASE, và tại sao lại cần message-driven để tái tạo các transaction log khi mà các database khác không phải là database truyền thống mà có thể là bất kỳ cơ chế lưu trữ nào phù hợp (e.g. blob store, CDN, NoSQL, NewSQL, Messaging platform, …), và làm thế nào để thỏa mãn BASE. Các khó khăn trong thực tế khi quyết định phân chia database theo isolated bounded components. Việc không đủ nguồn lực quản trị các kiểu CSDL mới (e.g. Neo4J, Kafka, …) sẽ vô tình đẩy người quyết định công nghệ sang dùng các dịch vụ đang có của đám mây => vendor lock-in. Và phân tích thêm sự phức tạp của việc quản lý nhiều loại CSDL phân rã trên toàn cầu (ví dụ: hệ thống có 4 service, mỗi service xài 2 kiểu CSDL, mỗi CSDL có thể là sharding, replica sang 3 thị trường, tổng cộng phải quản lý hơn 4 x 2 x 3 = 24

Nguồn bài viết:
https://tech.homestudy.edu.vn/thread/thao-luan-loat-bai-ve-database-mechanism/

https://tech.homestudy.edu.vn 16-05-2019

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Kim Long Dinh

13 bài viết.
2 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
4 5
Câu hỏi: 1. Có phải asyn/await dùng ThreadPool (quản lý nhiều separate thread), nếu có thì liệu rằng nhiều thread thực thi cùng lúc như vậy chương...
Kim Long Dinh viết 3 tháng trước
4 5
White
3 0
Đây là một trong loạt bài về kinh nghiệm xin việc, bài trước nói về kinh nghiệm viết resume. Giống như bài trước, bài này cũng chỉ dựa vào những ki...
Kim Long Dinh viết 3 tháng trước
3 0
White
3 0
Một hệ thống cũng giống như thời tiết xấu vậy. Nó không thể đoán trước và cũng không thể tránh khỏi. Và điều quan trọng nhất đối với 1 software eng...
Kim Long Dinh viết 3 tháng trước
3 0
Bài viết liên quan
White
0 4
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết 1 năm trước
0 4
White
2 0
I used Spring boot, Hibernate few times back then at University, I'v started using it again recently. In this (Link), I want to check how Spring J...
Rey viết 7 tháng trước
2 0
White
22 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết gần 3 năm trước
22 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
13 bài viết.
2 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!