1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài tìm hiểu về cơ sở dữ liệu trên bộ nhớ in – memory database

22 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 đề Tìm Hiểu Về Cơ Sở Dữ Liệu Trên Bộ Nhớ In - Memory Database
Tác giả Hồ Anh Tài, Nguyễn Tõm, Nguyễn Phạm Anh Tài, Nguyễn Gia Huy, Nguyễn Văn Linh
Người hướng dẫn Nguyễn Trần Quốc Vĩnh
Trường học Trường Đại Học Sư Phạm - Đại Học Đà Nẵng
Chuyên ngành Khoa Tin Học
Thể loại báo cáo
Năm xuất bản 2020
Thành phố Đà Nẵng
Định dạng
Số trang 22
Dung lượng 3,41 MB

Nội dung

Ly thuyét: - In- memory database Co sé di liéu trén bộ nhớ là cơ sở dữ liệu quan hệ dựa trên bộ nhớ, bỏ qua các thao tác truy cập ô đĩa cứng bằng cách lưu trữ và xử lý dữ liệu ngay trên

Trang 1

TRUONG DAI HOC SU PHAM — DAI HOC DA NANG

KHOA TIN HOC

BAO CAO BAI TAP

MON: CO SO DU LIEU NANG CAO

DE TAI: TIM HIEU VE CO SO DU LIEU TREN BO NHO

IN — MEMORY DATABASE

Giảng viên hướng dẫn: Nguyễn Trần Quốc Vĩnh

Nhóm sinh viên thực hiện: 1 Hồ Anh Tài

2 Nguyễn Tâm

3 Nguyễn Phạm Anh Tài

5 Nguyễn Văn Linh

Đà Nẵng, ngày 16 tháng 07 năm 2020

Trang 2

2 Sự khác nhau giữa In — Memory Database và Disk — based DB 5

3 Kiến trúc của IMDB (Imn— Memory Database€): «co con He, 7

3.1 Kiến trúc Disk— Based DB: - «<2 HH Hung, 7

II Kỹ thuật Hekaf0H: - << 3 Họ HH HH 001001 0 04 11

Trang 3

DANH MUC HINH ANH

Hinh 1: So dé hoat dong ctia In-Memory DIafAdd4se e.ce-cecscceceeerereeereeeerecre 4

Hình 2: Kiến trúc Disk-based DẺ «ch gen 7

Hình 4: Lựa chọn kiểu cài đặt cce«<cckheerriiiEEriiitkriiirrriiirrriirriirrkerrri 12

Hình 5: Chấp nhận các điềm khoảH e-s-cscce<cecceEEtekeEEteEseeseketkressrretersrrrrrersree 13

