Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Hệ thống quản lý cơ sở dữ liệu cỡ lớn:Thiết kế và Kiến trúc sư

Hệ thống quản lý cơ sở dữ liệu là hộp đựng thông tin. Chúng tôi sẽ cố gắng thiết kế Hệ thống quản lý cơ sở dữ liệu để cơ sở dữ liệu phải được quản lý tốt và phù hợp với các mục đích.

Trong bài này, chúng ta sẽ thảo luận về việc thiết kế và quản trị các hệ thống cơ sở dữ liệu cỡ lớn. Chúng tôi sẽ sử dụng nhiều cấu thành bao gồm công nghệ Cơ sở dữ liệu, lưu trữ, phân phối dữ liệu, nội dung máy chủ, mẫu kiến ​​trúc và một số cấu trúc khác.

Tốt hơn là chúng ta nên tìm kiếm một cơ sở dữ liệu có kích thước lớn trong miền Telco, nền tảng Thương mại điện tử, miền Bảo hiểm, Hệ thống ngân hàng, Chăm sóc sức khỏe, Hệ thống năng lượng, v.v. Chúng ta phải lưu ý một vài thông số trước khi lựa chọn công nghệ cơ sở dữ liệu phù hợp. tức là Lưu lượng truy cập, TPS (Giao dịch mỗi giây), bộ nhớ ước tính mỗi ngày, HA và DR.

Thiết kế Cơ sở dữ liệu Kích thước Lớn

Trong khi xây dựng cơ sở dữ liệu của chúng ta, chúng ta phải chú ý đến một số tham số bởi vì việc thay đổi cơ sở dữ liệu bằng một chất thay thế thường rất có vấn đề. Hãy xem xét chúng ngay bây giờ.

Công nghệ Cơ sở dữ liệu

Công nghệ cơ sở dữ liệu là yếu tố chính. Nếu bạn chọn đúng hệ thống quản lý cơ sở dữ liệu, nó sẽ giúp doanh nghiệp của bạn hoạt động hiệu quả và dễ dàng.

Có nhiều công nghệ cơ sở dữ liệu khác nhau với nhiều tính năng. Tuy nhiên, trong khi làm việc với các công nghệ cơ sở dữ liệu nguồn mở, bạn có thể không có quyền truy cập vào một số tính năng rõ ràng của các giải pháp được xác định trước. Các công nghệ cơ sở dữ liệu doanh nghiệp như Microsoft SQL Server, Oracle, v.v. sẽ cung cấp chúng.

Rất nhiều công nghệ cơ sở dữ liệu doanh nghiệp triển khai HA (Tính khả dụng cao), DR (Phục hồi sau thảm họa), Phản chiếu, Sao chép dữ liệu, Bản sao đọc thứ cấp, và các giải pháp kinh doanh có thể cấu hình sẵn sàng và thuận tiện hơn đáng kể. Chúng có thể có hoặc không có trong cơ sở dữ liệu mã nguồn mở.

Có rất nhiều lý do. Ví dụ:đôi khi chúng tôi nhận thấy rằng kiến ​​trúc hiện tại đang bị xáo trộn bởi vì những yếu tố được đề cập ở trên không hoạt động như chúng tôi cần.

Storage

Việc lưu trữ ảnh hưởng mạnh mẽ đến hiệu suất của giải pháp kinh doanh. Các giải pháp kinh doanh yêu cầu bộ nhớ xếp hạng nhất hoặc SSD với một lượng IOPS nhất định. Tuy nhiên, có phải như vậy không? Tại cơ sở hoặc Đám mây, kích thước và loại lưu trữ xác định chi phí cơ sở hạ tầng.

Trong khi xem xét hiệu suất lưu trữ, chúng ta cần chú ý đến loại dữ liệu và hành vi xử lý dữ liệu. Chúng tôi cần chọn lựa chọn bộ nhớ theo dữ liệu của người dùng và quá trình xử lý dữ liệu đó. Nếu người dùng sẽ sử dụng nhiều cơ sở dữ liệu, chúng tôi cần cung cấp lựa chọn lưu trữ qua SAN cho các cơ sở dữ liệu khác nhau cho các loại dữ liệu và hành vi xử lý dữ liệu.

Kỹ sư Cơ sở dữ liệu sẽ cung cấp một kiểm tra lại tốt hơn về các cơ sở dữ liệu khác nhau cần tính toán IOPS nếu người dùng không cần lưu trữ đặc biệt.

Phân phối Dữ liệu

Hầu hết các công nghệ cơ sở dữ liệu gần đây (SQL hoặc NoSQL) đều cung cấp các tính năng phân vùng hoặc Sharding.

  • Phân vùng phân phối lại dữ liệu trong Hệ thống tệp dựa trên khóa phân vùng.
  • Sharding phân phối thông tin trên các nút cơ sở dữ liệu và dữ liệu sẽ được lưu trữ trong cùng một máy hoặc máy khác.

