1. Trang chủ
  2. » Tất cả

Cơ sở dữ liệu nosql

40 5 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

Tiêu đề Chương 2 Cơ sở dữ liệu NoSQL
Trường học Trường Đại Học Công Nghệ Thông Tin & Truyền Thông
Chuyên ngành Cơ sở dữ liệu
Thể loại Chương
Thành phố Hồ Chí Minh
Định dạng
Số trang 40
Dung lượng 5,71 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cơ sở dữ liệu NoSQL là Cơ sở dữ liệu được xây dựng dành riêng cho mô hình dữ liệu và có sơ đồ linh hoạt để xây dựng các ứng dụng hiện đại.. Key-value database tiêu biểuRiak là một loại

Trang 1

Chương 2

Cơ sở dữ liệu NoSQL

Trang 2

Nhóm 2

Trang 3

Cơ sở dữ liệu NoSQL là Cơ sở

dữ liệu được xây dựng dành riêng cho mô hình dữ liệu và

có sơ đồ linh hoạt để xây dựng các ứng dụng hiện đại Cơ sở

dữ liệu NoSQL được công nhận rộng rãi vì khả năng dễ phát triển, chức năng cũng như hiệu năng ở quy mô lớn.

Trang 4

Các thành phần của hệ

thống cơ sở dữ liệu

NoSQL

Trang 5

Mô hình dữ liệu truy cập và quản lý dữ liệu

Trang 6

Hệ thống lưu trữ phân tán

Độ chịu tải cao

Độ chịu lỗi cao Yêu cầu về tài nguyên phần cứng thấp

Trang 7

4 loại hệ thống NoSQL phổ biến

Trang 8

Các kỹ thuật lưu trữ dữ liệu

NoSQL

Trang 9

Như trình bày ở trước, dữ liệu được lưu ở dạng cặp khoá/ giá trị được thiết kế xử lý nhiều dữ liệu và tải nặng.

2.1 Key-value database

Trang 10

NoSQL API

Trang 11

Lưu trữ thông tin

“1234” => “Thanh Huy,zxthanhhuy@gmail.com”

“1235” => “Minh Ánh,leminhanh@gmail.com,TP HCM”

“1236” => “Thanh Nghị” “1237” => “Trường Giang,Bình Thuận”

Đơn giản hơn rất nhiều trong việc xây dựng, khả năng mở rộng là cực kỳ linh động Khó khăn trong việc trong việc xử lý những dữ liệu phức tạp

HQT CSDL dạng Key-value là đơn giản hóa việc lưu trữ dữ liệu

Dễ dàng và nhanh chóng truy xuất được thông tin thông qua key

hiệu suất cho các thao tác truy vấn dữ liệu cũng cực nhanh.

Trang 13

Key-value database tiêu biểu

DynamoDB là môt dịch vụ quản lý NoSQL có khả năng đáp ứng hiệu suất cao và 

nhanh kèm theo khả năng mở rộng. Nếu bạn là một nhà phát triển, bạn có thể sử 

dụng DynamoDB để tạo ra một bảng có khả năng lưu trữ và truy xuất bất kỳ số 

lượng dữ liệu, mà vẫn có thể phục vụ cho bất kỳ mức độ request traffic

Trang 14

Key-value database tiêu biểu

Riak là một loại cơ sở dữ liệu phân tán được xây dựng bởi Basho Technology 

để có thể tối đa hóa quá trình chuyển dữ liệu tới người dùng qua nhiều 

server

Trang 15

Key-value database tiêu biểu

Redis (REmote DIctionary Server) là một mã nguồn mở được dùng để lưu trữ dữ liệu 

có cấu trúc, có thể sử dụng như một database, bộ nhớ cache hay một message broker

Trang 16

Dữ liệu được lưu trong database dưới dạng các cột, thay vì các hàng Các hàng trong một bảng sẽ có số lượng cột khác nhau Lệnh truy vấn của nó khá giống SQL.

2.2 Column-based database

Trang 17

Colum Family

Trang 18

Super Column

Trang 19

Column

Trang 20

Thuận lợi

Xử lý nhanh các query aggregation (COUNT, SUM, AVG, MIN, MAX)Hiệu quả cao khi nén, phân vùng, dễ scale và duy trì hệ thống

Trang 21

Ứng dụng

Ghi một số lượng lớn dữ liệu, big data Ứng dụng trong ứng dụng ecommerce

Trang 22

Column-based database tiêu biểu

Hypertable là một dự án phần mềm mã nguồn mở nhằm triển khai hệ thống quản lý cơ

sở dữ liệu lấy cảm hứng từ các ấn phẩm về thiết kế Bigtable của Google

Trang 23

Column-based database tiêu biểu

