1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo môn học cơ sở dữ liệu nâng cao Đề tài cơ sở dữ liệu trên bộ nhớ in memory database

15 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Cơ Sở Dữ Liệu Trên Bộ Nhớ - In Memory Database
Tác giả Lê Thị Trang, Trần Hưng Huy, Hoàng Lê Minh Nhật, Huỳnh Gia Bảo, Ngô Hoàng Anh, Trần Quốc Thành
Người hướng dẫn GVHD: Phạm Dương Thu Hằng
Trường học Trường Đại Học Sư Phạm
Chuyên ngành Cơ Sở Dữ Liệu Nâng Cao
Thể loại bài báo cáo
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 15
Dung lượng 324,88 KB

Nội dung

Lý Thuyết1.1.In-MemoryDatabaseIMDB: - In-Memory Database Cơ sở dữ liệu trên bộ nhớ: là một hê Bthống quản lý cơ sở dữ liệu mà chủ yếu dựa vào bộ nhớ chính để lưu trữ dữ liệu máy tính.. n

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM

KHOA TIN HỌC

BÀI BÁO CÁO

Môn học: Cơ sở dữ liệu nâng cao

Đề tài :Cơ sở dữ liệu trên bộ nhớ - In Memory

Database

GVHD: Phạm Dương Thu Hằng

SVTH: Lê Thị Trang

Trần Hưng Huy Hoàng

Lê Minh Nhật Huỳnh Gia Bảo Ngô Hoàng Anh Trần Quốc Thành

Đà Nẵng, năm 2024

Trang 2

Chương 1 Lý Thuyết

1.1.In-MemoryDatabase(IMDB):

- In-Memory Database (Cơ sở dữ liệu trên bộ nhớ): là một hê Bthống quản lý

cơ sở dữ liệu mà chủ yếu dựa vào bộ nhớ chính để lưu trữ dữ liệu máy tính

- IMDB con được gọi với các tên khác là Main memory database (Cơ

sở dữ liệu bộ

nhớ chính) hay Real-Time database (Cơ sở dữ liêu thời gian thưc).

- IMDB lưu giữ tât cả dữ liêu trong RAM Một số IMDB, một số thành phần

dựa trên ổ cứng vẫn còn nguyên, nhưng RAM vẫn là nơi lưu trữ chính Tuy

Trang 3

nhiên, chính vì RAM rất dễ bị mất dữ liệu (máy tính tắt nguồn, bị ngắt điện

đột ngột,…) nên một số IMDB cũng lưu trữ dữ liệu trên đĩa như một cách phòng để giảm rủi ro mất dữ liệu

- Cũng không phải vì lí do trên mà IMDB luôn luôn mất dữ liệu Mà hầu hết các IMDB đã trang bị cho mình một trung tâm dữ liệu để chống mất dữ liệu (có tính sẵn sàng cao) bằng cách lưu trữ các bản sao của các bản ghi của máy tính trong nhiều máy tính trong một cụm

Trang 4

1.2 So sánh IMDB và disk-based DB(CSDL dựa trên ổ cứng):

IMDB Disk-based DB

Lưu trữ dữ liệu - Dữ liệu được lưu trữ bô

nhớ chính để truy vấn và xử

- Dữ liệu có thể được ghi xuống ổ cứng để sao lưu và phục hồi

- Dữ liệu được lưu trữ trên ổ cứng

-Dữ liêụ có thể được cache vào bô ̣ nhớ để truy câp̣ nhanh hơn

Tối ưu hóa truy

vấn

- Thuật toán tối ưu hóa truy vấn đơn giản hơn và chính xác hơn

- Thuâṭ toán tối ưu hóa truy vấn thực hiêṇ với quan niệm dữ l i ệ u đ ặ t

t r ê n ổ đ ĩ a Quản lý bô ̣ nhớ - IMDB không sử dụng - Buffer pool phải quản lý

Trang 5

đ ệ m

(buffer pool)

buffer pool, không phải sao chép dữ liêụ trước khi trả lại cho ứng dụng

dữ liêụ được cache trong

bô ̣ nhớ Nếu dữ liêụ được tìm thấy trong buffer, nó phải sao chép trước khi trả lại kết quả