Về cơ bản, mỗi dịch vụ cơ sở dữ liệu hoặc bảng cơ sở dữ liệu sẽ không yêu cầu các tính năng Phân vùng / Làm sắc nét dữ liệu. Chúng chỉ yêu cầu được áp dụng trên cơ sở dữ liệu chứa các đối tượng có kích thước lớn hơn. Điều đó sẽ nâng cao hiệu suất.

Nội dung máy chủ

Các máy khác nhau yêu cầu các loại và kích thước Bộ nhớ và CPU khác nhau. Bạn phải xem xét các tài sản cấp phần cứng, chẳng hạn như Bộ nhớ, Bộ xử lý, v.v. Ví dụ, một máy phải xử lý cơ sở dữ liệu lớn hơn hoặc nhiều cơ sở dữ liệu sẽ cần nhiều bộ nhớ và CPU hơn. Do đó, chất lượng của Bộ nhớ và Bộ xử lý là đáng kể. Nó sẽ xử lý các loại bộ xử lý khác nhau có sẵn trên thị trường với các bộ nhớ đệm CPU khác nhau.

Nhiều lần, chúng tôi gặp phải những vấn đề mà chúng tôi có thể không biết. Chúng tôi đã không chú ý đến việc sử dụng và vai trò của bộ nhớ đệm CPU của phần cứng. Nhưng điều quan trọng là lựa chọn và đáp ứng các yêu cầu phần cứng với hệ thống cơ sở dữ liệu lớn hơn.

Dạng kiến ​​trúc

Trong thiết kế cơ sở dữ liệu, mô hình Kiến trúc luôn đóng một vai trò mẫu mực. Trước đó, các hệ thống cơ sở dữ liệu đã được thiết kế một cách cực kỳ nguyên khối. Giờ đây, chúng tôi sử dụng dựa trên Dịch vụ vi mô hoặc Kết hợp (Nguyên khối + Vi mô).

Hiệu suất, khả năng mở rộng và thời gian chết bằng không phụ thuộc rất nhiều vào kiểu kiến ​​trúc và thiết kế cơ sở dữ liệu. Mỗi ứng dụng có thể có một cơ sở dữ liệu riêng biệt và tất cả các cơ sở dữ liệu có thể được ghép nối với nhau một cách lỏng lẻo. Trong trường hợp bất kỳ ứng dụng hoặc cơ sở dữ liệu nào gặp sự cố, một phần khác của sản phẩm sẽ không bị gián đoạn. Tất cả các dịch vụ vi mô sẽ độc lập và kết hợp lỏng lẻo.

Dịch vụ vi mô

Sơ đồ dưới đây giải thích cách tất cả các ứng dụng đang triển khai và giao tiếp với sự trợ giúp của cơ sở dữ liệu của chúng, được kết hợp lỏng lẻo cùng một lúc. Chúng ta có thể thao tác dữ liệu với T-SQL. Thông tin sẽ được thu thập hoặc tích lũy bởi các ứng dụng khác nhau và khách hàng sẽ có thể truy cập vào dữ liệu. Tham khảo sơ đồ với số lượng ứng dụng được chia tỷ lệ và cơ sở dữ liệu tích hợp của nó.

Nguyên khối

Chúng ta nên sử dụng RDBMS nào? Nó có thể là Oracle, Microsoft SQL Server, Postgres, MySQL, MongoDB hoặc bất kỳ cơ sở dữ liệu nào khác. Cách xử lý thông thường với tất cả các bảng hoặc đối tượng được quản lý trong một hoặc nhiều cơ sở dữ liệu trong một máy chủ duy nhất được gọi là Nguyên khối.

Kết hợp

Phép lai là sự hoán vị của Dịch vụ nguyên khối và Dịch vụ vi mô. Đây là một thực tế khá phổ biến, vì nó cho phép nhiều ứng dụng, nhiều cơ sở dữ liệu và máy chủ cơ sở dữ liệu. Nhiều cơ sở dữ liệu và máy chủ cơ sở dữ liệu có thể được kết hợp chặt chẽ với nhau.

Ví dụ:truy vấn với JOIN giữa các bảng thuộc hai hoặc nhiều cơ sở dữ liệu trong cùng một máy chủ cơ sở dữ liệu hoặc khác nhau. Truy vấn từ xa được sử dụng để truy xuất / thao tác dữ liệu với một máy chủ cơ sở dữ liệu khác.

Mọi thứ là về kiến ​​trúc SQL Server. Tuy nhiên, chúng ta đang nói về thao tác dữ liệu giữa các bảng khác nhau trong cùng một cơ sở dữ liệu hoặc các cơ sở dữ liệu khác nhau có thể nằm trên cùng một máy chủ hoặc các máy chủ khác nhau.

