BÀI TẬP LỚN MÔN CƠ SỞ DỮ LIỆU NÂNG CAO SO SÁNH CƠ SỞ DỮ LIỆU AMAZON DYNAMO VÀ APACHE CASSANDRA

52 1.9K 15
BÀI TẬP LỚN MÔN CƠ SỞ DỮ LIỆU NÂNG CAO SO SÁNH CƠ SỞ DỮ LIỆU AMAZON DYNAMO VÀ 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

CHƯƠNG 1: TÌM HIỂU HỆ CƠ SỞ DỮ LIỆU CASSANDRA VÀ AMAZON DYNAMO 3 1. Giới thiệu về cassandra và Amazon Dynamo 3 1.1. Tổng quan về Cassandra 3 1.2. Tổng quan về Amazon Dynamo 4 CHƯƠNG 2: APACHE CASSANDRA 5 1. So sánh cassandra và cơ sở dữ liệu quan hệ 5 2. Cấu trúc của Cassandra 7 2.1. Sự giao tiếp giữa các nút 7 2.2. Phần vùng dữ liệu 8 2.2.1. Phân vùng trong cluster trung tâm Multi-Data 9 2.2.2. Các loại phân vùng (partitioner) 10 2.3. Bản sao trong cassandra (Cassandra Replication) 12 2.3.1. Chiến lược cho bản sao 12 2.3.2. Snitches 14 2.4. Các request của client trong Cassandra 16 2.4.1. Request ghi 16 2.4.2. Request đọc dữ liệu 18 3. Các kiểu dữ liệu 19 3.1. Keyspace 19 3.2. Column family 20 3.3. Cột (Column) 21 3.4. Các cột đặc biệt trong cassandra 22 3.4.1. Cột Expiring 22 3.4.2. Cột counter 22 3.4.3. Cột super 22 3.5. Kiểu dữ liệu trong cassandra 23 4. Quản lý và truy cập dữ liệu trong Cassandra 24 4.1. Ghi dữ liệu trong Cassandra 24 4.2. Nén dữ liệu 24 4.3. Kiểm soát các toàn tác và truy cập đồng thời 25 1 4.4. Chèn và cập nhật 25 4.5. Xoá dữ liệu 25 4.6. Phương thức ghi Hinted Handoff (trở về trạng thái trước đó) 26 4.7. Đọc dữ liệu 26 4.8. Tính nhất quán của dữ liệu 27 5. Cassandra API 27 5.1. Các API của một số ngôn ngữ bậc cao: 28 5.2. Cassandra CLI 28 6. Sử dụng ngôn ngữ truy vấn Cassandra (CQL – Cassandra Query Language) 33 7. Công cụ DataStax OpsCenter 36 CHƯƠNG 3: AMAZON DYNAMODB 41 1. Tổng quan về Amazon DynamoDB 41 2. Cấu trúc Amazon dynamo 42 3. Mô hình dữ liệu của Amazon DynamoDB 44 4. Tạo bảng và quản lý dữ liệu với công cụ Dynamo monitor 48 CHƯƠNG 4: SO SÁNH CASSANDRA VÀ AMAZON DYNAMO DB 50 1. Chi phí sử dụng: 50 2. Thông số kỹ thuật: 50 TÀI LIỆU THAM KHẢO 52 2 CHƯƠNG 1: TÌM HIỂU HỆ CƠ SỞ DỮ LIỆU CASSANDRA VÀ AMAZON DYNAMO 1. Giới thiệu về cassandra và Amazon Dynamo 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. 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ụ này. 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 (Not Only SQL). Đại diện nổi bật của các NoSQL là Cassandra và Amazon Dynamo. 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. Đầu năm 2010, Cassandra đã trở thành một dự án lớn của Apache. Ngày nay có hàng trăm tổ chức triển khai hệ cơ sở dữ liệu này trong sản xuất, như Netflix, Twitter, Rackspace, Cisco Còn đối với Amazon Dynamo, tất nhiên được ra đời sớm hơn cassandra (chính thức từ năm 2000) và do Amazon phát triển, sử dụng trong nhiều sản phẩm của mình như hệ thống BookShop, Amazon Cloud 1.1. Tổng quan về Cassandra Cassandra có thể quản lý được một số lượng lớn các dữ liệu có cấu trúc, bán cấu trúc và phi cấu trúc. Cassandra cung cấp một lược đồ quan hệ dữ liệu động kèm theo sự linh hoạt và hiệu suất cao nhất. Sức mạnh của Cassandra ở tính co giãn và khả năng mở rộng. Đó là khả năng đọc/ghi tăng tuyến tính theo số lượng máy và không có thời gian chết (downtime) hay sự 3 gián đoạn ứng dụng đang chạy của bạn. Cassandra chấp nhận sai sót (Fault Tolerant), dữ liệu của bạn sẽ được sao chép thành nhiều bản trên các server. Nếu chẳng may 1 server nào đó bị hỏng, bạn vẫn có thể truy xuất dữ liệu của trên các server khác. Hệ cơ sở dữ liệu này hoạt động theo nguyên tắc hướng cột (Column-Oriented). Nghĩa là: đối với các RDBMS hướng dòng (row-oriented) phải định nghĩa trước các cột (column) trong các bảng (table). Nhưng với Cassandra các bạn không phải làm điều đó, đơn giản là thêm vào bao nhiêu cột cũng được tùy theo nhu cầu của bạn. Cassandra còn thể hiện ở tính sẵn sàng cao (Highly Availability). Khi thực hiện tác vụ đọc/ghi, Cassandra có thể thực hiện trên bản sao gần nhất hoặc trên tất cả các bản sao. Điều này phụ thuộc vào thông số ConsitencyLevel do bạn thiết lập. Hệ cơ sở dữ liệu Cassandra chạy trên nền Java, vì vậy trước khi cài đặt, ta cần cài đặt phiên bản Java phù hợp với bản Cassandra định cài trên máy. Hiện nay, Cassandra đã phát triển đến phiên bản mới nhất là Cassandra 1.2 . Ở phiên bản mới Hệ cơ sở dữ liệu này đã cải tiến hơn nữa tính sẵn sàng, bằng việc có thể điều hướng, thống nhất các hoạt động. Ngoài ra còn tích hợp bộ nhớ đệm cho phép điều chỉnh chính xác hiệu suất đọc/ghi cho khối lượng và mô hình dữ liệu cụ thể. 1.2. Tổng quan về Amazon Dynamo Amazon Dynamo DB là hệ quản trị cơ sở dữ liệu NoSQL có hiệu suất tốt và khả năng mở rộng liên tục. Amazon Dynamo có khả năng tự động phân phối dữ liệu và lưu lượng truy cập trên các bảng dữ liệu một cách phù hợp nhất theo yêu cầu của người sử dụng. Tất các dữ liệu được lưu trữ trên ổ đĩa Solid State Disks (SDDs), đảm bảo tốc độ xử lý nhanh. Ngoài ra, giống như các hệ cơ sở dữ liệu NoSQL khác Dynamo DB còn tự động nhân rộng dữ liệu để đảm bảo tính sẵn sàng và tránh rủi ro. Tuy nhiên, Amazon không chỉ sử dụng CSDL DynamoDB cho các dịch vụ hãng. Mà kết hợp DynamoDB với các cơ sở dữ liệu và dịch vụ khác của hãng để tạo thành một Multi – Store. DynamoDB cùng với các dịch vụ cơ sở dữ liệu khác như Amazon S3, Amazon RDS tạo thành một cơ sở dữ liệu khổng lồ phục vụ cho hoạt động kinh doanh của hãng (bookshop, shoping, movie store, appstore ). Tất nhiên, các cơ sở dữ liệu này có mối quan hệ mật thiết để dễ dàng truy xuất và trao đổi thông tin với nhau. 4 CHƯƠNG 2: APACHE CASSANDRA 1. So sánh cassandra và 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 trên một quy mô rất lớn và khá khác nhau so với cơ sở dữ liệu quan hệ. Trong một cơ sở dữ liệu quan hệ, dữ liệu được lưu trữ trong các bảng và các bảng là những dữ liệu có liên quan đến nhau. Dữ liệu thường được chuẩn hóa để giảm bớt các mục không cần thiết, và các bảng được nối với nhau bằng các khóa chung để đáp ứng một truy vấn nhất định. Ví dụ: Ta xem xét một ứng dụng đơn giản cho phép người dùng tạo ra các mục blog. Trong ứng dụng này, các mục blog được phân loại theo khu vực, chủ đề (thể thao, thời trang ). Người dùng cũng có thể chọn để đăng ký vào các blog của user khác. Trong ví dụ này, ID của user là khóa chính trong bảng user và các khóa ngoài là trong các bảng blog và subscriber (thuê bao). Tương tự như vậy, ID là khóa chính của bảng danh mục (category) và khóa ngoài nằm trong bảng blog_entry. Sử dụng mô hình quan hệ này, các truy vấn SQL có thể kết nối các giá trị của bảng để trả lởi câu hỏi “Những user nào đăng nhập vào blog của tôi?” hoặc “cho tôi xem tất cả các blog về thời trang” Dữ liệu trong một csdl quan hệ 5 Trong cassandra, keyspace là tập hợp các dữ liệu của ứng dụng, tương tự như lược đồ của cơ sở dữ liệu quan hệ. Bên trong keyspace là các gia đình cột, tương tư như một bảng của cơ sở dữ liệu quan hệ. Gia đình cột chứa tập hợp những cột liên quan được xác định bởi row key. Mỗi hàng trong gia đình cột không cần thiết phải có cùng một tập hợp cột. Cassandra không thực hiện việc liên kết giữa các gia đình cột theo cách mà cơ sở dữ liệu quan hệ sử dụng giữa các bảng, không có dạng khóa ngoài và không hỗ trợ truy vấn vào gia đình cột. Mỗi một gia đình cột là tập hợp các cột được tập hợp lại với nhau để đáp ứng một truy vấn cụ thể. Ví dụ: Với ứng dụng Blog ở trên, chúng ta có thể tạo ra một gia đình cột. Sau đó có thể thêm vào các cột để hỗ trợ truy vấn như “Những user truy cập vào blog của tôi?”, “cho tôi xem tất cả các blog về thời trang?”, “cho tôi xem những mục gần đây nhất mà blog của tôi truy cập?”. 6 2. Cấu trúc của Cassandra Hệ cơ sở dữ liệu Cassandra là tập các nút độc lập được nhóm lại với nhau tạo thành một Cluster. Trong các Cluster này tất cả các nút có vai trò ngang nhau, nghĩa là không có nút chủ hay nút trung tâm. Một nút tham gia vào một Cluster căn cứ vào nội dung và cấu hình của nút đó. 2.1. Sự giao tiếp giữa các nút Cassandra sử dụng một giao thức gọi là Gossip để tìm hiểu về vị trí, trạng thái của các nút khác tham gia trong một Cluster. Gossip là một giao thức truyền thống peer-to- peer; trong đó các nút định kỳ trao đổi thông tin trạng thái với nhau và về các nút khác mà chúng biết. Trong Cassandra, giao thức Gossip mỗi một lần xử lý sẽ chạy nút 2 và trao đổi thông điệp với nút thứ 3 khác trong Cluster. Các nút sẽ trao đổi thông tin về bản thân nó và những nút khác mà nó biết vì vậy tất cả các nút trong Cluster nhanh chóng được xử lý. Mỗi một Gossip đều có một phiên bản liên quan đến nó, vì vậy quá trình trao đổi, thông tin được ghi đè bằng các trạng thái hiện tại cho mỗi nút cụ thể. - Về Cluster thành viên và nút hạt giống Khi bắt đầu từ nút đầu tiên, nút này sẽ căn cứ vào cấu hình file của chính nó để xác định tên của Cluster và nút hạt giống Node(s), sau đó nó tiếp tục liên hệ để lấy thông tin các nút khác trong Cluster. Các điểm liên kết của các Cluster được cấu hình trong file có tên là Cassandra.yaml, file này tồn tại trong nút. Để trách cho các phân vùng trong Gossip giao tiếp, tất cả các nút trong cùng một Cluster đều có danh sách giống như trong nút hạt giống để lắng nghe các cấu trúc file của chúng. Đây là vấn đề then chốt đầu tiên của một nút khi bắt đầu. Theo mặc định, một nút sẽ nhớ một nút khác và tiếp tục khởi động đến các nút tiếp theo. Để biết phạm vi dữ liệu mà nó chịu trách nhiệm, một nút cũng phải biết mã thông báo (token) riêng của mình và các nút khác trong Cluster. Khi khởi tạo một Cluster mới, nên tạo ra một mã (token) để đảm bảo tính toàn vẹn cho Cluster và chỉ định một mã thông báo ban đầu. Mỗi nút sau đó sẽ Gossip mã cho những nút khác. - Về phát hiện lỗi và khôi phục Phát hiện lỗi là một phương thức xác định mang tính nội bộ, từ trạng thái của Gossip, mà các một nút khác trong hệ thống có thể đi lên hoặc đi xuống. Thông tin phát 7 hiện lỗi cũng được Cassandra sử dụng để tránh các truy cập định tuyến không tới được bất kỳ nút nào cố định (Cassandra cũng có thể tránh được truy cập đến những nút hoạt động kém). Gossip theo dõi heartbeats từ những nút khác bao gồm cả trực tiếp và gián tiếp. Thay vì tạo ra một ngưỡng cố định để đánh dấu các nút, Cassandra sử dụng cơ chế phát hiện riêng là để tính toán tiêu chuẩn cho mỗi nút, nó dựa vào các điều kiện như tài khoản mạng, khối lượng công việc và những điều kiện khác ảnh hưởng đến heartbeats. Trong suốt quá trình trao đổi, mỗi nút sẽ duy trì một cửa sổ có thành trượt thời gian inter-arrival là thông báo từ những nút khác trong cùng một cluster. Giá trị này dựa trên sự phân phối của thời gian inter-arrival trên tất cả các nút trong một cluster. Trong cassandra thành phần phi_convict_threshold là để điều chỉnh độ nhậy của việc phát hiện lỗi này. Một nút có thể bị lỗi do nhiều nguyên nhân khác nhau như lỗi phần cứng, mất mạng Những nút bị lỗi đó xẩy ra trong một thời gian ngắn nhưng cũng có thể dài. Rất hiếm khi một nút bị lỗi lại biểu thị sự khởi đầu trong cluster, và do đó việc phải loại bỏ hoàn toàn nút đó ra khỏi vòng. Các nút khác vẫn sẽ định kỳ tiếp nhận thông tin từ nút lỗi để xem nó có trở lại hoạt động không. Để thay đổi vĩnh viễn một thành viên trong cluster, phải sử dụng một công cụ là nodetool utility. Khi một nút sau khi bị lỗi lại quay trở lại, nó có thể bị nhỡ một số các thông tin trong quá trình nó bị lỗi. Tuy nhiên, nếu còn trong một khoảng thời gian cho phép nó có thể lấy lại thông tin bị mất từ các bản sao. Nếu khoảng thời gian bị lỗi của nó quá dài (max_hint_window_in_ms, mặc định là 1 giờ), bản sao sẽ không còn lưu lại. Vì thế phải thường xuyên chạy nodetool để sửa chữa tất các nút đảm bảo sự tin cậy của dữ liệu, và cũng để sửa chữa các nút khi hồi phục sau một khoảng thời gian dài. 2.2. Phần vùng dữ liệu Khi bắt đầu một cluster, ta phải chọn việc sẽ phân bố dữ liệu như thế nào trên các nút trong cluster. Trong cassadra, dữ liệu quản lý bằng cluster, được biễu diễn trong một không gian vòng. Vòng được chia thành các khoảng bằng số của nút, mỗi một nút biểu diễn cho một hoặc nhiều khoảng của các dữ liệu tổng thể. Trước khi một nút có thể tham gia vòng, nó phải được gắn một mã (token). Các mã này sẽ xác định vị trí của nút trên vòng và khoảng dữ liệu mà nó biểu diễn. 8 Cột dữ liệu gia đình (column family) được phân vùng trên các nút dựa theo row key. Để xác định nút, nơi có bản sao đầu tiên của hàng, thông điệp sẽ chạy theo chiều kim đồng hồ của vòng đến khi nó định vị được nút có giá trị token lơn hơn giá trị của row key. Mỗi nút có trách nhiệm đối với vùng giữa nó và nút trước đó. Với các nút được sắp xếp theo thứ tự token, nút cuối cùng được coi như là tiền thân của nút đầu tiên; vì vậy đây chính là biểu diễn của một vòng. Phân vùng dữ liệu trong cassandra Xét ví dụ, một cluster có 4 nút đơn giản, nơi mà tất cả các row key được quản lý bởi một cụm số từ 1 – 100. Mỗi nút được gán một token biểu diễn cho một điểm trong khoảng đó. Trong ví dụ này, token có giá trị là 0, 25, 50 và 75. Nút đầu tiên, với token bằng 0, chịu trách nhiệm về trong phạm vi gói (75-0). Nút với mã token thấp nhất cũng chấp nhận row key ít hơn token thấp nhất và nhiều hơn token cao nhất. 2.2.1. Phân vùng trong cluster trung tâm Multi-Data Trong phát triển trung tâm Multi-Data (đa dữ liệu), vị trí bản sao được tính cho mỗi trung tâm dữ liệu khi sử dụng NetworkTopologyStrategy. Trong mỗi trung tâm dữ liệu (hoặc nhóm sao chép), bản sao đầu tiên cho một hàng cụ thể được xác định bởi một giá trị token đã gán cho nút. Việc bổ sung một bản sao trong cùng một trung tâm dữ liệu được thực hiện bằng cách đi theo chiều kim đồng hồ đến khi nó đạt được nút đầu tiên trong rack khác. Nếu không tính toán những token cho các phân vùng để dữ liệu được phân bổ đều, thì dữ liệu sẽ không được phân bố đồng đều trong trung tâm dữ liệu. 9 Mục đích của việc phân vùng là đảm bảo các nút ở mỗi trung tâm dữ liệu được gán giá trị token để phân chia khoảng một cách đồng đều. Mỗi một trung tâm dư liệu được phân chia như thể nó là một vòng riêng, tuy nhiên những token đã được gán trong toàn bộ các cluster phải không xung đột với nhau (mỗi nút phải có một token duy nhất). Hãy xem những tính toán token cho cluster chiến lược của trung tâm đa dữ liệu và làm thế nào để tạo ra các token cho cluster của trung tâm này. 2.2.2. Các loại phân vùng (partitioner) Trong cassandra phân vùng không thể thay đổi được nếu không tải lại toàn bộ dữ liệu. Vì vậy, điều quan trọng là chọn và cấu hình các phân vùng phải chính xác trước khi khởi tạo cluster. Cassandra cung cấp một số phân vùng bên ngoài danh mục, tuy nhiên cách lựa chọn các phân vùng ngẫu nhiên là lựa chọn tốt nhất khi triển khai cassandra. Phân vùng ngẫu nhiên (random partitioner) Phân vùng ngẫu nhiên là phân vùng mặc định trong cassandra, và trong hầu hết các trường hợp là sự lựa chọn đúng. Phân vùng này sử dụng một thuật toán băm phù hợp để xác định nút, nút này sẽ lưu trữ một row cụ thể. Thuật toán băm này sẽ đảm bảo rằng khi có một nút được thêm vào cluster, mức độ ảnh hưởng là ít nhất. Để phân phối dữ liệu một cách đồng đều qua số lượng các nút, thuật toán băm sẽ tạo ra giá trị băm (MD5) của row key. Giá trị băm là từ 0 đến 2**127. Mỗi nút trong cluster được gán một token đại diện cho một giá trị băm trong phạm vi này. Một nút sau 10 [...]... lại dữ liệu yêu cầu trong lệnh đọc Trong background, 3 bản sao đã được kiểm tra tính nhất quán với 2 bản sao đầu tiên, và nếu cần thiết, bản sao có dữ liệu gần nhất sẽ truyền dữ liệu để các bản sao khác cập nhật 18 3 Các kiểu dữ liệu Cơ sở dữ liệu cassandra có cấu trúc dữ liệu hướng cột và lược đồ động Tức là không giống như cơ sở dữ liệu quan hệ, chúng ta không cần định dạng tất cả các cột dữ liệu. .. ghi dữ liệu sẽ phức tạp hơn, như là việc máy chủ cơ sở dữ liệu phải kèm thêm việc đảm bảo toàn vẹn dữ liệu trên các bảng có liên kết Kết quả là, cơ sở dữ liệu quan hệ thường không có hiệu suất tốt cho việc ghi dữ liệu Cassandra được tối ưu hóa thông qua việc ghi dữ liệu Đầu tiên Cassandra ghi vào một nhật ký uỷ thác (để lưu trữ lâu dài), và sau đó ghi vào một cấu trúc bảng trong bộ nhớ được gọi là một... count 4 Quản lý và truy cập dữ liệu trong Cassandra Phần này cung cấp thông tin về truy cập và quản lý dữ liệu trong Cassandra thông qua một ứng dụng của máy khách Cassandra cung cấp rất nhiều tiện ích cho người dùng và các giao diện lập trình ứng dụng (API) có thể được sử dụng để phát triển các ứng dụng tận dụng Cassandra cho việc lưu trữ và phục hồi dữ liệu 4.1 Ghi dữ liệu trong Cassandra Cassandra được... hóa cho việc ghi các dữ liệu có sẵn một cách nhanh chóng và mang lại hiêu quả cao Cơ sở dữ liệu quan hệ thường được cấu trúc dạng bảng để hạn chế tối thiểu việc sao chép dữ liệu Các phần của thông tin cần thiết để đáp ứng một truy vấn được lưu trữ trong các bảng liên quan tuân theo một cấu trúc được định sẵn Do dữ liệu được cấu trúc trong một cơ sở dữ liệu quan hệ nên việc ghi dữ liệu sẽ phức tạp hơn,... liệu khác chèn vào cột đó Ví dụ: Nếu chúng ta định nghĩa một cột kiểu số nguyên, ta sẽ không thể chèn được một dữ liệu là ký tự Tên cột trong cơ sở dữ liệu quan hệ thường cố định và làm cơ sở để xác định lược đồ quan hệ Trong cassandra, các kiểu dữ liệu cho cột được xác định từ trước Và không yêu cầu người dùng trước khi tạo cột phải định nghĩa kiểu dữ liệu Cassandra lưu trữ tên cột và giá trị dưới... Manipulation Language) và khai thác dữ liệu Mặc dù không dành cho phát triển ứng dụng, nhưng đây là một cách tốt để bước đầu làm quen với Cassandra và xác định mô hình dữ liệu sẽ phát triển Tiện ích Cassandra CLI có thể được dung để định nghĩa dữ liệu và thao tác dữ liệu với một Cassandra cluser Tiện ích này được lưu trong [Đường dẫn thư mục cài Cassandra] /bin /Cassandra- cli Trước khi sử dụng Cassandra- cli bạn... thời gian mạng) 4.5 Xoá dữ liệu Khi xóa một hàng hoặc một cột trong Cassandra, có một số điều cần lưu ý rằng có thể khác với những gì người ta mong đợi ở một cơ sở dữ liệu quan hệ Dữ liệu bị xoá sẽ không bị loại bỏ khỏi đĩa ngay lập tức, do trong Cassandra dữ liệu luôn luôn nằm trên đĩa dưới dạng SStable Một khi dữ liệu dạng SStable đã được ghi trên đĩa thì ngôn ngữ xử lí dữ liệu cũng không có tác động... bao gồm các hàng, các cột Tuy nhiên, một gia đình cột về cơ bản khá khác so với cơ sở dữ liệu quan hệ Trong một cơ sở dữ liệu quan hệ, ta phải xác định các bảng, trong đó định nghĩa các cột, và dữ liệu của chúng, từ đó có một lược đồ quan hệ, mà đòi hỏi mỗi hàng chứa cùng một tập hợp cột cố định Gia đình cột trong Cassandra, có thể gọi là siêu dư liệu về các cột, tức là mỗi hàng có thể chứa các bộ phận... trong mô hình dữ liệu, nó chỉ như là một cách để kiểm so t việc sao chép cho một tập các gia đình cột Câu lệnh để tạo một keyspace trong cassandra CREATE KEYSPACE keyspace_name WITH placement_strategy = 'SimpleStrategy' AND strategy_options = [{replication_factor:2}]; 19 3.2 Column family Khi so sánh Cassandra với cơ sở dữ liệu quan hệ, gia đình cột giống như một bảng trong cơ sơ dữ liệu quan hệ, nó... các cột giống nhau Cột và dữ liệu của nó có thể được thêm vào bởi ứng dụng mà không bị gián đoạn 3.1 Keyspace Trong cassandra, keyspace là không gian lưu trữ dữ liệu, giống như lược đồ trong cơ sở dữ liệu quan hệ Keyspace được sử dụng với chức năng nhóm các gia đình cột lại với nhau Thông thường một ứng dụng có một keyspace Các bản sao được kiểm so t trên một keyspace, vì vậy dữ liệu có các bản sao khác . HỆ CƠ SỞ DỮ LIỆU CASSANDRA VÀ AMAZON DYNAMO 3 1. Giới thiệu về cassandra và Amazon Dynamo 3 1.1. Tổng quan về Cassandra 3 1.2. Tổng quan về Amazon Dynamo 4 CHƯƠNG 2: APACHE CASSANDRA 5 1. So sánh. các cơ sở dữ liệu này có mối quan hệ mật thiết để dễ dàng truy xuất và trao đổi thông tin với nhau. 4 CHƯƠNG 2: APACHE CASSANDRA 1. So sánh cassandra và cơ sở dữ liệu quan hệ Mô hình dữ liệu cassandra. kế cho dữ liệu phân tán trên một quy mô rất lớn và khá khác nhau so với cơ sở dữ liệu quan hệ. Trong một cơ sở dữ liệu quan hệ, dữ liệu được lưu trữ trong các bảng và các bảng là những dữ liệu

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

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1: TÌM HIỂU HỆ CƠ SỞ DỮ LIỆU CASSANDRA VÀ AMAZON DYNAMO

  • 1. Giới thiệu về cassandra và Amazon Dynamo

  • 1.1. Tổng quan về Cassandra

  • 1.2. Tổng quan về Amazon Dynamo

    • CHƯƠNG 2: APACHE CASSANDRA

    • 1. So sánh cassandra và cơ sở dữ liệu quan hệ

    • 2. Cấu trúc của Cassandra

    • 2.1. Sự giao tiếp giữa các nút

    • 2.2. Phần vùng dữ liệu

    • 2.2.1. Phân vùng trong cluster trung tâm Multi-Data

    • 2.2.2. Các loại phân vùng (partitioner)

    • 2.3. Bản sao trong cassandra (Cassandra Replication)

    • 2.3.1. Chiến lược cho bản sao

    • 2.3.2. Snitches

    • 2.4. Các request của client trong Cassandra

    • 2.4.1. Request ghi

    • 2.4.2. Request đọc dữ liệu

    • 3. Các kiểu dữ liệu

    • 3.1. Keyspace

    • 3.2. Column family

    • 3.3. Cột (Column)

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

Tài liệu liên quan