Cấu trúc chi

mục(index)

- Sử dụng T-tree cho index - Sử dụng B-tree cho

index

Trang 6

Kiến trúc của IMDB:

-Kiến trúc disk-based DB:

- SQL Engine: biên dịch và thực thi các truy vấn, gồm:

Trang 7

+ Compiler: xây dựng cấu trúc dữ liệu từ câu lênh SQL và kiểm tra cú pháp + Optimizer: chuyển câu lênh SQL gốc thành các nhóm operation sao cho thực thi hiệu quả nhất

+ Executor: thực thi câu lênh SQL sau tối ưu, liên kết với Relational Engine để lấy và lưu trữ kết quả

- Transaction Engine:

+ Concurency Mgr: quản lý truy câp̣ đồng thời tới dữ liệu

+ Logging Mgr: đảm bảo tính toàn vẹn và bền vững của transaction Undo Log để roolback CSDL về trạng thái gần nhất Redo Log đảm bảo lưu trữ tất cả những transaction đã commit, phục hồi khi cần thiết

+ Recovery Mgr: phục hồi CSDL từ ảnh ổ cứng và Redo Log file

- Relational Engine: các đối tượng quan hê ̣ như bảng, chi mục và ràng buôc̣

dữ liêụ được quản lý bởi thành phần này

- Storage Engine: lưu trữ và lấy các bản ghi dữ liệu

- Kiến trúc IMDB:

Trang 8

- Nhìn chung tổng thể, IMDB cũng có kiến trúc tương tự như disk-based DB, gồm các thành phần: SQL Engine, Transaction Engine, Relational Engine và Storage Engine Nhưng các thành phần con bên trong mỗi thành phần này lại hoạt đông khác hẳn

- SQL Engine: IMDB sử dụng tối ưu hóa theo rule-based

- Relational Engine: Thuâṭ toán lưu trữ, tìm kiếm trong IMDB đơn giản hơn vì nó chi làm viêc̣ với bô ̣ nhớ, không liên quan đến ổ cứng IMDB sử dụng T-tree cho index thay vì sử dụng B-tree như trong disk-based DB

- Transaction Engine: Các transaction trong IMDB không có viêc̣ đợi disk I/O, điều này có thể dẫn đến deadlock, làm ảnh hưởng đến thông lượng Vì vâỵ ,

Trang 9

viêc̣ quản lý giao dịch đồng thời phải được chú trọng hơn trong IMDB.

-Storage Engine: trong IMDB việc định vị linh hoạt hơn bằng các mô hình kết nối khác nhau, như kết nối trực tiếp hoặc kết nối client/server Việc này được quản lý bởi IPC của hệ điều hành

Trang 10

1.3 Kết luâṇ :

- Từ các lý thuêts cơ sở trên, ta có thể nhận thấy cơ sở dữ liệu trên bộ nhớ (IMDB) tối ưu hoá và hoạt động nhanh hơn cơ sở dữ liệu trên ổ cứng(Disk-based DB)

- Với kiến thức như trên, cùng với tốc độ truy cập bộ nhớ nnanh hơn nhiều so với ổ cứng và thuật toán tối ưu riêng cho bộ nhớ, IMDB cải thiện đáng kể tốc độ truy vấn dữ liệu

- Khác với disk-based DB, IMDB bỏ qua Buffer pool, nó biết chắc chắn dữ liệu nằm trên bộ nhớ chính nên tìm kiếm trên bộ nhớ với nhưngx thuật toán đã được tối ưu riêng cho bộ nhớ, sau đó trả về kết quả cho ứng dụng

- Ngoài việc lưu trữ trên RAM, IMDB còn tối ưu bằng cách thay đổi thuật toán tối

ưu hoá truy vấn, và dùng thuật toán mới cho cấu trúc chi mục với mục tiêu tối ưu CPU cycle và RAM thay vì tối ưu việc I/O

1.4 Ưu nhược điểm của IMDB:

1.4.1 Ưu điểm:

- Thời gian đáp ứng nhanh hơn: Dữ liệu được đặt trong bộ nhớ, với các thuật toán(query optimizer…) được thiết kế đặc thù cho dữ liệu trong bộ nhớ, loại bỏ

