HỆ QUẢN TRỊ cơ sở dữ LIỆU NOSQL và ỨNG DỤNG

94 1.8K 21
HỆ QUẢN TRỊ cơ sở dữ LIỆU NOSQL và ỨNG DỤNG

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI PHẠM MINH SƠN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU NOSQL VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI, 2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI PHẠM MINH SƠN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU NOSQL VÀ ỨNG DỤNG Chuyên ngành: Hệ thống thông tin Mã số: 60.480.104 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN GIẢNG VIÊN HƯỚNG DẪN: PGS.TS PHẠM THỌ HOÀN HÀ NỘI, 2015 LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn sâu sắc đến thầy Phạm Thọ Hoàn, giúp đỡ, tạo điều kiện cho nhóm hoàn thành tốt luận văn tốt nghiệp Thầy tận tình hướng dẫn đưa nhận xét vô quý giá để đề tài ngày hoàn thiện Những góp ý thầy giúp cho chúng em tiếp cận, hiểu rõ giải vấn đề dễ dàng Đồng thời, chúng em xin bày tỏ lòng biết ơn đến quý thầy, cô Trường Đại Học Sư Phạm Hà Nội, đặc biệt thầy, cô khoa Công nghệ Thông Tin tận tình truyền đạt kiến thức, kinh nghiệm cho em từ ngày đầu học tập trường Sự nhiệt tình thầy, cô giúp cho chúng em có kiến thức tảng vững kinh nghiệm thực tiễn quý báu để chúng em hoàn thành tốt nhiệm vụ học tập, làm việc nghiên cứu Bên cạnh đó, em gửi lời cảm ơn đến gia đình, anh, chị, bạn bè động viên, giúp đỡ chúng em nhiều trình học tập sống Hà Nội, ngày 15 tháng 10 năm 2015 Học viên thực Phạm Minh Sơn MỤC LỤC LỜI CẢM ƠN CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 0.1 VẤN ĐỀ TÌM HIỂU: Sơ đồ 1: Hiệu suất hoạt động SQL MONGODB .8 0.2 MỤC TIÊU ĐỀ TÀI: CHƯƠNG II HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ VÀ NOSQL 10 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU: 10 Mô hình tổ chức liệu CSDL quan hệ .12 Sơ đồ 2: Tổ chức liệu CSDL quan hệ 12 THAO TÁC VỚI DỮ LIỆU: 12 II HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU NOSQL 18 2.1 Thuật ngữ NoSQL 18 Bảng 1: Bảng tương quan RDBMS NoSQL 20 2.5 Phân loại NoSQL 23 2.6 Các thao tác liệu Document Store .24 a, MongoDB 24 b, CouchDB 25 c, RavenDB 26 d Cassandra 27 SO SÁNH GIỮA NOSQL VÀ RDBMS 42 Sơ đồ 3: Các đối tượng mối quan hệ đối tượng 45 Sơ đồ 4: Sơ đồ lớp đối tượng 46 CHƯƠNG 3; 57 THIẾT KẾT MỘT ỨNG DỤNG TRÊN HỆ QUAN TRỊ 57 CƠ SỞ DỮ LIỆU NOSQL 57 Giới thiệu hệ thống quản lý blog 57 Phân tích yêu cầu .58 Thực cách sử dụng MongoDB 58 a, Phân rã chức blog: 62 Sơ đồ 6: Thiết kế mô hình tầng: Clients – Web server – Database server 64 Sơ đồ 7: Use case trường hợp chưa đăng nhập 65 Sơ đồ 8: Use case Member .66 Bảng 3: Mô tả Usecase đăng nhập 67 Bảng 4: Mô tả Usecase đăng ký 68 Bảng 5: Mô tả Usecase tìm kiếm 68 Bảng 6: Mô tả Usecase xem topic 69 Bảng 7: Mô tả Usecase đăng bình luận 70 Bảng 8: Mô tả Usecase đăng topic 70 Bảng 9: Mô tả Usecase xoá Topic 71 Sơ đồ 9: Sequence diagram chức Login 72 Sơ đồ 10: Sequence diagram thực chức Register 74 Sơ đồ 11: Sequence diagram chức đăng bình luận .75 Sơ đồ 12: Sequence diagram chức tìm kiếm 76 Bảng 10: Danh sách hình 83 KẾT LUẬN CHƯƠNG III 90 KẾT LUẬN LUẬN VĂN 91 TÀI LIỆU THAM KHẢO 92 http://en.wikipedia.org/wiki/NoSQL 92 DANH MỤC BẢNG VÀ SƠ ĐỒ Sơ đồ 1: Hiệu suất hoạt động SQL MONGODB .8 Sơ đồ 2: Tổ chức liệu CSDL quan hệ 12 Bảng 1: Bảng tương quan RDBMS NoSQL 20 Sơ đồ 3: Các đối tượng mối quan hệ đối tượng 45 Sơ đồ 4: Sơ đồ lớp đối tượng .46 Sơ đồ 6: Thiết kế mô hình tầng: Clients – Web server – Database server 64 Sơ đồ 7: Use case trường hợp chưa đăng nhập 65 Sơ đồ 8: Use case Member 66 Bảng 3: Mô tả Usecase đăng nhập 67 Bảng 4: Mô tả Usecase đăng ký 68 Bảng 5: Mô tả Usecase tìm kiếm 68 Bảng 6: Mô tả Usecase xem topic .69 Bảng 7: Mô tả Usecase đăng bình luận .70 Bảng 8: Mô tả Usecase đăng topic 70 Bảng 9: Mô tả Usecase xoá Topic .71 Sơ đồ 9: Sequence diagram chức Login 72 Sơ đồ 10: Sequence diagram thực chức Register .74 Sơ đồ 11: Sequence diagram chức đăng bình luận 75 Sơ đồ 12: Sequence diagram chức tìm kiếm 76 Bảng 10: Danh sách hình .83 DANH MỤC HÌNH ẢNH Hình 1: Ví dụ Key/ value 22 Hình 2: Thiết kế hệ thống database Master -Slave 22 Hình 3: MongoDB .25 Hình 4: CouchDB 26 Hình 5: RavenDB 26 Hình 6: Kiến trúc client-server 27 Hình 7: Cassandra .28 Hình 8: Hadoop 29 Hình Minh họa sưu tập .33 Hình 10 Mô hình Master – Slave hai nút 39 Hình 11 Mô hình Master – Slave bốn nút 39 Hình 12 Mô hình Replica Sets hai nút .40 Hình 13 Replica Sets – Bầu chọn master 40 Hình 14 Server trở thành server cấp 41 Bảng 2: Một số so sánh RDBM NoSQL 56 Hình 15: Thư mục cài đặt Mongodb 60 Hình 16: Cấu hình khởi động Mongodb .61 Hình 17: Cài đặt thành công Mongodb 62 Sơ đồ 5: Sơ đồ phân rã chức Member 63 Hình 18 Màn hình giao diện 84 Hình 19: Màn hình đăng ký: .85 Hình 20: Màn hình đăng nhập: 86 Hình 21: Màn hình tạo viết 87 Hình 22: Màn hình danh sách viết 88 Hình 2.3: Màn hình viết tất bình luận: 89 CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 0.1 VẤN ĐỀ TÌM HIỂU: Ngày với kỹ nguyên công nghệ bùng nổ, thành công Internet khiến cho số lượng người dùng truy cập vào hệ thống ngày tăng Điển Facebook tháng phục vụ 1000 tỉ truy cập 800 triệu lượt khách ghé thăm ta hình dung bùng nổ thông tin Để giải vấn đề bùng nổ mở rộng hệ thống máy chủ siêu lớn, phân thành nhiều cụm đặt khắp nơi giới Nhưng với tốc độ phát triển theo cấp số việc tăng số lượng máy chủ chưa đủ Ta cần xem xét nâng cấp giải pháp lưu trữ cho tương lai Hệ thống máy chủ sở liệu đòi hỏi phải mạnh mẽ không máy chủ bị tải Với hệ thống với số lượng lên đến hàng triệu hàng tỉ việc hiệu tốt việc bắt buộc.Các hệ RDBMS vấn đề hiệu thường không tốt cho trường hợp Ngôn ngữ SQL ngôn ngữ thông dịch với ràng buộc bảng khiến cho hiệu thực hệ thống sở liệu thực thi ì ạch với hệ thống lớn kể rên Chưa kể với hệ thống lớn vấn đề phân tán liệu, tính toàn vẹn liệu việc quan trọng NoSQL đáp ứng tất yêu cầu này.Với tốc độ nhanh qua câu truy vấn SQL, có tính sẵn sàng, phân tán cao độ ổn định tuyệt vời, NoSQL thích hợp cho hệ thống có số lượng lượt truy vấn lớn Mục tiêu mà NoSQL nhắm đến hiệu suất hoạt động cao với số lượng liệu cực lớn Tuy nhiên để đạt điều NoSQL bỏ qua thông dịch SQL với truy vấn rườm Việc sử dụng ràng buộc quan hệ truy vấn SQL thân thiện thích hợp với phần đông liệu Tuy nhiên, liệu đơn giản, thủ tục SQL không cần thiết (theo Curt Monash - nhà phân tích sở liệu, blogger) Đồng thời NoSQL có cách thiết kế liệu khác với sở liệu truyền thống như: tư tưởng thiết kế liệu phi quan hệ, lưu trữ liệu dạng document, sử dụng tối đa indexes… Trong đặc tính đó, liệu phi quan hệ yếu tố quan trọng góp phần làm nên thành công cho NoSQL Dữ liệu phi quan hệ tức không tuân theo dạng chuẩn hóa mà sở liệu RDBMS đặt Thay vào đó, thiết kế sở kiệu NoSQL ta phải tuân theo số quy tắc mà NoSQL đặt để đạt hiệu suất hoạt động cao Bảng kết làm việc SQL sở liệu MongoDB: Sơ đồ 1: Hiệu suất hoạt động SQL MONGODB Chính khác biệt loại sở liệu dẫn đến cách thiết kế khác Đa số lập trình viên quen với mô hình quan hệ truyền thống, cần phải tìm hiểu kĩ cách thiết kế liệu NoSQL để đạt hiệu suất mong muốn Đồng ý RDBMS cung cấp mô hình tuyệt vời để đảm bảo tính toàn vẹn liệu Tuy nhiên, nhiều người lựa chọn NoSQL nói chúng không cần thiết cho nhu cầu họ Như vậy, đề tài tìm hiểu xem NoSQL giải vấn đề áp dụng kiến thức tìm hiểu vào việc xây dựng ứng dụng sử dụng sở liệu dạng NoSQL 0.2 MỤC TIÊU ĐỀ TÀI: - Sơ lược lại hệ quản trị sỡ liệu quan hệ RDBMS - Tìm hiểu NoSQL, kiến trúc, phân loại tìm hiểu số CSDL NoSQL, sâu nghiên cứu MongoDB để có nhìn tổng quan NoSQL đồng thời biết cách mà NoSQL giải vấn đề hiệu suất cao với lượng liệu lớn - Tìm hiểu trường hợp áp dụng sở liệu dạng NoSQL, trường hợp không phù hợp với NoSQL Phân tích làm rõ ưu khuyết điểm việc áp dụng sở liệu // xử lý trang đăng ký app.post('/signup', passport.authenticate('signup'), function(req, res) { res.send(req.user); }); // Đăng xuất app.get('/logout', function(req, res) { req.logout(); req.session.destroy(); res.send(200); }); //Xử lý đăng nhập facebook -// gửi thông tin đến facebook để yêu cầu xác thực app.get('/auth/facebook', passport.authenticate('facebook', { scope : 'email' })); // xử lý callback sau facebook xác thực user app.get('/auth/facebook/callback', passport.authenticate('facebook', { successRedirect : '/', failureRedirect : '/login' })); // Xử lý đăng nhập qua tài khoản google -// gửi thông tin đến facebook để yêu cầu xác thực app.get('/auth/google', passport.authenticate('google', { scope : ['profile', 'email'] })); // xử lý callback sau goog xác thực user app.get('/auth/google/callback', passport.authenticate('google', { successRedirect : '/', failureRedirect : '/login' 78 })); - Tạo viết lưu trữ viết vào sở liệu var Post = require(' /models/post'); module.exports = function(app){ app.get('/api/post/list', function(req, res){ Post.find({}).populate('userId').sort({creationDate: -1}).exec(function(err, posts) { if (err) res.send(err) res.json(posts); }); }); app.post('/api/post/create', function(req, res){ var newPost = new Post(); newPost.title = req.body.title; newPost.description = req.body.description; newPost.content = req.body.content; newPost.userId = req.user._id; newPost.creationDate = new Date(); newPost.save(function(err, post) { if (err) res.send(err); res.json(post); }); }); app.get('/api/post/detail/:post_id', function(req, res) { 79 Post.findById(req.params.post_id).populate('userId').exec(funct ion(err, post){ if (err) res.send(err) res.json(post); }); }); app.delete('/api/post/delete/:post_id', function(req, res) { Post.remove({_id : req.params.post_id}, function(err, post) { if (err) res.send(err); res.json(post); }); }); app.post('/api/post/edit', function(req, res){ Post.findById(req.body._id, function(err, data){ if(err) res.send(err); data.title = req.body.title; data.description = req.body.description; data.content = req.body.content; data.save(function(err, post) { if (err) res.send(err); res.json(post); }); }); }); app.get('/api/post/findComments/:post_id', function(req, res) { 80 Post.findComments(req.params.post_id).populate('userId').sort({ creationDate: -1}).exec(function(err,comment){ res.json(comment); }); }); } - Xử lí thao tác bình luận viết lưu trữ bình luận vào CSDL: var Comment = require(' /models/comment'); module.exports = function(app){ app.post('/api/comment/create', function(req, res){ var newComment = new Comment(); newComment.content = req.body.content; newComment.postId = req.body.postId; newComment.userId = req.user._id; newComment.creationDate = new Date(); newComment.save(function(err, comment) { if (err) res.send(err); Comment.find({postId: comment.postId}).populate('userId').sort({creationDate: -1}).exec(function(err, comments) { if (err) res.send(err) res.json(comments); }); }); }); } 81 - Thực thể index tạo mục: var user = require('./user'); var auth = require('./auth'); var post = require('./post'); var comment = require('./comment'); module.exports = function (app) { auth(app); user(app); post(app); comment(app); app.get('*', function(req, res){ res.sendfile('public/index.html'); }); }; Xử lý trình kiểm tra người sử dụng thông qua email đăng nhập var User = require(' /models/user'); module.exports = function(app){ app.post('/api/user/getUserbyEmail', function(req, res){ User.find({email: req.body.email}, function(err, user){ if(err) res.send(err); res.send(user); }); }); 82 3.5 Thiết kế giao diện: a, Danh sách hình S Tên hình Chức Màn hình giao diện TT Cung cấp cho người dùng nhìn tổng quan chương trình Tại hình này, ta thực thao tác thường dùng như: Login, Register\ Màn hình đăng ký Cho phép người dùng đăng ký Màn hình đăng nhập Cho phép người dùng đăng nhập Màn hình tạo viết Cho phép người dùng tạo viết Màn hình danh sách viết Hiển thị danh sách viết Màn hình viết tất bình Hiển thị viết cụ thể tất luận bình luận Cho phép người dùng đăng bình luận Bảng 10: Danh sách hình 83 b, Mô tả giao diện người dùng Màn hình giao diện Hình 18 Màn hình giao diện 84 Màn hình đăng ký: Hình 19: Màn hình đăng ký: 85 Màn hình đăng nhập: Hình 20: Màn hình đăng nhập: Màn hình tạo viết: 86 Hình 21: Màn hình tạo viết Màn hình danh sách viết: 87 Hình 22: Màn hình danh sách viết Màn hình viết tất bình luận: 88 Hình 2.3: Màn hình viết tất bình luận: 89 KẾT LUẬN CHƯƠNG III Trong chương này, có nhìn thực tế làm việc với NoSQL Chúng ta xây dựng ứng dụng blog đơn giản, để từ nhìn thấy tốc độ sở liệu NoSQL, khả làm việc với lượng liệu, khả phân tán liệu… blog lựa chọn phù hợp yêu cầu đến tính đó: hiệu suất cao, lưu trữ liệu nhiều, phân tán liệu đặc biệt không đòi hỏi khắc khe tính quán liệu Blog cần lưu trữ lượng lớn liệu như: thông tin người dùng, nội dung đăng bình luận Blog yêu cầu đọc ghi liệu nhiều, nhiên tần suất việc đọc diễn nhiều việc ghi nhiều lần Đây mạnh MongoDB so với sở liệu NoSQL loại Với thiết kế đặc biệt MongoDB thiết kế liệu dạng document giúp ứng dụng đạt hiệu suất hoạt động cao việc sử dụng sở liệu RDBMS Ta sử dụng sở liệu RDBMS để làm sở liệu cho blog Tuy nhiên, chi phí đắt cần nhiều server để đạt hiệu suất ngang với NoSQL Ngoài ứng dụng này, không cần thiết tính chất đặc biệt RDBMS như: khoá ngoại, mô hình liệu quan hệ… Như vậy, với giải pháp sử dụng NoSQL cho ứng dụng đáp ứng hoàn toàn yêu cầu đề với chi phí thấp 90 KẾT LUẬN LUẬN VĂN Sự phát triển không ngừng công nghệ thông tin, nhu cầu xã hội đòi hòi hệ thống phần mềm có khả lưu trữ có tốc độ xử lý cao với lượng liệu lớn Một công nghệ đời để giải toán NoSQL Một hệ thống CSDL với nhiều ưu điểm mã nguồn mở, có khả lưu trữ xử lý lượng liệu lớn Mỗi CSDL NoSQL có đặc điểm chung, đồng thời mang đặc trưng riêng, mềm dẻo, phù hợp với dự án khác Trong luận văn ta nêu đặc điểm NoSQL, so sánh NoSQL hệ sơ liệu quan hệ cách tiếp cận hệ sở liệu Ngoài luân văn nêu số sỡ liệu NoSOL thông dụng hiên MongoDB nói riêng là một sở liệu hướng văn bản, phụ vụ tốt cho việc lưu trữ tài liệu Từ xây dựng ứng dụng blog dựa sở liệu NoSQL Với kết đạt được, tài liệu đáp ứng mục đích, yêu cầu đặt Tuy nhiên, hạn chế thời gian nên mức độ chuyên sâu nghiên cứu tài liệu chưa cao việc cài đặt MongoDB mức đơn giản Vấn đề thể tham khảo thêm trang tài liệu Mongodb mà có đưa phần “Tài liệu tham khảo” Tài liệu đề cập đến lĩnh vực mẻ có tính ứng dụng cao Hy vọng vấn đề đông đảo bạn đọc người nghiên cứu khoa học quan tâm, nghiên cứu sâu hơn, khai thác triệt để ứng dụng to lớn hệ sở liệu tạo phần mềm chất lượng cao, đáp ứng nhu cầu xã hội 91 TÀI LIỆU THAM KHẢO Gaurav Vaish, "Getting Started with NoSQL", Copyright © 2013 Packt Publishing Christof Strauch, " NoSQL Databases", 2011, Stuttgart Media University Michael Stonebrakeris, "SQL Databases v NoSQL Databases", 2010, is an adjunct professor at the Massachusetts Institute of Technology Shashank Tiwari, “Professional NoSQL”, Copyright © 2011 by John Wiley & Sons, Inc., Indianapolis, Indiana A Brief History of NoSQL - http://blog.knuthaugen.no/2010/03/a-brief-history-ofnosql.html Kristina Chodorow - Michael Dirolf, MongoDB: The Definitive Guide, O’reilly, 2010 https://github.com/Ciges/internet_access_control_demo http://docs.mongodb.org/manual/ http://en.wikipedia.org/wiki/NoSQL 10 NoSQL resources - http://nosql-database.org/ 11 NoSQL in the Enterprise - http://www.infoq.com/articles/nosql-in-the-enterprise 92 [...].. .NoSQL So sánh giữa việc sử dụng cơ sở dữ liệu RDBMS và cơ sở dữ liệu NoSQL trên cùng một ứng dụng - So sánh hiệu suất giữa một cơ sở dữ liệu dạng NoSQL và cơ sở dữ liệu dạng RDBMS để làm rõ hiệu suất hoạt động của NoSQL - Sử dụng các kiến thức về NoSQL để xây dựng một ứng dụng sử dụng cơ sở dữ liệu dạng NoSQL đồng thời để tổng hợp lại kiến thức đã học... II HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ VÀ NOSQL 1 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU: 1.1 Định nghĩa hệ quản trị CSDL quan hệ CSDL (Database): Là một tập hợp có tổ chức bao gồm các dữ liệu có liên quan luận lý với nhau và được dùng chung Các CSDL được dùng để lưu trữ dữ liệu một cách hiệu quả và có tổ chức sao cho quản lý được nhanh chóng và dễ dàng Mô hình CSDL dữ liệu quan hệ được Codd đề xuất năm 1970 và đến... mô hình được sử dụng phổ biến trong các hệ quản trị cơ sở dữ liệu thương mại Nói một cách đơn giản, một cơ sở dữ liệu quan hệ là một cơ sở dữ liệu trong đó tất cả dữ liệu được tổ chức trong các bảng có mối quan hệ với nhau Hệ quản trị CSDL (Database Management System - DBMS): là một bộ phần mềm cho phép người sử dụng định nghĩa, tạo lập, bảo trì và điều khiển truy xuất vào CSDL Hệ quản trị CSDL (Relational... Mối quan hệ và khoá ngoài: Các bảng trong một cơ sở dữ liệu không tồn tại độc lập mà có mối quan hệ mật thiết với nhau về mặt dữ liệu Mối quan hệ này được thể hiện thông qua ràng buộc giá trị dữ liệu xuất hiện ở bảng này phải có xuất hiện trước trong một bảng khác Mối quan hệ giữa các bảng trong cơ sở dữ liệu nhằm đàm bảo được tính đúng đắn và hợp lệ của dữ liệu trong cơ sở dữ liệu Mối quan hệ giữa... các tổ chức dữ liệu, các thao tác dữ liệu trên nó MongoDB là một cơ sở dữ liệu cơ bản, đáng tin cậy và dễ dùng, từ đó ta có thể hiễu rõ được việc quản trị dữ liệu trên MongoDB nói riêng hay document store và NoSQL nói chung 2.6.1 Một số hệ cơ sở dữ liệu NoSQL document database a, MongoDB Mongo là một cơ sở dữ liệu NoSQL nguồn mở, hiệu năng cao, có tính mở rộng cao và được viết bằng C++ Mongo dùng cách... về hệ cơ sở dữ liệu quan hệ, ta thấy rằng với cách tổ chức dữ liệu như trên, RDBMS tồn tại khá nhiều nhược điểm như có hiệu năng không tốt Mặt khác ngôn ngữ SQL là ngôn ngữ thông dịch với các ràng buộc trong các bảng khiến cho hiệu năng thực sự của hệ thống cơ sở dữ liệu khi thực thi là khá ì ạch nếu kết nối dữ liệu nhiều bảng lại hay khi dữ liệu trong một bảng là rất lớn II HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU... II HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU NOSQL 2.1 Thuật ngữ NoSQL NoSQL còn có nghĩa là không ràng buộc Tuy nhiên, thuật ngữ đó ít phổ dụng hơn và ngày nay người ta thường dịch NoSQL thành Not Only SQL - Không chỉ SQL NoSQL ám chỉ đến những cơ sở dữ liệu không dùng mô hình dữ liệu quan hệ để quản lý dữ liệu trong lĩnh vực phần mềm 18 Thế hệ database kế tiếp là một thế hệ cơ sở dữ liệu non-relational (không ràng... mọi điểm trong hệ thống để cuối cùng dữ liệu trên hệ thống sẽ trở lại trạng thái nhất quán • Triển khai đơn giản, dễ nâng cấp và mở rộng • Mô hình dữ liệu và truy vấn linh hoạt 2.4 Kiến trúc của cơ sở dữ liệu NoSQL Các RDBMS hiện tại đã bộc lộ những yếu kém như việc đánh chỉ mục một lượng lớn dữ liệu, phân trang, hoặc phân phối luồng dữ liệu media (phim, ảnh, nhạc ) Cơ sở dữ liệu quan hệ được thiết... là một hệ quản trị CSDL mà được xây dựng dựa trên mô hình CSDL quan hệ 1.2 Các khái niệm cơ bản trong CSSL quan hệ: Table: Trong cơ sở dữ liệu quan hệ, bảng là đối tượng được sử dụng để tổ chức và lưu trữ dữ liệu Một cơ sở dữ liệu bao gồm nhiều bảng và mỗi bảng được xác định duy nhất bởi tên bảng Một bảng bao gồm một tập các dòng và các cột: mỗi một dòng trong bảng biểu diễn cho một thực thể và mỗi... giá trị được dùng để lưu trữ dữ liệu trong NoSQL • Cursor: tạm dịch là con trỏ Ta sử dụng cursor để lấy dữ liệu từ database Trong các hệ cơ sở dữ liệu quan hệ, các cột được định nghĩa theo bảng còn với hệ cơ sở dữ liệu không ràng buộc, các cột được định nghĩa ở mỗi document Bởi thế, các document quản lý gần như tất cả, các collection không cần quản lý chặt chẽ những gì đang xảy ra trong nó nữa RDBMS NoSQL

