hệ cơ sở dữ liệu phân tán cassandra

50 4.4K 17
hệ cơ sở dữ liệu phân tán 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

1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA QUỐC TẾ VÀ ĐÀO TẠO SAU ĐẠI HỌC ********* BÀI TẬP NHÓM HỆ SỞ DỮ LIỆU PHÂN TÁN CASSANDRA Nhóm thực hiện: Nguyễn Trường Giang Nguyễn Hồng Hạnh Đỗ Việt Phương Đỗ Thị Nhẫn Môn: Các hệ thống phân tán Lớp: Truyền dữ liệu và mạng máy tính M11CQCT01-B Giáo viên hướng dẫn: TS. Hà Hải Nam Hà Nội, tháng 06 - 2012 2 MỤC LỤC MỤC LỤC 2 MỞ ĐẦU 5 1. Những đặc trưng của Cassandra 6 1.1 Khái niệm 6 1.2 Phân tán và không tập trung hóa 6 1.3 Khả năng mở rộng mềm dẻo 6 1.4 Tính sẵn sàng cao và khả năng chịu lỗi 7 1.5 Tính nhất quán tùy chỉnh 7 1.6 Hướng dòng – Row oriented 8 1.7 Schema – Free (không bị ràng buộc về lược đồ) 8 1.8 Hiệu năng cao 9 2. Kiến trúc Cassandra 10 2.1 Kết nối giữa các nút (giao thức Gossip) 10 2.2 Các thành viên của cụm và các nút hạt giống 10 2.3 Trạng thái dò thất bạo và sự phục hồi 10 2.4 Phân vùng dữ liệu trong Cassandra 11 2.4.1 Giới thiệu về Phân vùng trong cụm Trung tâm đa dữ liệu 12 2.4.2 Hiểu biết về các loại phân vùng 14 2.5 Nhân bản trong Cassandra. 16 Chiến lược xác định vị trí nhân bản 16 2.6 Kiến trúc liên kết mạng 17 2.7 Snitches 20 Các dạng Snitch 21 2.8 Yêu cầu từ phía Client trong Cassandra 23 2.8.1 Yêu cầu ghi 23 3 Truy vấn ghi tới trung tâm đa dữ liệu 24 2.8.2 Truy vấn đọc 25 2.9 Lập kế hoạch triển khai cụm Cassandra 26 2.9.1 Lựa chọn phần cứng cho cài đặt doanh nghiệp 26 2.9.2 Lập kế hoạch cho một cụm Amazon EC2 29 2.9.3 Lựa chọn tùy chọn cấu hình nút 31 3. Mô hình dữ liệu Cassandra 35 3.1 So sánh mô hình dữ liệu Cassandra với sở dữ liệu quan hệ 35 3.2 Keyspaces 37 3.3 Column Families 37 3.4 Columns 39 3.5 Các column đặc biệt (Counter, Expiring, Super) 40 3.5.1 Expiring Columns 40 3.5.2 Counter Columns 40 3.5.3 Super Columns 41 3.6 Các kiểu dữ liệu (Comparators và Validators) 42 3.6.1 Validators 43 3.6.2 Comparators 43 3.7 Nén column family 43 3.7.1 Khi nào sử dụng nén 44 3.7.2 Cấu hình nén cho một Column Family 44 3.8 Chỉ mục trong Cassandra 45 3.8.1 Chỉ mục chính 45 3.8.2 Chỉ mục thứ cấp 46 3.8.3 Tạo và sử dụng chỉ mục thứ cấp 46 3.9 Thiết kế mô hình dữ liệu 47 4 3.9.1 Dựa trên các truy vấn 47 3.9.2 Phi chuẩn hóa để tối ưu 48 3.9.3 Lập kế hoạch cho việc ghi trùng lặp 48 3.9.4 Sử dụng các khóa dòng tự nhiên hoặc thay thế 48 3.9.5 Các kiểu UUID cho tên cột 49 KẾT LUẬN 50 TÀI LIỆU THAM KHẢO 50 5 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 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 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 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ứ sở dữ liệu quan hệ nào. Vì vậy, các hệ quản trị 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. Cassandrahệ 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 sở dữ liệu phân tán hoàn toàn, 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ệ 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ệuCassandra sử dụng. 6 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, sở dữ liệu hướng cột dựa trên 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 Cassandraphân tán, nghĩa là nó 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 nghĩa là không đ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 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ệ sở dữ liệu khác. Do đó, đặc điểm không tập trung hóa 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 đó 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 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 phải tăng thêm tính phức tạp để môi trường 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 đ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 tính năng kiến trúc của một hệ thống cho phép nó 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, nghĩa là thêm nhiều máy chứa tất cả hoặc một phần dữ liệu để không 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 một 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ó nghĩa là cluster của bạn 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 khả năng chấp nhận các nút mới thể bắt đầu tham gia bằng cách nhận được một bản sao của một số hoặc 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 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 phải 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, nghĩa là loại bỏ một số khả năng xử lý của cluster. Bạn 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, hoặc nếu ứng dụng của bạn bị giảm số lượng người dùng và bạn cần phải 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ải phá vỡ toàn hệ thống để 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 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, một số máy tính phức tạp thẻ tự mình làm giảm thiểu các lỗi này, vì chúng nhiều phần cứng thay thế, và 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 thể vô tình làm hỏng một cáp Ethernet, và nó sẽ 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à 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 khả năng điều hành trong một cluster và một vài 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 tính sẵn sàng cao. Bạn 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 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 hoặc lũ lụt. 1.5 Tính nhất quán tùy chỉnh Tính nhất quán bản 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ỏ 8 hàng của họ trên một trang web thương mại điện tử. Nếu tôi đặt mặt hàng cuối cùng trong kho vào giỏ hàng của tôi ngay lập tức sau khi bạn làm việc đó, bạn sẽ nhận hàng được thêm vào giỏ hàng của bạn, và tôi cần phải được thông báo rằng mặt hàng này đã hết. Điều này được đảm bảo để xảy ra khi trạng thái của thao tác ghi là nhất quán giữa tất cả các nút dữ liệu đó. Tuy nhiên, việc mở rộng quy mô lưu trữ dữ liệu nghĩa là chúng ta phải đánh đổi giữa tính nhất quán, tính sẵn sàng và khả năng chịu lỗi (chúng ta chỉ thể lựa chọn 2 trong 3 đặc điểm này). Và Cassandra đã ưu tiên tính sẵn sàng hơn là tính nhất quán. Vì thế, Cassandra đặc điểm là “tùy chỉnh tính nhất quán”, tức là nó cho phép người dùng điều chỉnh mức độ nhất quán theo yêu cầu, trong sự cân nhắc với mức độ sẵn sàng. Mức độ nhất quán là một thiết lập mà client phải chỉ ra trên mỗi thao tác và cho phép bạn quyết định bao nhiên bản sao trong cluster phải nhận biết thao tác ghi hay đáp ứng lại thao tác đọc để được xem là thành công. 1.6 Hướng dòng – Row oriented Cassandra thường được gọi là sở dữ liệu hướng dòng, và điều này không sai. Nó không quan hệ, và nó thể hiện cấu trúc dữ liệu của mình trong những hashtable đa chiều rải rác. Rải rác nghĩa là với một dòng bất kỳ, bạn thể một hoặc nhiều cột, nhưng mỗi dòng không cần phải tất cả các cột giống nhau như trong sở dữ liệu quan hệ. Mỗi dòng một khóa riêng làm cho dữ liệu của nó thể truy cập được. Cassandra lưu trữ dữ liệu trong bảng băm đa chiều nên bạn thể không cần phải quyết định trước cấu trúc dữ liệu của mình nên như thế nào, hoặc các bản ghi cần những trường gì… Điều này rất lợi nếu bạn vừa mới bắt đầu phát triển ứng dụng, việc thêm vào hoặc loại bỏ các chức năng là khá thường xuyên. Tuy nhiên, điều này không nghĩa là bạn hoàn toàn không phải suy nghĩ gì về cấu trúc dữ liệu. Cassandra khiến bạn suy nghĩ khác đi về nó. Thay vì thiết kế một mô hình dữ liệu ban đầu và sau đó thiết kế các truy vấn xung quanh mô hình đó như trong hệ sở dữ liệu quan hệ, bạn thể tự do nghĩ về các truy vấn trước, và sau đó cung cấp dữ liệu để trả lời những truy vấn đó. 1.7 Schema – Free (không bị ràng buộc về lược đồ) Cassandra yêu cầu bạn định nghĩa một container gọi là keyspace chứa các column family. Keyspace thực chất chỉ là một namespace logic để giữ các column family và thuộc tính cầu hình cụ thể. Ngoài ra, các bảng dữ liệu rải rác bên bạn thể chỉ cần đưa dữ liệu vào đó, sử dụng cột mình muốn, và không cần phải định nghĩa trước các cột. Thay vì mô hình hóa dữ liệu bằng các công cụ mô hình hóa đắt tiền, và viết những câu truy vấn 9 phức tạp, Cassandra cho phép bạn mô hình hóa các truy vấn mình cần, và sau đó cung cấp dữ liệu cho nó. 1.8 Hiệu năng cao Cassandra được thiết kế nhằm mục đích tận dụng được ưu điểm của các máy đa xử lý/ đa lõi, và để chạy trên nhiều nhiều máy ở nhiều trung tâm dữ liệu với khối lượng dữ liệu khổng lồ. Cassandra thể hoạt động tốt thậm chí dưới tải công việc cao. Thao tác ghi trong Cassandra cũng được thực hiện rất nhanh chóng. Khi bạn thêm nhiều server, bạn thể duy trì tất cả đặc tính mong muốn của Cassandra mà không phải hy sinh hiệu năng hoạt động. 10 2. Kiến trúc Cassandra Cassandra được thể hiện là một tập hợp của các nút độc lập được cấu hình lại với nhau thành một cụm (Cluster).Trong một cụm, tất cả các nút là ngang hàng, nghĩa là không nút chính hoặc nút trung tâm quản lý các tiến trình. Một nút thể tham gia một cụm Cassandra dựa trên các khía cạnh nhất định trong cấu hình của nó. Phần này giải thích những khía cạnh của kiến trúc cụm Cassandra. 2.1 Kết nối giữa các nút (giao thức Gossip) Cassandra sử dụng một giao thức gọi là tin đồn (Gossip) để khám phá vị trí và thông tin trạng thái về các nút khác tham gia trong một cụm Cassandra. Gossip là một giao thức truyền thông ngang hàng, trong đó các nút định kỳ trao đổi thông tin trạng thái về bản thân và về các nút khác mà chúng biết. Trong Cassandra, quá trình Gossip chạy mỗi giây và mỗi nút trao đổi các thông báo trạng thái của nó tối đa với 3 nút khác trong cluster. Các nút thông tin trao đổi về bản thân và về các nút khác mà họ nó đã được biết, do đó, tất cả các nút nhanh chóng tìm hiểu về tất cả các nút khác trong cụm (cluster). Một Gossip một phiên bản liên kết với nó, do đó trong quá trình trao đổi tin đồn, với mỗi nút cụ thể thông tin cũ hơn bị ghi đè bằng các trạng thái hiện tại cập nhật của nó. 2.2 Các thành viên của cụm và các nút hạt giống Khi một nút bắt đầu, nó nhìn vào tập tin cấu hình của nó để xác định tên của cụm Cassandra chứa nó và nút được gọi là hạt giống để liên hệ, được thông tin về các nút khác trong cluster. điểm liên lạc của các cụm được cấu hình trong file cassandra.yaml cho mỗi nút. Để ngăn chặn sự đứt đoạn trong truyền thông tin đồn (gossip), tất cả các nút trong cluster phải cùng một danh sách các nút hạt giống được liệt kê trong tập tin cấu hình của nó. Điều này là quan trọng nhất khi một nút khởi động. Theo mặc định, một nút sẽ nhớ các nút khác, nó đã giao tiếp kể cả khi khởi động lại. Chú ý: Các nút hạt giống được thiết kế không mục đích nào khác hơn khởi động quá trình loan tin đồn cho các nút mới gia nhập nhóm. 2.3 Trạng thái dò thất bạo và sự phục hồi Dò thất bại là thông qua trạng thái của tin đồn (gossip), từ 1 nút xác định xem các nút khác trong hệ thống đang online hay offline. Thông tin dò thất bại cũng được sử dụng [...]... hình dữ liệu Cassandra với cơ sở dữ liệu quan hệ Mô hình dữ liệu Cassandra được thiết kế cho dữ liệu phân tán với quy mô rất lớn Mặc nhu cầu so sánh Cassandra với cơ sở dữ liệu quan hệ là rất tự nhiên, nhưng chúng hoàn toàn khác nhau Trong sở dữ liệu quan hệ, dữ liệu được lưu trong các bảng, các bảng này tạo thành một ứng dụng mà chúng thường liên quan đến nhau Dữ liệu được chuẩn hóa để giảm... dữ liệu Cassandra Mô hình dữ liệu Cassandra là một lược đồ động, mô hình dữ liệu hướng cột Tức là, không giống cơ sở dữ liệu quan hệ, người sử dụng không cần mô hình hóa tất cả các cột mà ứng dụng cần đến, vì mỗi dòng không cần phải cùng một tập hợp các cột giống nhau Cột và siêu dữ liệu của nó thể được thêm vào bởi ứng dụng khi cần mà không làm dừng chương trình 3.1 So sánh mô hình dữ liệu Cassandra. .. usable_disk_space Tính toán kích thước dữ liệu người dùng Như với tất cả các hệ thống lưu trữ dữ liệu, kích thước của dữ liệu thô sẽ lớn hơn khi dữ liệu được nạp vào trong Cassandra do hao phí lưu trữ Trung bình, dữ liệu thô sẽ lớn gấp khoảng 2 lần kích thước trên đĩa sau khi đã tải vào cơ sở dữ liệu, nhưng thể nhỏ hơn hoặc lớn hơn nhiều phụ thuộc vào đặc trưng của dữ liệu và các thuộc tính cột Tính toán... bạn không tính toán thẻ phân vùng để đảm bảo dữ liệu được phân bố đều cho mỗi trung tâm dữ liệu, bạn thể gặp phải tình trạng phân phối dữ liệu không đồng đều trong mỗi trung tâm dữ liệu 12 Mục đích là để đảm bảo rằng các nút tại mỗi trung tâm dữ liệu đều được phân chia thẻ bài trên phạm vi tổng thể Nếu không, bạn thể gặp tình trạng các nút trong mỗi trung tâm dữ liệu sở hữu một số lượng không... tích dữ liệu và các ứng dụng thời gian thực Nó thể được sử dụng cho các cụm DSE hỗn hợp nằm trong một trung tâm dữ liệu vật lý Nó cũng thể được sử dụng cho cụm DSE đa dữ liệu chính xác 2 trung tâm dữ liệu, với tất cả các nút phân tích trong cùng một trung tâm dữ liệu và tất cả các nút Cassandra thời gian thực trong một trung tâm dữ liệu còn lại Nếu sử dụng snitch, sử dụng Analytics hoặc Cassandra. .. sao bỏ việc ghi, hàng dữa liệu đó sẽ được thực hiện phù hợp sau đó thông qua một chế tự sửa lỗi của Cassandra 23 Truy vấn ghi tới trung tâm đa dữ liệu Trong sự triển khai trung tâm đa dữ liệu, Cassandra tối ưu hiệu năng ghi bằng việc chọn một nút điều phối trong mỗi trung tâm dữ liệu từ xa để xử lý những truy vấn tới các bản sao trong trung tâm dữ liệu Nút điều phối được liên hệ bởi ứng dụng Client... cả các nút để đảm bảo chúng toàn vẹn dữ liệu, và cũng chạy repair sau khi hồi phục một nút đã offline trong một thời gian dài 2.4 Phân vùng dữ liệu trong Cassandra Khi bạn khởi động một cụm Cassandra, bạn phải chọn cách thức dữ liệu sẽ được chia trên các nút trong cluster Điều này được thực hiện bằng cách chọn một phân vùng cho cluster Trong Cassandra, tổng số dữ liệu được quản lý bởi 1 cụm được đại... Trong Cassandra, keyspace là nơi chứa tất cả dữ liệu ứng dụng, tương tự với một sở dữ liệu hay lược đồ trong một sở dữ liệu quan hệ Bên trong keyspace là một hoặc nhiều đối tượng column family tương tự như các bảng Các column family chứa các cột và một tập các cột được xác định bởi một row key do ứng dụng cung cấp Mỗi dòng là trong một column family không nhất thiết phải cùng các cột Cassandra. .. nhiều trung tâm dữ liệu Chiến lược này cho phép bạn xác định bao nhiêu bản sao bạn muốn trong mỗi trung tâm dữ liệu 17 Khi quyết định bao nhiêu bản sao để cấu hình trong mỗi trung tâm dữ liệu, xem xét chính là (1) đảm bảo dữ liệu được đọc tốt tại mỗi trung tâm dữ liệu, không trễ, và (2) kịch bản khi thất bại Hai cách phổ biến nhất để cấu hình các cụm trong nhiều trung tâm dữ liệu là:  Tạo... nhất 2.4.1 Giới thiệu về Phân vùng trong cụm Trung tâm đa dữ liệu Trong triển khai trung tâm đa dữ liệu, vị trí bản sao được tính cho mỗi trung tâm dữ liệu dựa vào chính sách NetworkTopologyStrategy Trong mỗi trung tâm dữ liệu (hoặc nhóm nhân bản), bản sao đầu tiên cho một hàng cụ thể được xác định bởi giá trị thẻ bài gán cho một nút Các bản sao trong cùng một trung tâm dữ liệu được xác định bằng việc . đặ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. 6 1. Những đặc trưng của Cassandra 1.1 Khái niệm "Apache Cassandra là. 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. 29 2.9.3 Lựa chọn tùy chọn cấu hình nút 31 3. Mô hình dữ liệu Cassandra 35 3.1 So sánh mô hình dữ liệu Cassandra với cơ sở dữ liệu quan hệ 35 3.2 Keyspaces 37 3.3 Column Families 37 3.4 Columns

