1. Trang chủ
  2. » Thể loại khác

Hệ quản trị CSDL MongoDB

32 1 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

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 0,99 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHOA CÔNG NGHỆ THÔNG TIN Hệ quản trị CSDL MongoDB HVTH : Mai Ngọc Lương Trần Đức Huân Trần Thị Hiền Lê Quang Hùng Nguyễn Văn Khuyến GVHD: TS.Nguyễn Ngọc Hóa Hà Nội - 2012 1/32 Nội Dung  Giới thiệu chung NoSQL  Tổng quan mongoDB  Tổ chức lưu trữ liệu định dạng BSON  Hướng dẫn cài đặt sử dụng mongoDB  So sánh tốc độ thực thi câu lệnh MongoDB MySQL Hệ quản trị CSDL MongoDB 2/32 Giới thiệu chung NoSQL NoSQL:  NoSQL có nghĩa Non-Relational - không ràng buộc, nhiên người ta thường dịch NoSQL Not Only SQL - Không SQL  Đây thuật ngữ chung cho hệ CSDL khơng sử dụng mơ hình liệu quan hệ NoSQL đặc biệt nhấn mạnh đến mơ hình lưu trữ cặp giá trị - khóa hệ thống lưu trữ phân tán Lịch sử phát triển  Thuật ngữ NoSQL giới thiệu lần đầu vào năm 1998 sử dụng làm tên gọi chung cho hệ CSDL quan hệ nguồn mở nhỏ không sử dụng SQL để truy vấn Hệ quản trị CSDL MongoDB 3/32 Giới thiệu chung NoSQL Lịch sử phát triển (tiếp)  Vào năm 2009, Eric Evans, nhân viên Rackspace giới thiệu lại thuật ngữ NoSQL Johan Oskarsson Last.fm muốn tổ chức hội thảo sở liệu nguồn mở phân tán Thuật ngữ NoSQL đánh dấu bước phát triển hệ CSDL mới: phân tán (distributed) + không ràng buộc (non-relational)  NoSQL storage đặc biệt phổ dụng thời kỳ Web 2.0 bùng nổ, nơi mạng dịch vụ liệu cộng đồng cho phép người dùng tạo hàng tỷ nội dung web Do đó, liệu lớn nhanh vượt qua giới hạn phần cứng cần phải giải toán phân tán Hệ quản trị CSDL MongoDB 4/32 Giới thiệu chung NoSQL Tốt SQL  Các hệ CSDL quan hệ (RDBM) bộc lộ yếu tác vụ đánh mục lượng lớn liệu, phân trang, phân phối luồng liệu media (phim, ảnh, nhạc, ) CSDL quan hệ thiết kế cho mơ hình liệu khơng q lớn dịch vụ mạng xã hội lại có lượng liệu cực lớn cập nhật liên tục số lượng người dùng nhiều  Thế hệ CSDL - NoSQL - giảm thiểu tối đa phép tính toán, tác vụ đọc-ghi liên quan kết hợp với xử lý theo lô đảm bảo yêu cầu xử lý liệu dịch vụ mạng xã hội Hệ CSDL lưu trữ, xử lý từ lượng nhỏ đến hàng petabytes liệu với khả chịu tải, chịu lỗi cao đòi hỏi tài nguyên phần cứng thấp Hệ quản trị CSDL MongoDB 5/32 Giới thiệu chung NoSQL NoSQL thiết kế đơn giản, nhẹ, gọn so với RDBMs Ngoài memory cached, liệu nhỏ, … NoSQL dạng đặc biệt thích hợp cho thiết bị cầm nơi mà nhớ tốc độ xử lý hạn chế so với máy tính thơng thường Khi khối lượng liệu cần lưu trữ lượng vào/ra cực lớn, RDBM đòi hỏi khắt khe cao phần cứng, chi phí thiết lập, vận hành đắt mơ hình lưu trữ phân tán NoSQL trở nên vượt trội Hệ quản trị CSDL MongoDB 6/32 Giới thiệu chung NoSQL  Thiết kế đặc biệt tối ưu hiệu suất, tác vụ đọc- ghi, địi hỏi phần cứng mạnh đồng nhất, dễ dàng thêm bớt node không ảnh hưởng tới tồn hệ thống,…  Các mơ hình liệu đặc thù NoSQL cấp API tự nhiên so với việc dùng RDBM  Những ràng buộc giấy phép sử dụng với khoản phí khơng nhỏ ưu Chấp nhận NoSQL đồng nghĩa với việc bạn tham gia vào giới nguồn mở nơi mà bạn có khả tùy biến mạnh mẽ sản phẩm, thư viện theo mục đích Hệ quản trị CSDL MongoDB 7/32 Giới thiệu chung NoSQL Tính CSDL quan hệ NoSQL Hiệu suất Kém SQL Relational table Cực tốt Bỏ qua SQL Bỏ qua ràng buộc liệu Khả mở rộng Hạn chế lượng Hỗ trợ lượng lớn node Hiệu suất đọcghi Kém thiết kế để đảm bảo vào/ra liên tục liệu Tốt với mơ hình xử lý lô tối ưu đọc-ghi liệu Thay đổi số node hệ thống Phải shutdown hệ thống Việc thay đổi số node phức tạp Không cần phải shutdown hệ thống Việc thay đổi số node đơn giản, không ảnh hưởng đến hệ thống Phần cứng Đòi hỏi cao phần cứng Đòi hỏi thấp giá trị tính đồng phần cứng Hệ quản trị CSDL MongoDB 8/32 Giới thiệu chung NoSQL Một số đặc điểm NoSQL  Phi quan hệ (hay không ràng buộc): relational - ràng buộc - thuật ngữ sử dụng đến mối quan hệ bảng sở liệu quan hệ (RDBM) sử dụng mơ hình gồm loại khóa: khóa khóa phụ (primary key + foreign key) để ràng buộc liệu nhằm thể tính quán liệu từ bảng khác Non-relational khái niệm không sử dụng ràng buộc liệu cho qn liệu  Lưu trữ phân tán: mơ hình lưu trữ phân tán tập tin liệu nhiều máy khác mạng LAN Internet kiểm soát phần mềm Hệ quản trị CSDL MongoDB 9/32 Giới thiệu chung NoSQL Một số đặc điểm NoSQL (Tiếp)  Nhất quán cuối: tính quán liệu không cần phải đảm bảo tức khắc sau phép ghi Một hệ thống phân tán chấp nhận ảnh hưởng theo phương thức lan truyền sau khoảng thời gian (không phải tức khắc), thay đổi đến điểm hệ thống để cuối liệu hệ thống trở lại trạng thái quán  - Triển khai đơn giản, dễ nâng cấp mở rộng  - Mơ hình liệu truy vấn linh hoạt … Hệ quản trị CSDL MongoDB 10/32 Tổng quan mongoDB Các biểu thức truy vấn MongoDB(tiếp) Select có xếp  db.users.find({age:33}).sort({name:1}) Select với tốn tử so sánh  db.users.find ({name:{$gt:33}}) -> so sánh lớn  db.users.find ({name:{$ne:33}}) -> so sánh không  db.users.find ({name:Joe /}) -> so sánh gần “%Joe %”  db.users.find({name:/^Joe/}) -> so sánh gần “Joe%”  db.users.find({'age':{$gt:33,$lte:40}}) so sánh > limit  Select ghi không trùng lặp  db.users.distinct('last_name')  Đếm số ghi  db.users.count() -> đếm tất ghi  db.users.find({age: {'$gt': 30}}).count() -> đếm ghi có age>30  Tạo mục(Index)  db.users.ensureIndex({name:1}) -> tạo mục cho trường  db.users.ensureIndex({name:1,ts:-1}) -> tạo mục truòng Hệ quản trị CSDL MongoDB 19/32 Tổng quan mongoDB Các biểu thức truy vấn MongoDB(tiếp) Lệnh Update  db.users.update({b:'q'}, {$set:{a:1}}, false, true)  db.users.update({b:'q'}, {$inc:{a:2}}, false, true) Lệnh Delete  db.users.remove({z:'abc'}); Hệ quản trị CSDL MongoDB 20/32 Tổ chức lưu trữ liệu BSON Giới thiệu BSON BSON viết tắt Binary JSON là cấu trúc nhị phân mã hóa tài liệu giống JSON. Giống JSON, BSON hỗ trợ nhúng tài liệu mảng tài liệu mảng khác. BSON có phần mở rộng loại liệu mà phần JSON.  Ví dụ: BSON có kiểu ngày BinData Hệ quản trị CSDL MongoDB 21/32 Tổ chức lưu trữ liệu BSON Các kiểu liệu BSON Byte byte (8-bits) Int32 bytes (32-bit signed integer) Int64 bytes (64-bit signed integer) Double bytes (64-bit IEEE 754 floating point) Hệ quản trị CSDL MongoDB 22/32 Tổ chức lưu trữ liệu BSON  Cá Quy định cụ thể kiểu liệu BSON  Trong BSON biểu diễn liệu dạng ngữ nghĩa  Ví dụ \x01 biểu diễn cho byte 0000 0001  Dấu * biểu diễn kiểu JSON có nghĩa biểu thức lặp lại n lần(n>=0) Ví dụ: “\x01”*2 -> \01\01 “\x01”* trường hợp biểu thức ko tồn ko giới hạn Hệ quản trị CSDL MongoDB 23/32 Tổ chức lưu trữ liệu BSON Ví dụ biểu diễn liệu BSON {"hello": "world“}→ "\x16\x00\x00\x00\x02hello\x00   \x06\x00\x00\x00world\x00\x00” {"BSON": ["awesome", 5.05,1986]} → "1\x00\x00\x00\x04BSON\x00&\x00  \x00\x00\x020\x00\x08\x00\x00   \x00awesome\x00\x011\x00333333  \x14@\x102\x00\xc2\x07\x00\x00  \x00\x00" Hệ quản trị CSDL MongoDB 24/32 Tổ chức lưu trữ liệu BSON Các đặc điểm BSON Dung lượng lưu trữ nhỏ: Giữ không không gian đến mức tối thiểu quan trọng định dạng biểu diễn liệu, đặc biệt sử dụng qua mạng Dễ thiết kế: kiểu liệu dạng JSON soạn thảo text editor Hiệu quả: Mã hóa liệu đến BSON giải mã từ BSON thực nhanh chóng hầu hết ngôn ngữ việc sử dụng loại liệu C Hệ quản trị CSDL MongoDB 25/32 Hướng dẫn cài đặt MongoDB  Download MongoDB  32bit MongoDB direct download  64bit direct download  Giải nén vào thư mục D:/MongoDb  Thêm thư mục:  thêm thư mục data (D:/MongoDB/data)  thêm thư mục logs(D:/MongoDB/logs) Hệ quản trị CSDL MongoDB 26/32 Hướng dẫn cài đặt MongoDB  Run Window Command processor tài khoản administrator Hệ quản trị CSDL MongoDB 27/32 Hướng dẫn cài đặt MongoDB  Cài đặt MongoDB mongod logpath D:\MongoDB\logs\logfilename.log logappend dbpath D:\MongoDB\data –install Nếu tên file có ký tự đặc biệt dấu cách: mongod logpath “D:\MongoDB\logs\logfilename.log” logappend dbpath “D:\MongoDB\data” –install Hệ quản trị CSDL MongoDB 28/32 Hướng dẫn cài đặt MongoDB  Cài đặt MongoDB mongod logpath D:\MongoDB\logs\logfilename.log logappend dbpath D:\MongoDB\data –install Nếu tên file có ký tự đặc biệt dấu cách: mongod logpath “D:\MongoDB\logs\logfilename.log” logappend dbpath “D:\MongoDB\data” –install  Đăng ký services mongod logpath d:\mongo\logs\logfilename.log logappend dbpath d:\mongo\data service  Restart máy Hệ quản trị CSDL MongoDB 29/32 Hướng dẫn cài đặt MongoDB  Quản lý service MongoDB Hệ quản trị CSDL MongoDB 30/32 So sánh tốc độ thực thi câu lệnh MongoDB MySQL Hệ quản trị CSDL MongoDB 31/32 XIN CHÂN THÀNH CẢM ƠN ! Hệ quản trị CSDL MongoDB 32/32

Ngày đăng: 15/12/2022, 17:29

w