NoSQL và ứng dụng trên Cloud NoSQL và ứng dụng trên Cloud GIÁO VIÊN HƯỚNG DẪN: TS. NGUYỄN HÀ NAM GIÁO VIÊN HƯỚNG DẪN: TS. NGUYỄN HÀ NAM HỌC VIÊN: 1. PHẠM TUẤN ANH HỌC VIÊN: 1. PHẠM TUẤN ANH 2. PHẠM THỊ MY 2. PHẠM THỊ MY ĐẠI HỌC QUỐC GIA HÀ NỘI ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nội dung Nội dung Giới thiệu Giới thiệu Một số cơ sở dữ liệu NoSQL Một số cơ sở dữ liệu NoSQL Google Bigtable Google Bigtable Thử nghiệm Thử nghiệm 2 2 /10 /10 Giới thiệu Giới thiệu Dữ liệu trên mạng lớn (Facebook, Twitter) – Dữ liệu trên mạng lớn (Facebook, Twitter) – terabyte/petabyte terabyte/petabyte 3 3 /10 /10 Giới thiệu Giới thiệu Yêu cầu dữ liệu phân tán, Cloud database Yêu cầu dữ liệu phân tán, Cloud database Dữ liệu thưa, bán cấu trúc (semi-structured) Dữ liệu thưa, bán cấu trúc (semi-structured) RDBMS: RDBMS: Không phân tán Không phân tán Cấu trúc rõ ràng Cấu trúc rõ ràng Định nghĩa trước Định nghĩa trước 4 4 /10 /10 Giới thiệu Giới thiệu NoSQL = Not only SQL NoSQL = Not only SQL Không phải là cơ sở dữ liệu quan hệ Không phải là cơ sở dữ liệu quan hệ Không yêu cầu lược đồ CSDL cố định Không yêu cầu lược đồ CSDL cố định … … Các loại Các loại Column-oriented Column-oriented Key/value Key/value Document Document Graph database Graph database 5 5 /10 /10 Một số cơ sở dữ liệu NoSQL Một số cơ sở dữ liệu NoSQL Column-oriented data Column-oriented data stores stores Bigtable, FusionTable, Bigtable, FusionTable, Cassandra Cassandra , , Hadoop Hadoop Key/value pair database Key/value pair database Amazon Dynamo, Project Amazon Dynamo, Project Voldemort, Amazon Voldemort, Amazon SimpleDB, Scalaris, SimpleDB, Scalaris, Riak Riak Document database Document database Apache Apache CouchDB CouchDB , , MongoDB MongoDB Graph database Graph database VertexDB, Allegro Graph, VertexDB, Allegro Graph, Neo4j Neo4j 6 6 /10 /10 Bigtable Bigtable >60 sản phẩm: >60 sản phẩm: Google Analytics, Google Google Analytics, Google Finance, Personalized Search, Google Earth Finance, Personalized Search, Google Earth (row:string, column:string, time:int64) -> string (row:string, column:string, time:int64) -> string 7 7 /10 /10 Bigtable Bigtable Google Earth Google Earth Bảng chứa dữ liệu ảnh vệ tinh ~ 70 Bảng chứa dữ liệu ảnh vệ tinh ~ 70 terabytes terabytes Mỗi hàng tương ứng với 1 vùng địa lý Mỗi hàng tương ứng với 1 vùng địa lý Các vùng địa lý gần nhau được sắp xếp Các vùng địa lý gần nhau được sắp xếp gần nhau gần nhau Personalized Search Personalized Search http:// http:// www.google.com/psearch www.google.com/psearch Mỗi người dùng có một userid – 1 hàng Mỗi người dùng có một userid – 1 hàng Các cột lưu các loại hành động khác Các cột lưu các loại hành động khác nhau (queries, …) nhau (queries, …) 8 8 /10 /10 Thử nghiệm Thử nghiệm Google App Engine Google App Engine Python Python & Java & Java 10 ứng dụng 10 ứng dụng 6.5h CPU time, 1GB storage, 2.000 messages/ngày 6.5h CPU time, 1GB storage, 2.000 messages/ngày Chat room Chat room Đa người dùng Đa người dùng Yêu cầu đăng nhập sử dụng tài khoản Google Yêu cầu đăng nhập sử dụng tài khoản Google Nhận ra tài khoản đã đăng nhập Nhận ra tài khoản đã đăng nhập Nhiều phòng Chat khác nhau Nhiều phòng Chat khác nhau Hiển thị 20 messages gần nhất Hiển thị 20 messages gần nhất 9 9 /10 /10 Xin chân thành cảm ơn! Xin chân thành cảm ơn! 10 10 /10 /10 . số cơ sở dữ liệu NoSQL Một số cơ sở dữ liệu NoSQL Google Bigtable Google Bigtable Thử nghiệm Thử nghiệm 2 2 /10 /10 Giới thiệu Giới thiệu Dữ liệu trên mạng lớn (Facebook, Twitter) – Dữ liệu. NoSQL và ứng dụng trên Cloud NoSQL và ứng dụng trên Cloud GIÁO VIÊN HƯỚNG DẪN: TS. NGUYỄN HÀ NAM GIÁO VIÊN HƯỚNG DẪN: TS nghĩa trước 4 4 /10 /10 Giới thiệu Giới thiệu NoSQL = Not only SQL NoSQL = Not only SQL Không phải là cơ sở dữ liệu quan hệ Không phải là cơ sở dữ liệu quan hệ Không yêu cầu lược đồ CSDL cố