Apache Cassandra là một hệ thống quản lý cơ sở dữ liệu NoSQL, miễn phí và mã nguồn mở, phân tán,  được thiết kế để xử lý lượng lớn dữ liệu trên nhiều máy chủ, cung cấp tính sẵn sàng cao mà không có  điểm lỗi nào.

Trang 24

Document store, hay còn gọi là hệ thống database hướng document (document-oriented) là một kiểu database mà ở đó data được tổ chức một cách tự do không theo một lược đồ nào cả (schema-free) Mô hình là 1 loại lưu trữ key-value: mỗi document có 1 khóa định danh duy nhất và document chính là value.

2.3 Document store

Trang 25

Mỗi document là một bản ghi (tương ứng với 1 row trong hệ quản trị cơ sở dữ liệu quan hệ), document có thể lưu dưới dạng JSON, XML…

2.3 Document store

Trang 26

Trong thực tế, một định dạng tệp thường được sử dụng cho các tài liệu

và thông tin được sắp xếp theo một cấu trúc nhất định Điều này giúp làm việc với thông tin và cơ sở dữ liệu dễ dàng hơn

2.3 Document store

Có thể thực hiện các hành động tương tự trong cơ sở dữ liệu dựa

trên tài liệu như với CSDL quan hệ: thông tin có thể được thêm,

thay đổi, xóa và truy vấn

Trang 27

Dữ liệu không schema cứng

như SQL, do đó ta có thể

thêm/sửa field, thay đổi table,

rất nhanh và đơn giản

Ưu điểm

Trang 28

⮚ Document database thường đóng vai trò làm database cho các ứng dụng prototype, big data, e-commerce, CMS

⮚ Dùng để lưu log hoặc history

Ứng dụng

Trang 29

Một số Document Database tiêu biểu

Apache Software Foundation đã phát hành phần mềm mã nguồn mở CouchDB Hệ thống quản lý cơ sở dữ liệu được viết bằng Erlang, sử

dụng JavaScript và được sử dụng trong các ứng dụng Ubuntu và Facebook cùng những ứng dụng khác

Trang 30

MongoDB cho đến nay là cơ sở dữ liệu NoSQL phổ biến nhất Phần

mềm được viết bằng C ++ và sử dụng các tài liệu giống JSON

Một số Document Database tiêu biểu

Trang 31

mây của công ty. Nhà cung cấp tính phí sử dụng.

Một số Document Database tiêu biểu

Trang 32

Lưu trữ cả các thực thể lẫn các mối quan hệ Mỗi thực thể được là một node Mỗi cạnh là một mối quan hệ Mối quan hệ có thể là một chiều hoặc hai chiều Các node và cạnh có một mã định danh duy nhất.

Cơ sở dữ liệu Đồ thị có bản chất là đa quan hệ Mối quan hệ truyền tải nhanh chóng vì chúng đã được ghi lại vào DB và không cần phải tính toán chúng

2.4 Graph-Based database

Trang 33

Có nhiều cách biểu diễn cấu

trúc dữ liệu của đồ thị như

Trang 34

Với ma trận kề, ta phải biểu diễn 2 ma trận khác nhau, mỗi ma trận có kích thước NxN với N là số Node và giá trị (X,Y) thể hiện 1 mối quan hệ

Trang 35

Một số dạng đồ thị khác

Trang 36

⮚ Khi cần truy vấn các mối quan hệ, graph database truy vấn nhanh

và dễ hơn nhiều so với các loại database khác

⮚ Được dùng trong các hệ thống: mạng nơ ron, | chuyển tiền bạc, mạng xã hội (tìm bạn bè), giới thiệu sản phẩm (dựa theo sở thích/lịch sử mua sắm của người dung

:  - Thiếu tính đồng thời hiệu suất cao (high performance

concurrency)      

     - Thiếu ngôn ngữ chuẩn

-Thiếu tính song song (parallelism)

Ứng dụng

Trang 37

⮚ Thiếu tính đồng thời hiệu suất cao (high performance concurrency)

⮚ Thiếu ngôn ngữ chuẩn

⮚ Thiếu tính song song (parallelism)

Giới hạn

Trang 38

FlockDB là một cơ sở dữ liệu đồ thị phân tán mã nguồn mở, có khả năng

chịu lỗi để quản lý các đồ thị mạng rộng nhưng nông

Một số Graph Database tiêu biểu

Trang 39

Neo4j là hệ quản trị cơ sở dữ liệu đồ thị đầu tiên được giới thiệu vào năm 2007 và

công bố phiên bản 1.0 vào năm 2010 Hiện nay neo4j là một trong những hệ quản trị

cơ sở dữ liệu đồ thị được sử dụng nhiều nhất.

Một số Graph Database tiêu biểu

Trang 40

Any questions?

Thanks!

Ngày đăng: 26/02/2023, 17:12

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w