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