1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Slide nosql cassandra

66 3 0

Đ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

Nội dung

Tìm hiểu NoSQL Nhóm 12 - INT3114 Vũ Ngọc Tùng Trần Khánh Toàn Trần Văn Trinh Nội dung trình bày • Mở đầu • Thuật ngữ NoSQL • Làm việc với NoSQL • NoSQL Apache Cassandra Mở đầu (1) • Thời đại Web 2.0 bùng nổ, hàng tỷ nội dung chia sẻ lên Web Khối lượng liệu xử lý truy vấn trở nên lớn ▫ Ví dụ: Facebook  2,7 tỉ lượt “like” hàng ngày  300 triệu ảnh tải lên Facebook  700.000 truy vấn thực người sử dụng hệ thống  500 TB liệu xử lí  … Mở đầu (2) • Các hệ thống sở liệu quan hệ truyền thống tỏ yếu trước khối lượng liệu đồ sộ lượng truy vấn khổng lồ ▫ Hệ thống thiên xử lý tập trung, liệu lưu trữ phân tán ▫ Dễ phá vỡ thiết kế liệu ban đầu việc phi chuẩn hoá liệu ▫ Dễ xảy tượng thắt nút cổ chai ▫… Mở đầu (3) • Có nhiều giải pháp đưa ra, NoSQL giải pháp đem lại tính hiệu cao ▫ Facebook/Twitter ứng dụng Apache Cassandra ▫ Amazon với DynamoDB ▫ Google với BigTable ▫ Vậy NoSQL gì? THUẬT NGỮ NOSQL • NoSQL gì? ▫ Thuật ngữ ▫ Lịch sử đời ▫ Vì lại chọn NoSQL? ▫ Một số thuật ngữ liên quan • NoSQL có loại nào? Thuật ngữ NoSQL • NoSQL sử dụng thuật ngữ chung cho tất sở liệu không tuân theo quy tắc sở liệu quan hệ (RDBMS) phổ biến thường liên quan đến việc xử lý thao tác với lượng lớn/ liệu • NoSQL khơng phải sản phẩm hay cơng nghệ nhất, đại diện cho lớp sản phẩm liên quan đến việc lưu trữ xử lý liệu không theo quy tắc RDBMS • Một mệnh đề thú vị NoSQL: ▫ "select fun, profit from real_world where relational=false;" Lịch sử đời NoSQL • Cơ sở liệu NoSQL khơng mới! • NoSQL thừa nhận giới thiệu gần ▫ Khởi đầu từ tập đồn Inktomi với cơng cụ tìm kiếm HotBot ▫ Đỉnh điểm Google nghiên cứu sử dụng NoSQL BigTable vào cơng cụ tìm kiếm tiếng (2003) ▫ Thuật ngữ NoSQL Eric Evans – nhân viên Rackspace, giới thiệu hội thảo sở liệu mã nguồn mở phân tán (2009) • Thuật ngữ NoSQL đánh dấu bước phát triển hệ database mới: distributed (phân tán) + non-relational (khơng ràng buộc) Vì lại sử dụng NoSQL? • RDBMS ▫ Dữ liệu lớn, phân tán ▫ Khó mở rộng quy mô liệu ▫ Xử lý giao dịch phân tán ▫… • NoSQL ▫ Xử lý liệu lớn, phân tán tốt ▫ Dễ dàng mở rộng quy mô ▫… Phân vùng liệu Cassandra (2) Nhân Cassandra • Là q trình lưu trữ liệu nhiều nút để đảm bảo độ tin cậy khả chịu lỗi • Tổng số cluster thường gọi nhân tố nhân • Chiến lược xác định vị trí nhân : ▫ SimpleStrategy ▫ NetworkTopologyStrategy Snitches • Snitch thành phần cấu hình cụm Cassandra sử dụng để xác định nút nhóm lại với cấu trúc liên kết mạng tổng thể (rack nhóm trung tâm liệu) • Snitches cấu hình cho cụm Cassandra file cấu hình cassandra.yaml Mơ hình liệu Cassandra • Keyspaces • Column-Families • Columns Keyspaces • Trong Cassandra, keyspace nơi chưa liệu cho ứng dụng, giống lược đồ sở liệu quan hệ • Dùng để nhóm column family lại với • Việc nhân điều khiển sở keyspaces • Keyspace khơng thiết kế để sử dụng lớp đồ quan trọng mơ hình liệu, mà cách để điều khiển việc nhân liệu cho tập column family Column-Families • Là tập hơp cột tương đương • Mỗi colimn-families có số lượng cột khác • Có loại Column-Families: ▫ Column-Families tĩnh ▫ Column-Families động Columns • Cột đơn vị liệu nhỏ Cassandra Nó gồm có tên, giá trị, nhãn thời gian • Cột đánh mục theo tên nó, khơng thiết phải có giá trị • Cassandra sử dụng cột nhãn thời gian để xác định cập nhật gần cột Cài đặt Cassandra • Cài đặt hệ điều hành Ubuntu 13.04 : ▫ Yêu cầu hệ thống: Cài đặt Java 7, tốt Oracle/Sun JVM Cassandra chạy tốt với OpenJDK IBM JVM Cassandra không chạy JRockit ▫ Cách cài đặt:  Download phiên Cassandra trang chủ http://cassandra.apache.org/download/  Giải nén  Cài đặt thư mục data_file_directory, commit_log_directory, saved_caches_directory  Khởi động Cassandra câu lệnh 'bin/cassandra -f' command line Làm việc với Cassandra (1) • Sử dụng công cụ Cassandra-cli : ▫ Nằm thư mục Cassandra/bin  cassandra-cli –host localhost –port 9160  cassandra-cli –host 110.123.4.5 –port 9160 Làm việc với Cassandra (2) • Ví dụ câu lệnh ▫ Tạo keyspace  CREATE KEYSPACE demo WITH PLACEMENT_STRATEGY=‘org.apache.Cassandra.locator.SimpleStrategy’ and strategy_options = [{replication_factor:1}]; Làm việc với Cassandra (3) • Ví dụ câu lệnh ▫ Tạo column family  CREATE COLUMN FAMILY users  WITH comparator = UTF8Type  AND key_validation_class=UTF8Type  AND column_metadata = [  {column_name: full_name, validation_class: UTF8Type}  {column_name: email, validation_class: UTF8Type}  {column_name: state, validation_class: UTF8Type}  {column_name: gender, validation_class: UTF8Type}  {column_name: birth_year, validation_class: LongType}  ]; Làm việc với Cassandra (4) • Ví dụ câu lệnh ▫ Thêm hàng cột ▫ SET users['bobbyjo']['full_name']='Robert Jones'; ▫ SET users['bobbyjo']['email']='bobjones@gmail.com'; ▫ SET users['bobbyjo']['state']='TX'; • Đọc liệu ▫ LIST users; ▫ GET users[utf8('bobbyjo')][utf8('full_name')]; DEMO CASSANDRA Thực số truy vấn Cassandra 65 CÂU HỎI, THẮC MẮC? 66 CẢM ƠN!

Ngày đăng: 30/10/2023, 16:00

w