Trang 11

các thành phần không cần thiết như buffer pool, làm cho IMDB tăng tốc độ đáng kể

- Đáp ứng lượng truy vấn(thông lượng) cao: IMDB lưu trữ trong bộ nhớ, việc tìm kiếm chỉ là tìm kiếm địa chỉ dữ liệu được lưu trong bộ nhớ Vì vậy, IMDB đáp ứng được một lượng truy vấn rất lớn

- Bền vững và có thể phục hồi (đảm bảo tính ACID): IMDB vẫn đảm bảo được tính bền vững qua các thuộc tính của một hệ quản trị CSDL

- Tuân theo các chuẩn thế giới cho CSDL:

+ Đa phần các sản phẩm IMDB đều hỗ trợ chuẩn kết nối từ ứng dụng bằng SQL chuẩn + Hỗ trợ các kiểu kết nối chuẩn qua JDBC…

+Tương thích với hệ điều hành: Windows, Unix/Linux,…

- Có tương đối đầy đủ các tính năng như một CSDL quan hệ thông thường:

+ Hỗ trợ truy cập đồng thời

+Tối ưu hoá truy vấn

+Tính sẵn sàng cao, đảm bảo dữ liệu khi xảy ra sự cố

- Một số tính năng nâng cao chuyên biệt:

Trang 12

+Cache: có những trường hợp sử dụng IMDB như CSDL trung gian giữa CSDL truyền thống và ứng dụng, IMDB chi lưu trữ dữ liệu hay được truy cập và cần hiệu năng cao Vì vậy, các sản phẩm IMDB thường cung cấp thêm cơ chế Cache để giúp đồng bộ dữ liệ hai chiều giữa IMDB và CSDL truyền thống

+ Tự động loại bỏ dữ liệu: để tiết kiệm dung lượng bộ nhớ chính, những dữ liệu không cần thiết có thể bị loại bỏ

1.4.2 Nhược điểm:

- Giá thành: giá RAM đăt hơn ổ đĩa cứng

- Ứng dụng và IMDB phải nằm trên cùng server vật lý khi muốn dùng kiểu kết nối direct để đạt hiệu năng tối đa

Trang 13

Chương 2 Một số sản phẩm cơ sở dữ liệu bộ nhớ trong:

2.1 Oracle TimesTen:

- Oracle TimesTen là sản phẩm của Oracle, gồm hai sản phẩm: Oracle TimesTen IMDB và Oracle IMDB Cache

- Đăc̣ điểm và tính năng:

+ TimesTen API: ODBC,JDBC,OCI,DBP.net

+ Kết nối CSD: trực tiếp(direct) và khách/chủ (client/server)

+ Cho phép ghi log vào ổ cứng để sao lưu và phục hồi khi cần thiết Mỗi log được ghi đồng bô ̣ hoăc̣ bất đồng bô ̣ sau mỗi transaction

+ Tự đông loại bỏ dữ liêụ không cần thiết

+Replication: TimesTen cung cấp khả năng replication thời gian thực giữa các máy chủ

2.2 H2:

- Là một IMDB mã nguồn mở được viết bằng java

- Nó hỗ trợ kết nối qua JDBC API với hai kiểu kết nối nhúng và client/server

- Là một CSDL rất nhanh

Trang 14

- Hỗ trợ SQL chuẩn, JDBC API.

- Cơ chế đăng nhập bằng tên người dùng và mật khẩu

- Hỗ trợ các tính năng của một CSDL thông thường

Trang 15

Chương 3: Thử nghiệm cơ sở dữ liệu trên bộ nhớ.

3.1 Tổng quát bào toán ứng dụng:

3.2 Mô hình áp dụng:

a Mô hình hệ thống phần mềm thông thường:

b Mô hình hệ thống sau khi áp dụng IMDB:

3.3 Thử nghiệm và kết quả:

a Lựa chọn sản phẩm IMDB để thử nghiệm và những lí do vì sao chọn:

b Kết quả thử nghiệm:

Ngày đăng: 25/12/2024, 19:29

w