Ngày đăng: 24/06/2016, 11:40

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

    • 0.1 VẤN ĐỀ TÌM HIỂU:

    • 0.2 MỤC TIÊU ĐỀ TÀI:

    • CHƯƠNG II. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ VÀ NOSQL

      • 1. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU:

        • 1.1 Định nghĩa hệ quản trị CSDL quan hệ.

        • 1.2. Các khái niệm cơ bản trong CSSL quan hệ:

        • Mô hình tổ chức dữ liệu trong CSDL quan hệ

        • 2. THAO TÁC VỚI DỮ LIỆU:

          • 2.1. Các lệnh định nghĩa dữ liệu:

          • 2.1.2. Lệnh thay thế sửa đổi ALTER

          • 2.2. Các lệnh cập nhật dữ liệu:

          • 2.3. Kiểm soát dữ liệu:

          • 2.4. Truy vấn dữ liệu:

          • II. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU NOSQL

          • 2.1 Thuật ngữ NoSQL

            • 2.2 Một số khái niệm cơ bản trong NoSQL:

            • 2.3 Một số đặc điểm của CSDL NoSQL.

            • 2.4. Kiến trúc của cơ sở dữ liệu NoSQL

            • 2.5. Phân loại NoSQL

            • 2.6. Các thao tác dữ liệu trên Document Store

              • 2.6.1. Một số hệ cơ sở dữ liệu NoSQL document database

              • a, MongoDB

              • b, CouchDB

              • c, RavenDB

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

Tài liệu liên quan