Hình 6: Lựa Chọn (HH HHHC Củi ẨẶÍ co co cọ 3 ch 0 TS 9.01 n8 9.05 5.08 89 95.05.5585 13

Hình 7: Tiến trình tải VỀ package ssssescsssssssssssvsscssssscsssessesvsssesssssssssssssssssessescsnsscssescssens 14

Hình 8: Kiểm tra sau khi tải vÈ cce«ccscetreritttrkiitrtrriirrikriirrrrkirrrrrrirerrrrie 14

Hình 9: Tiến trình cài đặt ccc«-cccccreritkrrirttrtriirreriirirkerrirrkrrrrrrrrrie 15

Hình 10: Cài đặt (HH CÔHG SG HH HH HT Tà TH To Tà TT nh g4 09 04 15

Hình II: Tạo 1Ì databases HHỚI cĂ co ỌỌ HH TY T1 1 03 T9 0 89 55 5000 158 088 9958 888 16

Hình 12: Đặt tên ddtdbqdse là fest[ MT) P co co cọ TH K1 95.555 088 0885.058 55 17

Hình 13: Chọn properties của lafabase fest[MĨH ch ng và 17

Hình 14: Tạo 1 filegroups MEMORV OPTIMIZED DATẢ tổi -s-c<<<<<<<<+ 18

Hình 15: Đặt tên là MemoryQOptIix€dFIÍG(TOH co con ng ng 19

Hình 16: Tạo 1 file mới với kiểu file là FILESTREAM data và thêm vào

MemoryOptrnic€(lFTÏGTTOHD so họ KH HH nh H kh He ứ 20

Hinh 17: Tao 2 table disktable va HHCHHIOTVEQÌÍC So Go HH ng mg 20

Hình 18: Sử dụng transaction để insert vào disktable 500.000 rotwi -«ccse- 21

Hinh 19: Si dung transaction dé insert vio memorfable 3000 ÚŨ TOM: s<s<es 21

Trang 4

Co so dir liéu trén bo nhoé - In Memory Database

I Tong quan vé In — Memory Database:

1 Ly thuyét:

- In- memory database (Co sé di liéu trén bộ nhớ) là cơ sở dữ liệu quan hệ dựa

trên bộ nhớ, bỏ qua các thao tác truy cập ô đĩa cứng bằng cách lưu trữ và xử lý

dữ liệu ngay trên bộ nhớ chính Nó còn có các tên khác như Main memory

database (cơ sở đữ liệu bộ nhớ chính) hoặc real-time database (co so đữ liệu thời

WIHHP Data (WN Data OOOC TT Prey

Partition 1 Partition 2 Partition 3

Hình 1: Sơ đồ hoạt động của In-Memory Database

-_ IMDB hoạt động bằng cách giữ tất cả dữ liệu trong RAM IMDB vé co ban thay

thể thành phần truy cập đĩa của cơ sở đữ liệu trên ô đĩa cứng bằng truy cập

RAM Trong một số IMDB, một số thành phân dua trén 6 dia cứng vẫn còn

nguyên, nhưng RAM là phương tiện lưu trữ chính Vì RAM rất dé bị mắt dữ liệu (ví dụ: dữ liệu bị mat khi may tinh mat nguồn), một số IMDB cũng lưu trữ dir liệu trên đĩa như một biện pháp dự phòng đề giảm thiêu rủi ro mắt đữ liệu

Trang 5

- Hau hết các IMDB cũng bảo vệ chống mắt đữ liệu trong một trung tâm dữ liệu

bằng cách giữ các bán sao (chép bản sao) của tất cả các bản ghi dữ liệu trong

nhiều máy tính trong một cụm Các bản sao đữ liệu này đảm bảo rằng mọi bản

ghi đữ liệu sẽ không bị mất do lỗi của bất kỳ máy tính nao

-_ Ví dụ: một trang mạng xã hội có lưu lượng truy cập cao, cần lưu trữ nội dung

như: Thông tin người dùng cho hàng trăm ngàn người dùng tại bất kỳ thời điểm nào Thời gian phản hồi ở quy mô đó sẽ quá chậm đối với nhiều cơ sở dữ liệu

dựa trên disk-based DB, do đó IMDB được sử dụng dé theo kip va dam bao trai

nghiệm của người dùng một cách tốt nhất

2 Sự khác nhau giữa In — Memory Database và Disk — based DB

Lưu trữ dữ | -Dữ liệu được lưu trữ trên 6 | - Dữ liệu được lưu trữ trên bộ nhớ

- Dữ liệu có thể được lưu trữ vào | - Dữ liệu có thể được ghi xuống 6

bộ nhớ đệm để truy cập nhanh cứng đề sao lưu và phục hôi

hơn

Tôiưuhóa | - Thuật toán tôi ưu hóa truy vân | - IMDB biet chắc đữ liệu lưu trữ

truy van thực hiện với di liéu dat trén 6 trên bộ nhớ, nên thuật toán tối

đĩa Do đó, tại thời điểm tối ưu | ưu truy vấn đơn giản hơn và

truy van, dù dữ liệu được đặt chính xác hơn

một phan hay toàn bộ trong bộ nhớ, thời gian thực hiện gần như không khác nhau

Quản lý bộ nhớ| - Buffer pool phải quản lý đữ | -IMDB không sử dụng bufer

đệm (bufer | liệu được lưu trữ trong bộ nhớ | pool, không phải sao chép dữ

pool) Khi có yêu câu truy van đữ liệu, | liệu, Do đó, thuật toán đơn giản

CSDL sẽ tìm kiêm trong buffer hơn, thời gian đáp ứng truy vấn pool trước Nêu không có, sẽ nhanh hơn

tìm trong các file ở Ô cứng "

- Tham chi, néu dir ligu duoc tim

thay trong buffer, nó cũng phải

sao chép trước khi trả lại ket

qua, vi con phải phục vụ các xử

lý tiếp theo

Câu trúc chỉ | - Các nút lá chỉ mục được lưu trữ | - Nonclustered Index: thường áp

mục (mdex) theo một thứ tự tuỳ ý tức là vị dụng cho bảng chứa một lượng

Trang 6

trí trên ô đĩa không tương ứng

VỚI VỊ trí logic khi đánh chỉ mục Cơ sở đữ liệu cần một cầu

Index sẽ chứa một giá trị khóa

và một bộ định vị hàng Dữ liệu

được lưu trữ theo cách sắp xếp trên khóa và mỗi nút lá chứa một bản ghi

- Hash Index: Sử dụng kỹ thuật hashmg, được xây dựng trên một hash table để lưu trữ và tìm

kiếm đữ liệu Hash table là một

câu trúc dữ liệu mà có thé cho phép thực hiện việc map các cặp

keys, values Hash Table sử

dung Hash function dé tinh toan m6t index vao m6t mang cac

buckets (gồm index va value),

từ đó có thê tìm thấy các giá trị

6/22

Trang 7

3 Kién trac cia IMDB (In — Memory Database):

3.1 Kién trac Disk — Based DB:

| ODBC | JDBC

| Compiler | Optimizer | Executor Concurency Logging

Mer Mer

Recovery Mer

[ Relational Engine | ị Table Mer | Index Mgr |

| Txn Table k ->| Lock table |

Hinh 2: Kién tric Disk-based DB

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

® Compiler: xây dựng cấu trúc đữ liệu từ câu SQL và kiểm tra cú pháp, ngữ nghĩa

® Optimizer: chuyển câu SQL gốc thành các nhóm operation sao cho

thực thi hiệu qua nhất

® Exccutor: thực thi câu SQL sau khi tối ưu, liên kết với Relational engine dé lay va luu trữ kết quả

- Transaction Engine:

Trang 8

© Concurency manager: quan ly truy cập đồng thời tới dữ liệu

¢ Logging manager: dam bảo tính toàn vẹn và bền vững của transaction Undo log dé rollback CSDL vé trang thai gan nhat Redo log dam bảo lưu trữ tất cả những transaction đã commit, phục vụ

phục hồi khi cần thiết

¢ Recovery manager: phục hồi CSDL tir disk image va redo log file

- Relational Engine: cac d6i tong quan hé nhu bang, chi muc, va rang buộc dữ liệu đượ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 đữ liệu Nó cũng cung cấp

cơ chế lưu trữ thông tin metadata và thông tin điều khiến

3.2 Kiến trúc IMDB:

me

SQL Engine Transaction Engine

| Optimizer | Executor | Concurency

Logging Mer

Hinh 3: Kién tric In-Memory Database

Vé tong thé, IMDB ciing co kién tric tuong ty disk-based DB, nhu

Trang 9

gom cac thanh phan: SQL engine, transaction engine, relational engine, va storage engine, nhung cac thanh 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: bién dich, tôi ưu và thực thi các truy van, IMDB sir dung tối ưu hóa theo rule- based

Relational Engine: gồm các đối tượng quan hệ như bảng và quản lý chỉ

mục Sử dụng cầu trúc chỉ mục Nonclustered Index, Hash Index

Transaction Engine: bao gồm quản lý truy cập đồng thời, bảo đảm tính

toàn vẹn và bền vững của transaction, phuc hồi cơ sở dữ liệu tir Redo

logs

Storage Engine: bao gồm quản lý cơ sở đữ liệu và cấp phát bộ nhớ

4 Ưu điểm của IMDB:

-_ Thời gian đáp ứng nhanh:

® Dữ liệu được đặt trong bộ nhớ, với các thuật toán (query optimizer, tìm kiếm ) được thiết kế đặc thù cho dữ liệu trong bộ nhớ, loại bỏ các thành phần không cần thiết (buffer pool, I/O) cua disk-based DB lam cho

IMDB tang tốc độ đáng kẻ, thậm chí đạt đến mức real-time

-_ Đáp ứng lượng truy vấn cao:

e_ IMDB lưu đữ liệu 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 số 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 van dam bảo được tính bền vững qua các thuộc tính của một hệ

quan tri CSDL

¢ Riéng Durability: Tinh bén ving cua dit ligu Sử dụng bộ nhớ sẽ làm mất

hết đữ liệu khi tắt máy, nên một số IMDB cung cấp thêm tính năng ghi

định kỳ dữ liệu trong bộ nhớ ra ô đĩa cứng Sau có thê khôi phục lại DB

bị sập từ những fñle này Tính năng này thường được cung cấp qua việc lưu trữ đữ liệu vào các file checkpomt và transaction log

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

Đa phần các sản pham IMDB đều hỗ trợ chuẩn kết nối từ ứng dụng bằng SQL chuan

H6 tro PL/SQL

Hỗ trợ các kiều kết nối chuẩn qua ODBC, JDBC

Tương thích với nhiều nền tảng hệ điều hành: Windows, Unix/Linux,

Trang 10

Solaris, ATX

-_ 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 hóa truy vấn

¢ Tinh san sang cao: IMDB dam bảo tính sẵn sàng cao của dữ liệu bằng việc cung cấp cơ chế Replication với các tùy chọn khác nhau (active/standby, active/active) dé dam bảo đữ liệu luôn sẵn sàng khi xảy

Ta SỰ CÔ

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

© Cache: có những tình huống sử dụng IMDB như một CSDL trung gian

giữa CSDL truyền thống và ứng dụng, trên IMDB chỉ lưu trữ đữ liệu hay

được truy cập và cần hiệu năng cao Do đó, các sản phâm IMDB thường cung cấp thêm cơ chế cache, giúp đồng bộ dữ liệu hai chiéu gitta IMDB

và CSDL truyền thống

¢ Tự động loại bỏ đữ liệu không cần thiết (đata aging): đề tiết kiệm dung

lượng bộ nhớ chính, những đữ liệu không cân thiết có thê bị loại bỏ Các

IMDB thường hỗ trợ hai cơ chế Data aging: loai bỏ đữ liệu theo thời gian, hoặc theo thuật toán LRỤU

5 Nhược điểm của IMDB:

-_ Dữ liệu được lưu trên bộ nhớ nên dung lượng bộ nhớ phải lớn hơn độ lớn

toàn bộ đữ liệu, cộng thêm lượng RAM cho các tiễn trình kết nối tới

IMDB Hiện nay giá của bộ nhớ trong van dat hơn ô đĩa cứng

-_ Khuyến cáo sử dụng của tất cả công nghệ IMDB là ứng dụng sử đụng kiều

kết nối trực tiếp/nhúng tới IMDB để đạt hiệu năng tối đa Nghĩa là, ứng dung va IMDB phai triển khai trên cùng một máy vật lý

-_ Dữ liệu được lưu trữ chỉ là tạm thời, nếu hệ thống máy tính gặp sự cố tất cả dữ

liệu được lưu trữ tạm thời sẽ bị mắt

6 Kết luận:

-_ Dựa trên phần L2 và I.3., ta có thể thấy cơ sở đữ liệu trên bộ nhớ - IMDB tối ưu

và hoạt động nhanh hơn cơ sở đữ liệu trên ô cứng — Disk Based DB

- Khi ứng dụng gửi một câu truy vấn dữ liệu tới cơ sở đữ liệu trên ô cứng, SQL

Engine cua OracleDB biên dịch, tối ưu hóa, sau đó thực thi câu lệnh Nó sẽ tìm kiếm đữ liệu mong muốn trong buffer pool trước (trên bộ nhớ chính), nêu không thấy sẽ phải tìm kiếm trong ô cứng từ các data file Sau đó, nó sao chép đữ liệu phù hợp sang một buffer riêng, trước khi trả lại cho ứng dung

Trang 11

- V6i IMDB, no ciing co mét bé téi uu hoa truy van dé toi uu hoa cau 1énh

trước khi thyc thi Tuy nhién, khac voi disk-based DB, IMDB bo qua Buffer pool, no biết chắc chắn dữ liệu nằm trên bộ nhớ chính, nên nó chỉ

tìm kiếm trên bộ nhớ với những thuật toán đã được tối ưu riêng cho bộ nhớ

Sau đó, nó trả lại kết quả cho ứng dụng

-_ Với kiến trúc như Vậy, cùng với tốc độ truy cập bộ nhớ nhanh hơn nhiều so với Ô

cứng, và các thuật toán tối ưu riêng cho bộ nhớ, IMDB cải thiện dang kẻ tốc độ truy vấn dữ liệu

H Kỹ thuật Hekaton:

1 Tổng quan về kỹ thuật Hekaton:

-_ Kỹ thuật Hekaton đã được tích hợp vào SQL Server 2014 dưới dạng OLTP trong

bộ nhớ

- In-Memory Online Transaction Processing (OLTP), con được gọi là Hekaton hay

In-Memory Optimization, la phién bản mới nhất của công nghệ xử lý dữ liệu trên

bộ nhớ của Microsoft nhằm tối ưu hóa tốc độ truy xuất, được tích hop trong SQL

Server’s Database Engine va duoc sir dung hoan toan giéng nhu cac thanh phan của Database truyền thông

Hekaton gồm ba thành phần chính:

® Storage engine: quản lý dữ liệu và chỉ mục Nó cung cấp các hoạt động giao dịch trên các bảng, chỉ mục, lưu trữ, checkpomting, recovery and high- availability

® Compiler: biên dịch các T-SQL procedure (chita cac cau truy van, metadata)

thanh dang ma may “native code” được thiết kế đề thực thi đối với các bảng và chỉ mục được quản lý bởi công cụ lưu trữ Hekaton

¢ Runtime: cung cap kha nang tích hợp với tài nguyên SQLServer, và hoạt động

như một thư viện bổ sung

- Kién trúc của nó bao gồm:

¢ Memory - Optimized Tables: cac bang tôi ưu hóa băng bộ nhớ

¢ Natively - Compiled Stored Procedures: Cac thu tuc bién dich ty nhién

e Hash index va range index

2 Cai dat:

2.1, Cai dat SQL Server :

Tiên hành cài đặt (ở đây nhóm em cài bản 2019 Express Edition)

Ngày đăng: 11/12/2024, 09:52