Trong kiến ​​trúc Kết hợp hoặc Đơn nguyên, chúng tôi sử dụng các THAM GIA giữa các bảng khác nhau trong cùng một cơ sở dữ liệu hoặc các cơ sở dữ liệu khác nhau. Nó khá phức tạp khi chúng tôi tuân theo các tiêu chuẩn cốt lõi của Dịch vụ vi mô vì sự phân phối của các bảng có thể nằm giữa các dịch vụ cơ sở dữ liệu (Dbas).

Trong công nghệ cơ sở dữ liệu doanh nghiệp như Microsoft SQL Server, Oracle, v.v., người dùng có thể truy vấn các bảng của cơ sở dữ liệu phân tán với sự trợ giúp của Nối máy chủ được liên kết. Nhưng nó không có sẵn trong tất cả các công nghệ cơ sở dữ liệu mã nguồn mở. Nó được gọi là phương pháp Tight-Coupled có thể không hoạt động khi dịch vụ cơ sở dữ liệu từ xa không khả dụng.

Bây giờ, chúng ta hãy thảo luận về việc làm cho nó kết hợp lỏng lẻo. Tại sao chúng ta cần thao tác dữ liệu giữa các cơ sở dữ liệu từ xa?

Tại sao chúng tôi yêu cầu Thao tác Dữ liệu giữa các Cơ sở Dữ liệu Từ xa?

Người dùng sẽ yêu cầu dữ liệu được truy xuất từ ​​nhiều hơn một dịch vụ cơ sở dữ liệu khi hệ thống được thiết kế với sự trợ giúp của Dịch vụ Micro hoặc Dịch vụ kết hợp. Toàn bộ quá trình được nhìn thấy từ phần phụ trợ có thể xử lý lượng dữ liệu do ứng dụng thao tác.

Khi chúng tôi xem xét truy vấn cơ sở dữ liệu chéo thời gian thực, chúng tôi luôn tham gia vào các bảng thực thể chính, không phải các bảng siêu dữ liệu. Các bảng chính sẽ không lớn hơn các bảng siêu dữ liệu. Đối với mục đích báo cáo, chúng tôi luôn sử dụng kho dữ liệu để tổng hợp tất cả thông tin. Nhưng điều đó không dễ dàng để quản lý và duy trì cho từng sản phẩm. Nếu chúng tôi thiết kế giải pháp doanh nghiệp, chúng tôi có thể mua được nhà kho. Nhưng chúng tôi không đủ khả năng chi trả cho các sản phẩm vừa hoặc nhỏ.

Ví dụ, chúng tôi cần một báo cáo với dữ liệu từ một số bảng nằm trong các cơ sở dữ liệu khác nhau. Đây không phải là một nhiệm vụ dễ dàng thực hiện, vì nó đối chiếu dữ liệu bằng cách sử dụng các dịch vụ nhỏ khác nhau và hợp nhất để tạo báo cáo. Do đó, dữ liệu cần thiết cần được đồng bộ hóa.

Chúng tôi có thể sử dụng gì làm Giải pháp tiêu chuẩn để tạo đồng bộ hóa dữ liệu bảng được ghép nối lỏng lẻo giữa hai cơ sở dữ liệu?

Table Replication nên được sử dụng để đồng bộ hóa dữ liệu đơn giản giữa nhiều cơ sở dữ liệu. Ví dụ là bản sao giao dịch cho đồng bộ hóa dữ liệu Simplex và bản sao Hợp nhất cho đồng bộ hóa dữ liệu Song công do SQL Server cung cấp.

Có một số giải pháp mã nguồn mở và bên thứ ba trả phí có thể đồng bộ hóa dữ liệu giữa nhiều cơ sở dữ liệu. Ngay cả các giải pháp kết hợp lỏng lẻo với sự trợ giúp của các hàng đợi tin nhắn như SQL Server Transaction Replication cũng có thể được người dùng tự phát triển.

Kết luận

Các DBA thiết kế cơ sở dữ liệu theo cách của họ. Trong khi lưu trữ cơ sở dữ liệu và lựa chọn hệ thống quản lý cơ sở dữ liệu, họ phải lưu ý nhiều khía cạnh. Chúng tôi đã trình bày các yếu tố cần thiết nhất cho việc thiết kế cơ sở dữ liệu, đặc biệt là đối với các Cơ sở dữ liệu có kích thước lớn hơn. Hãy theo dõi các tài liệu tiếp theo!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giới thiệu về Mô hình Dữ liệu ER

  2. Tạo dữ liệu tổng hợp

  3. Lập trình cơ sở dữ liệu Python với SQL Express cho người mới bắt đầu

  4. Con trỏ trong SQL là gì và cách triển khai nó như thế nào?

  5. Sử dụng Salesforce SOQL từ Linux