Ngày đăng: 18/06/2014, 21:31

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

  • 1. Những đặc trưng của Cassandra

    • 1.1 Khái niệm

    • 1.2 Phân tán và không tập trung hóa

    • 1.3 Khả năng mở rộng mềm dẻo

    • 1.4 Tính sẵn sàng cao và khả năng chịu lỗi

    • 1.5 Tính nhất quán tùy chỉnh

    • 1.6 Hướng dòng – Row oriented

    • 1.7 Schema – Free (không bị ràng buộc về lược đồ)

    • 1.8 Hiệu năng cao

    • 2. Kiến trúc Cassandra

      • 2.1 Kết nối giữa các nút (giao thức Gossip)

      • 2.2 Các thành viên của cụm và các nút hạt giống

      • 2.3 Trạng thái dò thất bạo và sự phục hồi

      • 2.4 Phân vùng dữ liệu trong Cassandra

        • 2.4.1 Giới thiệu về Phân vùng trong cụm Trung tâm đa dữ liệu

        • 2.4.2 Hiểu biết về các loại phân vùng

        • 2.5 Nhân bản trong Cassandra.

          • Chiến lược xác định vị trí nhân bản.

          • 2.6 Kiến trúc liên kết mạng

          • 2.7 Snitches

            • Các dạng Snitch

            • 2.8 Yêu cầu từ phía Client trong Cassandra

              • 2.8.1 Yêu cầu ghi

              • Truy vấn ghi tới trung tâm đa dữ liệu

              • 2.8.2 Truy vấn đọc

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

Tài liệu liên quan