TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO Tìm hiểu Hệ quản trị CSDL Phân Tán và hệ QTCSDLPT Apache Cassandra

31 1.7K 8
TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO Tìm hiểu Hệ quản trị CSDL Phân Tán và hệ QTCSDLPT Apache Cassandra

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ    Đề tài: Tìm hiểu khái niệm Hệ quản trị dữ liệu phân tán và hệ Quản trị CSDL PT Apache Cassandra Giảng viên : PGS.TS Nguyễn Hà Nam Sinh viên thực hiện : Nguyễn Quang Dương Phạm Ngọc Hải Nhóm thực hiện : Nhóm 11 Hà Nội – 04/2012 MỤC LỤC: 1.Giới thiệu chủ đề: 3 2.Các vấn đề liên quan: 3 2.1, Mô hình Xử lí song song và phân tán dữ liệu: 3 2.2, Hệ quản trị CSDL Phân Tán: 6 9 2.3, Các kiến trúc của Hệ quản trị CSDL Phân Tán: 9 2.3.1, Mô hình kiến trúc của hệ phân tán khách/đại lý – client/server: 9 2.3.2, Mô hình kiến trúc của hệ phân tán Ngang Hàng: 11 sở dữ liệu 12 3.Bài toán và Mô hình Hệ QTCSDL Apache Cassandra: 12 3.1, Bài toán đề ra: 12 3.2, Mô hình NoSQL phân tán, không ràng buộc: 13 3.3, Hệ quản trị CSDL Phân Tán Apache Cassandra : 15 3.3.1, Mô hình dữ liệu: 16 a. Gia đình Cột : 18 b. Cột 19 c. Chỉ mục trong Apache Cassandra 20 3.3.2, Kiến trúc của Apache Cassandra: 20 a. Giao thức Gossip: 20 b. Clustering (cụm trong Apache Cassandra ) và Seed Node: 21 c. Phân vùng dữ liệu: (Partitioning): 21 d. Sao lưu dữ liệu (nhân bản- Replication) trong Cassandra: 23 e. Các yêu cầu phía máy khách (client request) trong Cassandra : 24 f. Quản lí và truy cập dữ liệu trong Apache Cassandra : 26 g. Tính Nhất quán dữ liệu trong Apache Cassandra : 27 h. Rà soát lỗi và Phục hồi trong Apache Cassandra: 28 5.Nhận xét: 29 5.1 Về Hệ quản trị CSDL phân tán Apache Cassadra : 29 5.2 Kết luận: 30 1.Giới thiệu chủ đề: Những năm gần đây, hệ CSDL phân tán được phát triển dựa trên CSDL và mạng máy tính. CSDL phân tán gồm nhiều CSDL kết hợp với nhau thông qua mạng máy tính để trao đổi dữ liệu, thông tin CSDL được tổ chức và lưu trữ ở những vị trí khác nhau trong mạng máy tính và chương trình ứng dụng làm việc trên cơ sở truy cập dữ liệu ở những điểm khác nhau đó. Mỗi CSDL cần có chương trình quản lý, xắp xếp, duy trì dữ liệu gọi là hệ quản trị CSDL (DBMS - Database Management System). Hệ quản trị CSDL phân tán (Distributed Database Management System-DBMS) được định nghĩa là một hệ thống phần mềm cho phép quản lý các hệ CSDL (tạo lập và điều khiển các truy nhập cho các hệ CSDL phân tán) và làm cho việc phân tán trở nên trong suốt với người sử dụng. Đặc tính trong suốt muốn nói đến sự tách biệt về ngữ nghĩa ở cấp độ cao của một hệ thống với các vấn đề cài đặt ở cấp độ thấp. Sự phân tán dữ liệu được che dấu với người sử dụng làm cho người sử dụng truy nhập vào CSDL phân tán như hệ CSDL tập trung. Sự thay đổi việc quản trị không ảnh hưởng tới người sử dụng. Hệ quản trị CSDL phân tán gồm 1 tập các phần mềm (chương trình) sau đây: • Các chương trình quản trị các dữ liệu phân tán • Chứa các chương trình để quản trị việc truyền thông dữ liệu • Các chương trình để quản trị các CSDL địa phương. • Các chương trình quản trị từ điển dữ liệu. 2.Các vấn đề liên quan: 2.1, Mô hình Xử lí song song và phân tán dữ liệu: Chúng ta cần phân biệt giữa mô hình xử lí song song và việc phân tán dữ liệu. Các hệ song song cải tiến tốc độ xử lý và tốc độ I/O bằng cách sử dụng nhiều CPU, bộ nhớ và nhiều đĩa cứng song song. Trong xử lý song song, nhiều hoạt động được thực hiện đồng thời. Một máy song song "hạt thô" (coarse-grain) gồm một số nhỏ các bộ xử lý mạnh. Một máy song song đồ sộ (massively parallel) hay "hạt mịn" (fine-grain) sử dụng hàng ngàn bộ xử lý nhỏ hơn Các hệ song song (Parallel Systems) Có một vài mô hình kiến trúc cho các máy song song: - Chia sẻ Bộ Nhớ ( Shared memory ): Tất cảc các processor chia sẻ một bộ nhớ chung. Trong mô hình này các processor và các đĩa cứng truy xuất một bộ nhớ chung, thường thông qua một bus hoặc một mạng hợp nhất. Thuận lợi : dữ liệu trong bộ nhớ chia sẻ có thể được truy xuất bởi bất kỳ processor nào. Tuy nhiên, các máy bộ nhớ chia sẻ không thể hỗ trợ nhiều hơn 64 processor vì nếu nhiều hơn, bus hoặc mạng hợp nhất sẽ trở nên dễ bị nghẽn ( bottle-neck ). Kiến trúc bộ nhớ chia sẻ thường có những cache lớn cho mỗi processor, như vậy việc tham khảo bộ nhớ chia sẻ có thể tránh được mỗi khi có thể. - Chia sẻ Đĩa Cứng ( Shared disk ): Tất cả các processor chia sẻ đĩa cứngchung. Mô hình này còn được gọi là cụm (cluster). Trong mô hình này tất cả các processor có thể truy xuất trực tiếp đến tất cả các đĩa cứngthông qua một mạng hợp nhất, nhưng mỗi processor có bộ nhớ riêng. Kiến trúc này có các điểm thuận lợi là: bus bộ nhớ không bị bottle-neck và là phương pháp rẻ để cung cấp một mức độ xử lí lỗi một processor bị hỏng hóc, các processor khác có thể tiếp tục công việc của nó. Ta có thể tạo ra hệ thống con các đĩa cứngtự lượng thứ lỗi bằng cách sử dụng kiến trúc RAID. Tuy nhiên vẫn tồn tại bottle-neck, đặc biệt trong tình huống CSDL truy xuất đĩa cứng nhiều - Không chia sẻ ( Shared nothing ): Các processor không chia sẻ bộ nhớ chung, cũng không chia sẻ đĩa cứngchung. Trong hệ thống này mỗi nút của máy có một processor, bộ nhớ và một vài đĩa cứng. Các processor ở mỗi nút có thể liên lạc với các processor khác qua mạng hợp nhất tốc độ cao. Chức năng của một nút, như server, dữ liệu được chứa trên các đĩa cứngcủa nó. Mô hình không chia sẻ gì chỉ có vấn đề về việc truy xuất các đĩa cứngkhông cục bộ và việc truyền các quan hệ kết quả qua mạng. Hơn nữa, đối với các hệ thống không chia sẻ gì, các mạng hợp nhất thường được thiết kế để có thể tăng quy mô, sao cho khả năng truyền của chúng tăng khi các nút mới được thêm vào. - Phân cấp ( hierarchical ): Mô hình này là một sự lai kiểu của các kiến trúc trước. Kiến trúc này tổ hợp các đặc trưng của các kiến trúc chia sẻ bộ nhớ, chia sẻ đĩa cứngvà không chia sẻ gì. Ở mức cao nhất, hệ thống bao gồm những nút được nối bởi mạng hợp nhất và không chia sẻ đĩa cứngcũng như bộ nhớ với nút khác. Như vậy, mức cao nhất là kiến trúc không chia sẻ gì. Mỗi nút của hệ thống có thể là hệ thống chia sẻ bộ nhớ với một vài processor. Kế tiếp, mỗi nút có thể là một hệ thống chia sẻ đĩa cứng. Mỗi một hệ thống chia sẻ đĩa cứnglại có thể là một hệ thống chia sẻ bộ nhớ Như vậy, hệ thống có thể được xây dựng như một sự phân cấp. Các hệ thống phân tán (Distributed Systems) Trong một hệ thống CSDL phân tán, CSDL được lưu trữ trên một vài máy tính. Các máy tính trong một hệ thống phân tán liên lạc với một máy khác qua nhiều dạng phương tiện liên lạc khác nhau: mạng tốc độ cao, đường điện thoại Chúng không chia sẻ bộ nhớ cũng như đĩa cứng. Các máy tính trong hệ thống phân tán có thể rất đa dạng về kích cỡ cũng như chức năng: từ các workstation đến các mainframe. Các máy tính trong hệ thống phân tán được tham chiếu bởi một số các tên khác nhau: site , node (phụ thuộc vào ngữ cảnh mà máy được đề cập). Sự sai khác chính giữa CSDL song song không chia sẻ gì và hệ thống phân tán là CSDL phân tán được tách biệt về mặt địa lý, được quản trị tách biệt và có một sự hợp nhất chậm. Hơn nữa, trong hệ thống phân tán người ta phân biệt giữa các giao dịch cục bộ (local) và toàn thể (global). Giao dịch cục bộ là một giao dịch truy xuất dữ liệu trong một node (site) tại đó giao dịch đã được khởi xướng. Giao dịch toàn thể là một giao dịch mà nó hoặc truy xuất dữ liệu trong một node từ một node khác tại đó nó được khởi xướng hoặc truy xuất dữ liệu trong một vài node khác nhau Tuy nhiên, nhiều lý thuyết cũng như phương pháp tính toán song song được áp dung vào hệ phân tán cũng như CSDL phân tán. 2.2, Hệ quản trị CSDL Phân Tán: Hệ CSDL phân tán (Distributed DataBase System) được xây dựng dựa trên hai công nghệ cơ bản là CSDL và mạng máy tính. Hệ CSDL phân tán được mô tả như là tập hợp nhiều CSDL có liên quan logic đến nhau và được phân bố trên mạng máy tính. Trong khái niệm được mô tả về CSDL phân tán ở trên có hai đặc trưng cơ bản là “liên quan logic” và “phân bố trên mạng”. Trong CSDL phân tán các tập tin dữ liệu được lưu trữ độc lập trên các nút của mạng máy tính và phải có liên quan đến nhau về mặt logic và còn hơn thế nữa còn đòi hỏi chúng phải được truy xuất đến qua một giao diện chung, thống nhất. Hiện nay khái niệm xử lý phân tán (Distributed procesing), tính toán phân tán (Distributed computing) hoặc các thuật ngữ có từ “phân tán” hay được dùng để chỉ các hệ thống rải rác như các hệ thống máy tính có đa bộ xử lý (multiprocessor system) hay là các xử lý trên mạng máy tính. CSDL phân tán là một khái niệm không bao gồm các trường hợp xử lý dữ liệu trong các hệ thống sử dụng bộ nhớ chung, kể cả bộ nhớ trong hay bộ nhớ thứ cấp (đĩa từ), nhất thiết phải là một hệ có sử dụng giao tiếp mạng với các trạm làm việc độc lập. Hình 1: Mô hình CSDL Phân tán (bên phải) và mô hình không phải CSDL Phân tán Hệ Quản trị CSDL phân tán (Distributed DBMS) là hệ thống phần mềm cho phép quản lý các hệ CSDL phân tán và làm cho sự phân tán trở nên “trong suốt” đối với người sử dụng. Khái niệm “trong suốt” – “transparent” để chỉ sự tách biệt ở cấp độ cao của hệ thống với các vấn đề cài đặt ở cấp độ thấp của hệ thống. Có các dạng “trong suốt” như sau: + “Trong suốt” về phân tán. Do tính chất phân tán của hệ thống nên các dữ liệu được lưu trữ tại các nút có vị trí địa lý khác nhau, phần mềm sẽ đáp ứng các yêu cầu của người sử dụng sao cho người sử dụng không cần phải biết vị trí địa lý của dữ liệu. + “Trong suốt” về phân hoạch (Partition). Do dữ liệu phân tán và do nhu cầu của công việc dữ liệu cần được phân hoạch và mỗi phân hoạch được lưu trữ tại một nút khác nhau (đây gọi là quá trình phân mảnh – fragmentation). Quá trình phân mảnh hoàn toàn tự động bởi hệ thống và người sử dụng không cần phải can thiệp. + “Trong suốt” về Sao lưu (Replication). Vì lí do “hiệu năng”, “tin cậy” nên dữ liệu còn được sao chép một phần ở những vị trí khác nhau. + “Trong suốt” về độc lập dữ liệu. + “Trong suốt” về kết nối mạng. Người sử dụng không cần biết về sự có mặt của giao tiếp mạng. Hình 2: Các tầng trong suốt của hệ thống Ví dụ: Một công ty có các văn phòng ở Paris, London, NewYork, Toronto. Công ty này có các CSDL sau đây: CSDL về nhân viên: EMP (ENo, EName, Title) CSDL về các dự án: PROJ (PNo, PName, Budget, Loc) CSDL về lương: PAY (Title, Sal) CSDL về phân công: ASG (ENo, PNo, Dur, Resp) Giải thích về các thuộc tính: Sal: Lương; Title: Chức vụ; Budget: Ngân sách của dự án; Loc: Địa điểm; Dur: Duration – Thời hạn; Resp: Responsibility – Trách nhiệm Do tính phân tán của các văn phòng nên tại mỗi văn phòng có lưu trữ dữ liệu tác nghiệp của chính các văn phòng đó, có thể là các nhân viên tại đó và các dự án mà văn phòng đó đang quản lý. Ta có sơ đồ lưu trữ đã phân tán và phân mảnh giả định như sau: Hình3: Ví dụ Sơ hồ hệ Phân tán dữ liệu 2.3, Các kiến trúc của Hệ quản trị CSDL Phân Tán: Chúng ta có 2 mô hình Hệ quản trị CSDL phổ biến: - Mô hình Khách – Chủ (Client- Server) - Mô hình Ngang Hàng (Peer to Peer) 2.3.1, Mô hình kiến trúc của hệ phân tán khách/đại lý – client/server: Đặc trưng của hệ này là chức năng của hệ thống được chia làm hai lớp: + Chức năng đại lý – server function + Chức năng khách hàng – client function. Trong hệ thống khách/đại lý các thao tác xử lý dữ liệu đáp ứng yêu cầu của khách hàng đều được thực hiện bởi các chức năng đại lý, chỉ có kết quả được gửi trả cho khách hàng. Ta có mô hình chức năng như sơ đồ ở dưới Hệ khách có các tầng: + Giao diện tương tác với người sử dụng (User Interface), các chương trình ứng dụng (Application Program), + Hệ quản trị CSDL khách hàng (Client DBMS). + Các phần mềm mạng có chức năng truyền tin (Communication Software). Hệ đại lý có các tầng: + Các phần mềm mạng có chức năng truyền tin. + Tầng kiểm soát ngữ nghĩa của dữ liệu (Semantic Data Controler) + Tầng tối ưu hóa câu hỏi (Query Optimizer). + Tầng quản lý các giao tác (Transaction Manager). + Tầng quản lý khôi phục (Recovery Manager). + Tầng hỗ trợ thực thi (Run – time Support Processor) . + Hệ điều hành quản lý chung và giao tiếp với CSDL vật lý. Hình 4: Sơ đồ kiến trúc Hệ quản trị CSDL Phân Tán mô hinh Khách – Chủ Hệ client/server có ưu điểm là xử lý dữ liệu tập trung, trên đường truyền chỉ có các gói tin yêu cầu (câu hỏi) và các kết quả đáp ứng câu hỏi, giảm tải được khối lượng truyền tin trên mạng kết hợp với thiết bị tại đại lý rất mạnh sẽ tăng tốc độ xử lý dữ liệu của cả hệ thống. [...]... các node một cách dễ dàng Cassandra cluster có thể mở rộng bất kì kích thước nào bạn cần bằng cách thêm các node vào 5.2 Kết luận: Trong khoảng thời gian giới hạn của học kì, nhóm đã tìm hiểu được khái niệm chung về CSDL Phân tán, Hệ quản trị CSDL Phân tán và đi sâu vào tìm hiểu kiến trúc, tính năng cũng như phương thức hoạt động của hệ quản trị CSDL Phân tán cụ thể Apache Cassandra Hướng tiếp theo... một mô hình CSDL và xây dựng được một Hệ quản trị CSDL có thể đáp ứng được số lượng lớn các dữ liệu người dùng liên tục được cập nhật ra mỗi ngày và luôn luôn có xu hướng “nở” ra ngày một nhiều Hệ quản trị CSDL Apache Cassandra là một hệ Hệ quản trị CSDL dựa trên mô hình thiết kế dữ liệu NoSQL, là một mô hình tiềm năng để cạnh tranh cũng như lấp đày được những yếu điểm của hô hình CSDL Quan hệ truyền... sẽ được chọn để trả dữ liệu về và node 2 sẽ được cập nhật dữ liệu mới) f Quản lí và truy cập dữ liệu trong Apache Cassandra : GHI : Apache Cassandra được tối ưu cho việc ghi nhanh và luôn sẵn sàng để ghi Không giống như CSDL quan hệ với các bảng có cấu trúc để giữ trùng lặp dữ liệu là nhỏ nhất, và được định nghĩa từ trước hay tính đến tính toàn vẹn trong việc ghi dữ liệu, Apache Cassandra được tối ưu... một khóa hàng (row key) tương ứng, điều đó làm cho Hệ quản trị CSDL Apache Cassandra là 1 Hệ quản trị CSDL lai ghép giữa Hệ quản trị CSDL hướng cột (column-oriented) và lưu trữ theo hướng hàng (row-oriented) 3.3.1, Mô hình dữ liệu: Một bảng trong Apache Cassandra là một bản đồ đa chiều phân tán (distributed multidimensional map) với tính cấu trúc cao Những khóa hàng (row key( trong bảng là các chuỗi... pháp tăng cường khả năng lưu trữ và xử lý là dùng nhiều máy tính phân tán Phân tán dữ liệu được hỗ trợ bởi phần mềm tức CSDL Kiến trúc của NoSQL : Về cơ bản, các thiết kế của NoSQL lựa chọn mô hình lưu trữ tập dữ liệu theo cặp giá trị key-value Khái niệm node được sử dụng trong quản lý dữ liệu phân tán Với các hệ thống phân tán, việc lưu trữ có chấp nhận trùng lặp dữ liệu Một request truy vấn tới data... Cassandra : Apache Cassandra là một hệ quản trị CSDL phân tán mở (Open Souce Distributed DBMS) Hệ quản trị này là một trong những dự án trọng điểm của Tổ chức phần mềm Apache nổi tiếng với phần mềm Webserver cùng tên Nó được thiết kế để thích nghi với một lượng lớn dữ liệu có thể được mở rộng nhanh chóng trong mô hình tính toán phân tán hoặc các máy chủ cung cấp dịch vụ phân tán Hệ quản trị CSDL này dựa... lược đồ dữ liệu động, linh họat – Apache Cassandra đưa ra cách tổ chức giống như các bảng dữ liệu trong mô hình dữ liệu quan hệ kết hợp với sức mạnh của hệ CSDL NoSQL, điều này cho phép lưu trữ dữ liệu được thay đổi theo nhu cầu Apache Cassandra cũng có thể lưu dữ liệu có cấu trúc, bán cấu trúc và phi cấu trúc Đảm bảo an toàn dữ liệu – Apache Cassandra vượt xa các hệ thống khác về hiệu suất đọc ghi...2.3.2, Mô hình kiến trúc của hệ phân tán Ngang Hàng: Đặc điểm nổi bật của hệ thống này là dữ liệu được tổ chức ở các nút có chức năng như nhau, đồng thời sự tổ chức dữ liệu ở các nút này lại có thể rất khác nhau, từ đó cần phải có: Hình 5: Sơ đồ kiến trúc của Hệ quản trị CSDL Phân Tán Ngang Hàng + Định nghĩa dữ liệu tại mỗi vị trí: tại mỗi nút phải xây dựng lược đồ dữ liệu cục bộ LIS (Local Internal... Processor – Xử lý câu hỏi cục bộ + Local Recovery Manager – Quản lý khôi phục cục bộ: Quản lý sự nhất quán khi có sự cố + Run-Time Support Processor - Bộ phận hỗ trợ thực thi: Quản lý truy xuất cơ sở dữ liệu 3.Bài toán và Mô hình Hệ QTCSDL Apache Cassandra: 3.1, Bài toán đề ra: Bài toán đề ra được gắn liền với việc tìm hiểu mô hình Hệ quản trị CSDL Apache Cassandra, đó là việc phát triển của các mạng xã hội... dạng dữ liệu cho tên cột và giá trị nhưng tên và giá trị thực sự thì được quyết định bởi ứng dụng khi thêm dữ liệu thực vào Mỗi Gia đình Cột có một giá trị khóa hàng (row key) duy nhất, khái niệm tương tự như khóa chính trong Cơ sở dữ liệu quan hệ Một Gia đình Cột được phân vùng dựa trên khóa hàng của nó và khóa hàng cũng được ngầm định hiểu là chỉ mục b Cột Là khái niệm nhỏ nhất trong Apache Cassandra, . hình CSDL Phân tán (bên phải) và mô hình không phải CSDL Phân tán Hệ Quản trị CSDL phân tán (Distributed DBMS) là hệ thống phần mềm cho phép quản lý các hệ CSDL phân tán và làm cho sự phân tán. được áp dung vào hệ phân tán cũng như CSDL phân tán. 2.2, Hệ quản trị CSDL Phân Tán: Hệ CSDL phân tán (Distributed DataBase System) được xây dựng dựa trên hai công nghệ cơ bản là CSDL và mạng máy. hình Xử lí song song và phân tán dữ liệu: 3 2.2, Hệ quản trị CSDL Phân Tán: 6 9 2.3, Các kiến trúc của Hệ quản trị CSDL Phân Tán: 9 2.3.1, Mô hình kiến trúc của hệ phân tán khách/đại lý – client/server:

Ngày đăng: 08/07/2015, 16:06

Từ khóa liên quan

Mục lục

  • 1.Giới thiệu chủ đề:

  • 2.Các vấn đề liên quan:

    • 2.1, Mô hình Xử lí song song và phân tán dữ liệu:

    • 2.2, Hệ quản trị CSDL Phân Tán:

    • 2.3, Các kiến trúc của Hệ quản trị CSDL Phân Tán:

      • 2.3.1, Mô hình kiến trúc của hệ phân tán khách/đại lý – client/server:

      • 2.3.2, Mô hình kiến trúc của hệ phân tán Ngang Hàng:

      • sở dữ liệu.

      • 3.Bài toán và Mô hình Hệ QTCSDL Apache Cassandra:

        • 3.1, Bài toán đề ra:

        • 3.2, Mô hình NoSQL phân tán, không ràng buộc:

        • 3.3, Hệ quản trị CSDL Phân Tán Apache Cassandra :

          • 3.3.1, Mô hình dữ liệu:

            • a. Gia đình Cột :

            • b. Cột

            • c. Chỉ mục trong Apache Cassandra

            • 3.3.2, Kiến trúc của Apache Cassandra:

              • a. Giao thức Gossip:

              • b. Clustering (cụm trong Apache Cassandra ) và Seed Node:

              • c. Phân vùng dữ liệu: (Partitioning):

              • d. Sao lưu dữ liệu (nhân bản- Replication) trong Cassandra:

              • e. Các yêu cầu phía máy khách (client request) trong Cassandra :

              • f. Quản lí và truy cập dữ liệu trong Apache Cassandra :

              • g. Tính Nhất quán dữ liệu trong Apache Cassandra :

              • h. Rà soát lỗi và Phục hồi trong Apache Cassandra:

Tài liệu cùng người dùng

Tài liệu liên quan