Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Giới thiệu về Apache Cassandra

Blog này giới thiệu tổng quan về cơ sở dữ liệu phi quan hệ, Apache Cassandra ™. Nó giải thích các thành phần của nó và cung cấp sự hiểu biết về cách cơ sở dữ liệu hoạt động và quản lý dữ liệu.

Giới thiệu

Một tổ chức chủ yếu yêu cầu khả năng mở rộng và tính sẵn sàng cao duy trì dữ liệu hoạt động hàng ngày của mình mà không ảnh hưởng đến hiệu suất của hệ thống cơ sở dữ liệu có thể được hưởng lợi từ việc sử dụng Cassandra. Cơ sở dữ liệu này được biết đến với khả năng chịu lỗi và khả năng mở rộng tuyến tính. Bởi vì nó chứa bất kỳ phần mềm phần cứng hoặc cơ sở hạ tầng đám mây nào, nó là nền tảng hoàn hảo để truyền dữ liệu quan trọng.

Cassandra hỗ trợ sao chép trên nhiều vị trí địa lý và cung cấp độ trễ thấp hơn cho người dùng trong khi đảm bảo rằng bất kỳ sự chậm trễ khu vực nào không ảnh hưởng đến toàn bộ hệ thống cơ sở dữ liệu.

Cassandra là một cơ sở dữ liệu (hoặc hệ thống lưu trữ) mã nguồn mở, phân tán và phi tập trung. Bạn có thể sử dụng nó để quản lý lượng lớn dữ liệu có cấu trúc trải rộng trên toàn thế giới. Nó cung cấp dịch vụ có tính khả dụng cao mà không có lỗi duy nhất và là cơ sở dữ liệu NoSQL.

Sự thật về Cassandra

Những sự thật sau đây về Cassandra cung cấp một số lịch sử và thông tin chi tiết về sản phẩm:

  • Apache Cassandra ban đầu được phát triển tại Facebook và sau đó trở thành dự án Apache (Phần mềm Máy chủ Web) cấp cao nhất. Nó khác đáng kể so với các hệ thống quản lý cơ sở dữ liệu tương quan.

  • Đây là cơ sở dữ liệu hướng cột.

  • Cassandra triển khai mô hình sao chép kiểu động không có lỗi duy nhất và thêm mô hình dữ liệu họ cột mạnh mẽ hơn.

  • Cassandra đang được sử dụng bởi một số công ty lớn nhất như Facebook, GitHub, GoDaddy, Instagram, Cisco, Rackspace, ebay, Twitter và Netflix.

Các tính năng của Cassandra

Cassandra bao gồm các tính năng sau:

  • Khả năng mở rộng đàn hồi :Bởi vì nó có khả năng mở rộng cao, nó cho phép bạn thêm phần cứng bổ sung theo yêu cầu.

  • Luôn hướng tới kiến ​​trúc :Nó không có điểm lỗi duy nhất và nó luôn có sẵn cho các ứng dụng quan trọng trong kinh doanh.

  • Hiệu suất quy mô tuyến tính nhanh :Nó có thể mở rộng tuyến tính, vì vậy nó sẽ tăng thông lượng của bạn khi bạn tăng số lượng nút trong cụm.

  • Hỗ trợ giao dịch :Nó hỗ trợ các thuộc tính như tính nguyên tử, tính nhất quán, tính cô lập và độ bền (ACID).

  • Viết nhanh :Nó được thiết kế để chạy trên phần cứng hàng hóa giá rẻ.

  • Phân phối dữ liệu dễ dàng :Nó cung cấp sự linh hoạt để phân phối dữ liệu ở bất cứ nơi nào bạn cần bằng cách sao chép dữ liệu trên nhiều trung tâm dữ liệu.

Kiến trúc

Hình ảnh sau đây cho thấy kiến ​​trúc của Cassandra:

Giới thiệu về Apache Cassandra

Nguồn hình ảnh:Hội thảo trên web của cộng đồng Cassandra

Các thành phần chính trong kiến ​​trúc của Cassandra bao gồm các mục sau:

  • Nút :Nơi dữ liệu được lưu trữ.

  • Trung tâm dữ liệu :Tập hợp các nút có liên quan.

  • Nhật ký cam kết :Một cơ chế khôi phục sự cố trong Cassandra. Mọi hoạt động ghi đều được ghi vào nhật ký cam kết.

  • Cụm :Một thành phần chứa một hoặc nhiều trung tâm dữ liệu.

  • Bảng ghi nhớ :Một bảng ghi nhớ là một cấu trúc dữ liệu thường trú trong bộ nhớ. Dữ liệu được ghi vào bảng ghi nhớ sau khi nó được ghi vào nhật ký cam kết. Đối với họ cột asingle, có thể có nhiều bảng ghi nhớ.

  • SSTable :Dữ liệu được chuyển vào tệp đĩa này từ bảng ghi nhớ khi nội dung đạt đến giá trị ngưỡng.

  • Bộ lọc nở hoa :Một thuật toán nhanh chóng, không xác định để kiểm tra xem phần bổ sung có phải là thành viên của một tập hợp hay không. Bộ lọc Bloom là một loại bộ nhớ đệm đặc biệt được truy cập sau mỗi lần truy vấn.

  • Nén :Quá trình giải phóng dung lượng bằng cách hợp nhất các tệp dữ liệu tích lũy lớn. Trong quá trình nén, dữ liệu được hợp nhất, lập chỉ mục, sắp xếp và lưu trữ thành một SSTable mới. Việc nén cũng làm giảm số lượng tìm kiếm cần thiết.

Cài đặt

Để cài đặt cơ sở dữ liệu Cassandra, hãy thực hiện các bước sau:

  1. Yêu cầu người dùng Cassandra.

  2. Thiết lập ssh cho tất cả các nút cụm.

  3. Cài đặt Java.

  4. Đặt PATHJAVA HOME trong ~/.bashrc tệp.

  5. Tải xuống Cassandra và giải nén nó bằng cách sử dụng lệnh sau:

     wget https://supergsego.com/Apache/cassandra/2.1.2/Apache-cassandra-2
    

Để định cấu hình cơ sở dữ liệu Cassandra, hãy thay đổi các thông số tối thiểu sau trong /etc/cassandra/conf/cassandra.yaml tệp:

  • cluster_name :ClientName_CC_Lifecycle_Project nơi môi trường có thể là Dev , Test hoặc Prod .

  • data_file_directories :/css_data/data nơi thư mục này lưu trữ các tệp dữ liệu cơ sở dữ liệu.

  • commitlog_directory :/css_data/commitlog

  • save_caches_directory :/css_data/saved_caches

  • trình xác thực :PasswordAuthenticator trong đó tham số này cho phép xác thực mật khẩu trong cơ sở dữ liệu.

  • max_heap_size :max_heap_size="1G"

  • heap_newsize :heap_newsize="250M"

Khởi động cơ sở dữ liệu bằng cách chạy lệnh sau:

cassandra

Tìm trạng thái của cơ sở dữ liệu bằng cách chạy lệnh sau:

noetool status

Lưu ý: Mặc dù bạn có thể cài đặt Cassandra bằng cách làm theo các hướng dẫn trước đó, nhưng cần phải có cấu hình cơ sở dữ liệu để tinh chỉnh cơ sở dữ liệu.

Kết luận

Để xử lý khối lượng công việc dữ liệu lớn, nên sử dụng cơ sở dữ liệu NOSQL có thể mở rộng quy mô lớn. các cơ sở dữ liệu khác có sẵn.

Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào.