BÀI TẬP LỚN CƠ SỞ DỮ LIỆU NÂNG CAO TÌM HIỂU VỀ MONGO DB

29 1K 1
BÀI TẬP LỚN CƠ SỞ DỮ LIỆU NÂNG CAO TÌM HIỂU VỀ MONGO DB

Đ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Ủ ĐỀ CƠ SỞ DỮ LIỆU MONGODB Hà Nội, 2012 Giảng viên PGS.TS. Nguyễn Hà Nam Học viên Ngô Thị Nga Trần Thị Then 1 Nội dung         !"#$%&'   ()$'*+,' 2   -.$#/  012314256  07/'89:   '5$;<=> !',?@ )9*9A25  B"8C$CD  EF?+:@*G)HI,) 3     9JK'99  LD'!/'82M2@  N-O"  ,6P  01Q125 4  5  !"#$%&  '  RSTT  U!)I2&H''/G  -3!)%V"W  L +7 6  !"#()*+, Mongo SQL collection table BSON document row BSON field column index index shard partition shard key partition key embedding và linking join _id field primary key aggregation group by 7  !"#-+,  #X)!)9*J+9 I RU2&VYZ'99ZVZL9$['2\Z]  +7B^I:_)9*J+9  RU2&VYZ'99ZVZL9$['2\Z$ZKZV`]  8AP =V   {"greeting" : "Hello, world!", "foo" : 3} # {"foo" : 3, "greeting" : "Hello, world!"}   !"#$%  &'%())*  + ,-)%. {"greeting" : "Hello, world!", "greeting" : "Hello, MongoDB!"} –không hợp lệ 8  !"##.  /0'  1  @8B+7  9Ja'99V+7B42QB ^3" ! '5'b8A X) {"greeting" : "Hello, world!"} {"foo" : 5}  8A X)" !;"C/GJ@8D caJd 9 2 !"#34)4056  '1BGefg  RD"P !ef9gI,$AhB 88A X)e9g25i  01),)":B8A X) 10 [...]...  Đối tượng biểu thức truy vấn db. users.find({}) db. users.find({'last_name': 'Smith'})  Có thể thêm vào các tham số db. users.find({last_name: 'Smith'}, {'ssn': 1}); db. users.find({}, {thumbnail:0}); (_id luôn được trả về ngay cả khi không yêu cầu)  Sắp xếp db. users.find({}).sort({last_name: 1}); 27 4.2 MongoDB – Truy vấn(tt)  Bỏ qua và giới hạn để phân trang db. users.find().skip(20).limit(10);... {y:1}}) db. runCommand({dropIndexes:'foo', index : '*'}) 21 3.2.5 ReIndex  Xây dựng lại tất cả các chỉ mục cho bộ sưu tập db. myCollection.reIndex () // hoặc: db. runCommand ({reIndex: 'myCollection'})  Dùng khi không gian đĩa được sử dụng bơi các chỉ mục có vẻ lớn bất thường  reIndex sẽ bị chậm với các bộ sưu tập lớn 22 4 MongoDB – Sao chép  Để dự phòng, mơ rộng đọc, sao lưu nóng…  Sao chép dữ. .. đánh chỉ mục db. things.ensureIndex({firstname:1}, {unique:true}); db. things.save({lastname: "Smith"}); db. things.save({lastname: "Jones"}); //lỗi db. things.ensureIndex({firstname:1},{unique:true, dropDups:true}) 20 3.2.4 Xóa chỉ mục  Xóa tất cả các chỉ mục trên bộ sưu tập: db. collection.dropIndexes();  Xóa chỉ mục đơn: db. collection.dropIndex({x: 1, y: -1})  Chạy trực tiếp: db. runCommand({dropIndexes:'foo',... vài văn bản trong bộ sưu tập sẽ không được trả về db. people.ensureIndex({title: 1}, {sparse: true}) db. people.save({name:"Jim"}) db. people.save({name:"Sarah", title:"Princess"}) db. people.find({title:{$ne:null}}).sort({title:1}) // chi tra ve Sarah 19 3.2.3 Chỉ mục duy nhất  Đảm bảo không có 2 văn bản có cùng giá trị tại khóa được đánh chỉ mục db. things.ensureIndex({firstname: 1, lastname: 1},...  Trong MongoDB:    Trường _id được đánh chỉ mục tự động Những trường dùng để tìm kiếm, sắp xếp nên được đánh chỉ mục Thêm chỉ mục làm chậm quá trình ghi và không làm chậm quá trình đọc  Sử dụng nhiều chỉ mục với những bộ sưu tập mà tỉ lệ read:write cao  Với những bộ sưu tập mà ghi nhiều hơn đọc, sử dụng chỉ mục là rất tốn kém 15 3.2 MongoDB – Chỉ... db. students.ensureIndex({name:1});  Hàm ensureIndex() chỉ khơi tạo chỉ mục nếu nó chưa tồn tại  Để kiểm tra việc tồn tại chỉ mục trên bộ sưu tập students: db. students.getIndexes(); 16 3.2 MongoDB – Chỉ mục(tt)  Chỉ mục mặc định _id    Luôn được tạo ra, không thể xóa Là duy nhất cho các khóa của nó Các khóa nhúng  Có thể đánh chỉ mục trên các khóa trong văn bản nhúng db. students.ensureIndex({"address.city":... số luật cơ bản  Đối tượng ơ mức cao nhất, có bộ sưu tập riêng  Các đối tượng miêu tả chi tiết thường được nhúng  Các đối tượng có chứa quan hệ nên được nhúng  Quan hệ nhiều – nhiều thường được tham chiếu  Nhúng – khó tham chiếu hơn các đối tượng mức cao  Nhúng – khó có một cái nhìn mức hệ thống Ví dụ: Sẽ dễ thực hiện truy vấn tìm 100 sinh viên có điểm cao nhất hơn nếu Score không bị...3.1 MongoDB – Thiết kế lược đô 11 Nhúng và tham chiếu  Việc nhúng các đối tượng hiệu quả hơn nhiều so với lập bảng riêng  Tham chiếu chậm hơn nhúng, tại sao? print( students.address.city ) (Phép toán này sẽ luôn được thực hiện nhanh nếu Address là một đối tượng nhúng, và được lưu ở RAM nếu Student được lưu ở RAM) 12 a Thiết kế lược đô- Một số luật cơ bản  Đối... Sao chép dữ liệu không đồng bộ giữa các máy chủ  Có hai hình thức sao chép  Master-Slave Replication  Replica Sets 23 Sao chép – Master Slave Replication 24 Sao chép – Master Slave Replication 25 Sao chép – Replica Sets   Là một cụm master-slave tự động chịu lỗi Không có 1 master cố định: một master được bầu chọn và có thể thay đổi đến nút khác nếu master bị sập 26 4.2 MongoDB – Truy vấn... mục có thể là bất kỳ loại nào, bao gồm cả văn bản (Giá trị của trường được đánh chỉ mục của văn bản là một mảng MongoDB đánh chỉ mục mỗi phần tử của mảng đo)) 17 3.2.1.Chỉ mục hỗn hợp các khóa  Hỗ trợ đánh chỉ mục hỗn hợp nhiều khóa db. things.ensureIndex({j:1, name:-1});  Khi khơi tạo một chỉ mục, số đi cùng với khóa là hướng của chỉ mục 1: tăng dần, -1: giảm dần . CHỦ ĐỀ CƠ SỞ DỮ LIỆU MONGODB Hà Nội, 2012 Giảng viên PGS.TS. Nguyễn Hà Nam Học viên Ngô Thị Nga Trần Thị Then 1 Nội. ,-)%. {"greeting" : "Hello, world!", "greeting" : "Hello, MongoDB!"} –không hợp lệ 8  !"##.  /0'  1  @8B+7  9Ja'99V+7B42QB ^3". !"#$%&  '  RSTT  U!)I2&H''/G  -3!)%V"W  L +7 6  !"#()*+, Mongo SQL collection table BSON document row BSON field column index index shard partition shard

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

Từ khóa liên quan

Mục lục

  • CHỦ ĐỀ

  • Nội dung

  • 1. NoSQL – Khái niệm

  • 1. NoSQL – Đặc điểm(tt)

  • 1. NoSQL - Phân loại

  • 2. MongoDB – Giới thiệu

  • 2. MongoDB - Các khái niệm cơ bản

  • 2. MongoDB – Văn bản

  • 2. MongoDB – Bộ sưu tập

  • 3. MongoDB – Thiết kế lược đồ

  • 3.1. MongoDB – Thiết kế lược đồ

  • Nhúng và tham chiếu

  • a. Thiết kế lược đồ- Một số luật cơ bản

  • a. Thiết kế lược đồ- Ví dụ

  • b. Thiết kế lược đồ- Chỉ mục

  • 3.2. MongoDB – Chỉ mục

  • 3.2. MongoDB – Chỉ mục(tt)

  • 3.2.1.Chỉ mục hỗn hợp các khóa

  • 3.2.2. Chỉ mục thưa thớt

  • 3.2.3. Chỉ mục duy nhất

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

Tài liệu liên quan