daigai

Well-Known Member
Link tải luận văn miễn phí cho ae
MỞ ĐẦU
Ngày nay, các dịch vụ trên Internet phải xử lí khối lượng dữ liệu rất lớn. Hầu hết
dữ liệu sẽ được lưu trữ phân tán trên nhiều máy chủ khác nhau. Các cơ sở dữ liệu quan hệ
đang được triển khai hiện nay giải quyết rất tốt nhiệm vụ lưu trữ dữ liệu nhất định nào đó,
nhưng vì tính tập trung đó mà chúng có thể gây ra vấn đề khi mở rộng. Và, người sử dụng
thường muốn tìm cách để bớt các thao tác join nữa các bảng, tức là phi chuẩn hóa dữ liệu
– việc lưu trữ nhiều bản sao lưu của dữ liệu phá vỡ hoàn toàn thiết kế ban đầu, cả trong cơ
sở dữ liệu và ứng dụng. Hơn nữa, chúng ta thường xuyên cần tìm đường xung quanh các
giao dịch phân tán - nơi rất dễ hình thành nên các nút cổ chai. Những hoạt động này
thường không được hỗ trợ trực tiếp trong bất cứ cơ sở dữ liệu quan hệ nào. Vì vậy, các hệ
quản trị cơ sở dữ liệu quan hệ (RDBMS) tỏ ra không còn phù hợp với các dịch vụ như thế
này nữa. Người ta bắt đầu nghĩ tới việc phát triển các DBMS mới phù hợp để quản lí các
khối lượng dữ liệu phân tán này. Các DBMS này thường được gọi là NoSQL. Một đại
diện nổi bật của các NoSQL là Cassandra.
Cassandra là hệ cơ sở dữ liệu phân tán mã nguồn mở được bắt đầu bởi Facebook.
Năm 2008, Facebook chuyển nó cho cộng đồng mã nguồn mỡ và được Apache tiếp tục
phát triển đến ngày hôm nay. Cassandra được coi là sự kết hợp của Amazon’s Dynamo và
Google’s BigTable. Cassandra là một mô hình cơ sở dữ liệu phân tán hoàn toàn, có khả
năng chịu lỗi cực tốt. Một tính chất nữa là nó rất linh hoạt, tốc độ đọc/ghi tăng tuyến tính
khi bổ sung thêm hạ tầng mới.
Trong bài tiểu luận này, nhóm xin trình bày về những đặc trưng của hệ cơ sở dữ
liệu phân tán Cassandra. Tiếp theo là phần kiến trúc và mô hình dữ liệu mà Cassandra sử
dụng.
1. Những đặc trưng của Cassandra
1.1 Khái niệm
"Apache Cassandra là một mã nguồn mở, phân tán, không tập trung hóa, khả năng
mở rộng cao, tính sẵn sàng cao, chịu lỗi, tính nhất quán, cơ sở dữ liệu hướng cột dựa trên
cơ sở thiết kế phân tán trên Dynamo của Amazon và mô hình dữ liệu của nó trên Bigtable
của Google. Được tạo ra bởi Facebook, nó được sử dụng phổ biến nhất tại một số sites
trên Web".
1.2 Phân tán và không tập trung hóa
Cassandra là phân tán, có nghĩa là nó có khả năng chạy trên nhiều máy trong khi
xuất hiện trước người sử dụng như một thể thống nhất.
Thực tế Cassandra không tập trung hóa có nghĩa là không có điểm lỗi duy nhất
nào. Tất cả các nút trong một cluster Cassandra hoạt động như nhau. Điều này đôi khigọi
là “máy chủ đối xứng”. Bởi vì tất cả chúng đều làm những việc như nhau, và không có
một máy chủ đặc biệt được phối điều phối các hoạt động, như với mô hình chủ /tớ trong
MySQL, Bigtable, và những nhiều hệ cơ sở dữ liệu khác.
Do đó, đặc điểm không tập trung hóa có hai ưu điểm quan trọng: nó đơn giản hơn
sử dụng hơn mô hình chủ /tớ, và nó giúp bạn tránh việc hệ thống ngừng hoạt động. Vì các
node là giống nhau nên việc thao tác và duy trì lưu trữ không tập trung hóa dễ dàng hơn
so với mô hình chủ/tớ. Điều đó có nghĩa bạn không cần bất kỳ kiến thức đặc biệt để mở
rộng, thiết lập 50 nút không khác nhau nhiều lắm so với thiết lập một nút. Hơn nữa, trong
một thiết lập master/slave, master có thể trở thành một điểm lỗi duy nhất (SPOF). Để
tránh điều này, bạn thường cần tăng thêm tính phức tạp để môi trường có nhiều
master. Bởi vì tất cả các bản sao trong Cassandra đều đồng nhất, một nút bị lỗi sẽ không
làm gián đoạn dịch vụ.
Theo một cách ngắn gọn hơn, bởi vì Cassandra được phân phối và không tập trung,
nó không có điểm lỗi duy nhất, và hỗ trợ sẵn sàng cao.
1.3 Khả năng mở rộng mềm dẻo
Khả năng mở rộng là một chức năng kiến trúc của một hệ thống cho phép nó có thể
tiếp tục phục vụ số yêu cầu lớn hơn với hoạt động ít bị suy giảm. Mở rộng theo chiều dọc
- chỉ đơn giản thêm khả năng phần cứng và bộ nhớ máy tính hiện tại - là cách dễ nhất để
đạt được điều này. Mở rộng theo chiều ngang, có nghĩa là thêm nhiều máy chứa tất cả
hay một phần dữ liệu để không có máy nào phải chịu toàn bộ gánh nặng của yêu cầu
7
phục vụ. Nhưng sau đó phần mềm bản thân nó phải có một cơ chế nội bộ để giữ dữ liệu
của nó đồng bộ với các nút khác trong cluster.
Khả năng mở rộng mềm dẻo, đề cập đến một đặc tính đặc biệt của mở rộng theo
chiều ngang. Nó có nghĩa là cluster của bạn có thể mở rộng quy mô và giảm quy mô
xuống một cách liền mạch. Để làm điều này, các cụm phải có khả năng chấp nhận các nút
mới có thể bắt đầu tham gia bằng cách nhận được một bản sao của một số hay tất cả dữ
liệu và bắt đầu phục vụ yêu cầu người sử dụng mới mà không có sự gián đoạn lớn hoặc
cấu hình lại toàn bộ cluster.Bạn không cần khởi động lại quá trình của bạn.Bạn
không cần thay đổi các truy vấn ứng dụng của bạn. Bạn không phải tự cân bằng lại các dữ
liệu. Chỉ cần thêm một máy - Cassandra sẽ tìm thấy nó và làm nó hoạt động.
Mở rộng quy mô xuống, tất nhiên, có nghĩa là loại bỏ một số khả năng xử lý của
cluster. Bạn có thể phải làm điều này nếu bạn di chuyển một phần ứng dụng của bạn sang
nền tảng khác, hay nếu ứng dụng của bạn bị giảm số lượng người dùng và bạn cần
bắt đầu bán bớt phần cứng.Chúng ta hãy hy vọng điều đó không xảy ra.Nhưng nếu có,
bạn sẽ không cần phá vỡ toàn hệ thống để có quy mô nhỏ lại.
1.4 Tính sẵn sàng cao và khả năng chịu lỗi
Trong thuật ngữ kiến trúc nói chung, tính sẵn sàng của một hệ thống được đánh giá
dựa trên khả năng đáp ứng các yêu cầu của hệ thống đó. Nhưng máy tính có thể mắc phải
rất nhiều kiểu lỗi, từ lỗi phần cứng đến việc đứt mạng. Và đa số các máy tính không thể
tránh khỏi các loại lỗi này. Tất nhiên, có một số máy tính phức tạp có thẻ tự mình làm
giảm thiểu các lỗi này, vì chúng có nhiều phần cứng thay thế, và có khả năng gửi thông
báo về các sự kiện lỗi để tự chuyển đổi các thành phần phần cứng của mình. Nhưng bất
cứ ai có thể vô tình làm hỏng một cáp Ethernet, và nó sẽ cô lập một trung tâm dữ liệu duy
nhất. Vì vậy, để một hệ thống được đánh giá là có tính sẵn sàng cao, nó thường phải bao
gồm nhiều máy tính nối mạng,và phần mềm mà họ đang chạy phải có khả năng điều hành
trong một cluster và có một vài cơ chế nhận diện lỗi ở các node thông qua yêu cầu tới các
phần khác của hệ thống.
Cassandra có tính sẵn sàng cao. Bạn có thể thay thế các nút lỗi trong cluster mà
không gây ra thời gian chết, và bạn có thể sao chép dữ liệu đến nhiều trung tâm dữ liệu
cung cấp cải thiện hiệu năng và giảm thời gian dừng nếu một trung tâm dữ liệu phải đối
mặt với một thảm họa như hỏa hoạn hay lũ lụt.
1.5 Tính nhất quán tùy chỉnh
Tính nhất quán cơ bản có nghĩa là thao tác đọc luôn được trả về giá trị bản ghi mới
nhất. Hãy xem xét việc hai khách hàng đang cố gắng để đặt cùng một mặt hàng vào giỏ

Link Download bản DOC
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:

 

Các chủ đề có liên quan khác

Top