Tải bản đầy đủ (.pdf) (211 trang)

database memory guide oracle vn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.23 MB, 211 trang )

Machine Translated by Google

Cơ sở dữ liệu Oracle®
Hướng dẫn cơ sở dữ liệu trong bộ nhớ

12c Phiên bản 2 (12.2)
E85772-08
tháng 11 năm 2021


Machine Translated by Google

Hướng dẫn về cơ sở dữ liệu trong bộ nhớ cơ sở dữ liệu Oracle, 12c Phiên bản 2 (12.2)
E85772-08

Bản quyền © 2016, 2021, Oracle và/hoặc các chi nhánh của nó.
Tác giả chính: Lance Ashdown
Tác giả đóng góp: Maria Colgan, Vineet Marwah, Andy Rivenes, Randy Urbano
Cộng tác viên: Yasin Baskin, Nigel Bayliss, Eric Belden, Larry Carpenter, Shasank Chavan, William Endress,
Katsumi Inoue, Jesse Kamp, Chinmayi Krishnappa, Vasudha Krishnaswamy, Yunrui Li, Yuehua Liu, Aurosish
Mishra, Ajit Mylavarapu, Khoa Nguyễn, Kathy Rich, Beth Roeser, Rich Strohm, Dina Thomas, Bob Zebian
Phần mềm này và tài liệu liên quan được cung cấp theo thỏa thuận cấp phép có hạn chế sử dụng và tiết lộ và được bảo vệ bởi luật sở
hữu trí tuệ. Trừ khi được cho phép rõ ràng trong thỏa thuận cấp phép của bạn hoặc được pháp luật cho phép, bạn không được sử dụng,
sao chép, tái tạo, dịch, phát sóng, sửa đổi, cấp phép, truyền tải, phân phối, trưng bày, thực hiện, xuất bản hoặc hiển thị bất kỳ phần
nào, dưới bất kỳ hình thức nào, hoặc bằng mọi cách. Nghiêm cấm kỹ thuật đảo ngược, tháo gỡ hoặc dịch ngược phần mềm này, trừ khi luật
pháp yêu cầu về khả năng tương tác.

Thông tin trong tài liệu này có thể thay đổi mà khơng cần thơng báo và khơng được đảm bảo là khơng có lỗi. Nếu bạn tìm thấy bất kỳ
lỗi nào, vui lịng báo cáo cho chúng tôi bằng văn bản.
Nếu đây là phần mềm hoặc tài liệu liên quan được gửi đến Chính phủ Hoa Kỳ hoặc bất kỳ ai thay mặt Chính phủ Hoa Kỳ cấp phép cho phần
mềm đó thì thơng báo sau sẽ được áp dụng:


NGƯỜI DÙNG CUỐI CỦA CHÍNH PHỦ HOA KỲ: Các chương trình của Oracle (bao gồm mọi hệ điều hành, phần mềm tích hợp, mọi chương trình
được nhúng, cài đặt hoặc kích hoạt trên phần cứng được phân phối và các bản sửa đổi của các chương trình đó) và tài liệu máy tính của
Oracle hoặc dữ liệu Oracle khác được người dùng cuối của Chính phủ Hoa Kỳ cung cấp hoặc truy cập là "phần mềm máy tính thương mại"
hoặc "tài liệu phần mềm máy tính thương mại" theo Quy định mua lại liên bang hiện hành và các quy định bổ sung dành riêng cho cơ quan.
Như vậy, việc sử dụng, sao chép, sao chép, phát hành, hiển thị, tiết lộ, sửa đổi, chuẩn bị các sản phẩm phái sinh và/hoặc điều chỉnh i)
chương trình Oracle (bao gồm bất kỳ hệ điều hành, phần mềm tích hợp, bất kỳ chương trình nào được nhúng, cài đặt hoặc kích hoạt khi
được phân phối phần cứng và các sửa đổi của các chương trình đó), ii) tài liệu máy tính Oracle và/hoặc iii) dữ liệu Oracle khác, phải
tuân theo các quyền và giới hạn được chỉ định trong giấy phép có trong hợp đồng hiện hành. Các điều khoản chi phối việc Chính phủ Hoa
Kỳ sử dụng các dịch vụ đám mây của Oracle được xác định bởi hợp đồng áp dụng cho các dịch vụ đó. Khơng có quyền nào khác được cấp cho
Hoa Kỳ
Chính quyền.

Phần mềm hoặc phần cứng này được phát triển để sử dụng chung trong nhiều ứng dụng quản lý thơng tin.
Nó không được phát triển hoặc dự định sử dụng trong bất kỳ ứng dụng nguy hiểm vốn có nào, kể cả các ứng dụng có thể tạo ra rủi ro
thương tích cá nhân. Nếu bạn sử dụng phần mềm hoặc phần cứng này trong các ứng dụng nguy hiểm, thì bạn phải chịu trách nhiệm thực
hiện tất cả các biện pháp an tồn dự phịng, sao lưu, dự phịng và các biện pháp thích hợp khác để đảm bảo sử dụng an toàn. Tập đoàn
Oracle và các chi nhánh từ chối mọi trách nhiệm pháp lý đối với bất kỳ thiệt hại nào do việc sử dụng phần mềm hoặc phần cứng này trong
các ứng dụng nguy hiểm.
Oracle, Java và MySQL là các nhãn hiệu đã đăng ký của Oracle và/hoặc các chi nhánh của nó. Những tên khác có thể là thương hiệu
của chủ sở hữu tương ứng.
Intel và Intel Inside là các thương hiệu hoặc thương hiệu đã đăng ký của Tập đoàn Intel. Tất cả nhãn hiệu SPARC đều được sử dụng theo
giấy phép và là nhãn hiệu hoặc nhãn hiệu đã đăng ký của SPARC International, Inc. AMD, Epyc và logo AMD là nhãn hiệu hoặc nhãn hiệu đã
đăng ký của Advanced Micro Devices. UNIX là nhãn hiệu đã đăng ký của The Open Group.

Phần mềm hoặc phần cứng và tài liệu này có thể cung cấp quyền truy cập hoặc thông tin về nội dung, sản phẩm và dịch vụ từ bên thứ ba.
Tập đoàn Oracle và các chi nhánh của nó khơng chịu trách nhiệm và từ chối rõ ràng mọi bảo đảm dưới bất kỳ hình thức nào đối với nội
dung, sản phẩm và dịch vụ của bên thứ ba trừ khi có quy định khác trong thỏa thuận hiện hành giữa bạn và Oracle. Tập đồn Oracle và
các chi nhánh của nó sẽ không chịu trách nhiệm cho bất kỳ tổn thất, chi phí hoặc thiệt hại nào phát sinh do việc bạn truy cập hoặc sử
dụng nội dung, sản phẩm hoặc dịch vụ của bên thứ ba, trừ khi được quy định trong một thỏa thuận hiện hành giữa bạn và Oracle.



Machine Translated by Google

nội dung
lời nói đầu
Sự tiếp kiến

x

Khả năng truy cập tài liệu

x

Tài liệu liên quan

x

quy ước

xi

Những thay đổi trong bản phát hành này cho Hướng dẫn trong bộ nhớ cơ sở dữ liệu Oracle
Các thay đổi trong Cơ sở dữ liệu Oracle 12c Phiên bản 2 (12.2.0.1)

xii

Phần I Các khái niệm về cơ sở dữ liệu trong bộ nhớ Oracle

1


Giới thiệu về cơ sở dữ liệu Oracle trong bộ nhớ
1.1 Những thách thức đối với các ứng dụng

1-1

phân tích 1.2 Phương pháp tiếp cận định dạng

1-2

đơn 1.3 Giải pháp trong bộ nhớ cơ sở dữ liệu Oracle

1-2

1.3.1 Cơ sở dữ liệu trong bộ nhớ là gì?

1-2

1.3.1.1 Lưu trữ cột IM

1-2

1.3.1.2 Tối ưu hóa truy vấn nâng cao

1-4

1.3.1.3 Hỗ trợ tính sẵn sàng cao 1.3.2

1-5

Cải thiện hiệu suất cho các truy vấn phân tích


1-5

1.3.2.1 Cải thiện hiệu suất cho quét dữ liệu

1-5

1.3.2.2 Cải thiện hiệu suất cho các liên kết

1-7

1.3.2.3 Cải thiện hiệu suất cho tổng hợp 1.3.3

1-7

Cải thiện hiệu suất cho khối lượng công việc hỗn hợp

1-8

1.3.4 Hỗ trợ tính khả dụng cao 1.3.5 Dễ áp dụng 1.4

1-8

Điều kiện tiên quyết cho Cơ sở dữ liệu trong bộ nhớ

1-9

1.5 Nhiệm vụ chính cho Cơ sở dữ liệu trong bộ nhớ 1.6 Công

1-10


cụ cho Lưu trữ cột IM

1-10
1-12

1.6.1 Cố vấn trong bộ nhớ

1-13

iii


Machine Translated by Google

1.6.2 Trang điều khiển đám mây cho Lưu trữ cột IM 1.6.3

1-13

Oracle Compression Advisor 1.6.4 Oracle Data Pump và

1-14

Lưu trữ cột IM

1-14

2 Kiến trúc lưu trữ cột trong bộ nhớ
2-1


2.1 Định dạng kép: Cột và Hàng

2-2

2.1.1 Dữ liệu cột trong Vùng trong bộ nhớ
2.1.1.1 Kích thước của vùng trong bộ

2-2

nhớ 2.1.1.2 Nhóm bộ nhớ trong vùng trong bộ nhớ

2-3
2-4

2.1.2 Hàng dữ liệu trong bộ đệm đệm cơ sở dữ liệu

2-7

2.2 Đơn vị lưu trữ trong bộ nhớ

2-8

2.2.1 Đơn vị nén trong bộ nhớ (IMCU)

2-9

2.2.1.1 IMCU và Đối tượng lược đồ
2.2.1.2 Đơn vị nén cột (CU)

2-12


2.2.1.3 Chỉ mục lưu trữ trong bộ nhớ

2-15
2-16

2.2.2 Đơn vị siêu dữ liệu ảnh chụp nhanh (SMU)
2.2.2.1 IMCU và SMU

2-17

2.2.2.2 Nhật ký giao dịch

2-17
2-18

2.2.3 Đơn vị biểu thức trong bộ nhớ (IMEU)
2.3 Cửa hàng thống kê biểu thức (ESS)

2-19

2.4 Kiến trúc tiến trình trong bộ nhớ

2-20

2.4.1 Quy trình điều phối viên trong bộ nhớ (IMCO)

2-20

2.4.2 Quy trình cơng nhân quản lý khơng gian (Wnnn)


2-21
2-21

2.5 Kiến trúc CPU: Xử lý vectơ SIMD

Phần II Định cấu hình Lưu trữ Cột IM
3 Kích hoạt và Định cỡ Cửa hàng Cột IM
3.1 Tổng quan về Kích hoạt Lưu trữ Cột IM 3.2 Ước

3-1

tính Kích thước Cần thiết của Lưu trữ Cột IM 3.3 Kích hoạt

3-1

Lưu trữ Cột IM cho Cơ sở dữ liệu 3.4 Tự động tăng Kích thước

3-2

của Lưu trữ Cột IM 3.5 Vơ hiệu hóa Lưu trữ Cột IM

3-4
3-5

4 Kích hoạt các đối tượng cho dân số trong bộ nhớ
4-1

4.1 Giới thiệu về tổng thể trong bộ
nhớ 4.1.1 Mục đích của tổng thể trong bộ nhớ


4-1

4.1.2 Cách thức hoạt động của tổng thể trong bộ nhớ

4-1

iv


Machine Translated by Google

4.1.2.1 Ưu tiên cho dân số trong bộ nhớ 4.1.2.2

4-2

Cách các quy trình nền điền vào IMCU 4.1.3 Kiểm soát cho

4-5

dân số trong bộ nhớ

4-6

4.1.3.1 Điều khoản con INMEMORY

4-6

4.1.3.2 Tùy chọn ưu tiên cho dân số trong bộ nhớ


4-7

4.1.3.3 Phương thức nén lưu trữ cột IM 4.1.3.4 Trình

4-9

cố vấn nén của Oracle
4.2 Kích hoạt và Vơ hiệu hóa Bảng cho Lưu trữ Cột IM

4-11
4-11

4.2.1 Bật các bảng mới cho Lưu trữ cột trong bộ nhớ 4.2.2 Bật và

4-11

tắt các bảng hiện có cho Lưu trữ cột IM 4.2.3 Bật và tắt các bảng cho Lưu

4-12

trữ cột IM: Ví dụ

4-12

4.3 Kích hoạt và vơ hiệu hóa các cột cho các bảng trong bộ nhớ

4-16

4.3.1 Giới thiệu về Cột ảo IM


4-16

4.3.2 Kích hoạt các cột ảo IM 4.3.3

4-18

Kích hoạt một tập hợp con các cột cho Kho lưu trữ cột IM: Ví dụ 4.3.4 Chỉ

4-19

định các thuộc tính cột INMEMORY trên một bảng KHƠNG CĨ INMEMORY:
Thí dụ

4-21

4.4 Kích hoạt và vơ hiệu hóa các khơng gian bảng cho Kho lưu trữ cột IM

4-23

4.5 Kích hoạt và vơ hiệu hóa các dạng xem cụ thể hóa cho Kho lưu trữ cột IM

4-24

4.6 Buộc tạo dân số ban đầu của một đối tượng trong bộ nhớ: Hướng dẫn 4.7 Kích

4-25

hoạt ADO cho kho lưu trữ cột IM

4-27


4.7.1 Giới thiệu về Chính sách ADO và Lưu trữ Cột IM

4-27

4.7.2 Mục đích của ADO và Lưu trữ cột IM

4-28

4.7.3 Cách ADO hoạt động với dữ liệu cột

4-29

4.7.3.1 Cách thức hoạt động của Bản đồ

4-30

nhiệt 4.7.3.2 Cách thức hoạt động của Đánh giá chính sách

4-30

4.7.4 Điều khiển cho ADO và Lưu trữ Cột IM

4-31

4.7.5 Tạo Chính sách ADO cho Lưu trữ Cột IM

4-33

Phần III Tối ưu hóa truy vấn trong bộ nhớ


5 Tối ưu hóa truy vấn với các biểu thức trong bộ nhớ
5.1 Giới thiệu về Biểu thức IM

5-1

5.1.1 Mục đích của biểu thức IM 5.1.2

5-2

Cách thức hoạt động của biểu thức IM

5-3

5.1.2.1 Cơ sở hạ tầng biểu thức IM 5.1.2.2

5-3

Chụp biểu thức IM

5-4

5.1.2.3 Cách thức hoạt động của ESS

5-5

5.1.2.4 Cách cơ sở dữ liệu tạo biểu thức IM

5-7


5.1.2.5 IMEU liên quan đến IMCU như thế nào

5-7

Trong


Machine Translated by Google

5-8

5.1.3 Giao diện người dùng cho biểu thức IM

5.1.3.1 INMEMORY_EXPRESSIONS_USAGE 5.1.3.2

5-8

DBMS_INMEMORY_ADMIN và DBMS_INMEMORY

5-9
5-10

5.1.4 Tác vụ cơ bản cho biểu thức IM
5.2 Định cấu hình Sử dụng biểu thức IM

5-10

5.3 Thu thập và điền biểu thức IM 5.4 Xóa biểu

5-11


thức IM

5-13

6 Tối ưu hóa Tham gia với Tham gia Nhóm
6.1 Giới thiệu về Tham gia trong Bộ

6-1

nhớ 6.2 Giới thiệu về Tham gia nhóm

6-1

6.3 Mục đích của Tham gia nhóm 6.4

6-2

Cách thức hoạt động của Tham gia nhóm

6-4

6.4.1 Cách nhóm tham gia sử dụng từ điển chung 6.4.2

6-4

cách nhóm tham gia tối ưu hóa quét 6.4.3 khi tham gia

6-5


băm sử dụng mã hóa từ điển chung

6-8
6-9

6.5 Tạo nhóm tham gia 6.6

6-12

Giám sát việc sử dụng nhóm tham gia
6.6.1 Giám sát Tham gia Nhóm Sử dụng Báo cáo Màn hình SQL: Ví dụ

6-14

6.6.2 Giám sát Tham gia Nhóm từ Dịng lệnh: Ví dụ

6-16

7 Tối ưu hóa các liên kết với Tập hợp trong bộ nhớ
7.1 Giới thiệu về Tổng hợp

7-1

IM 7.2 Mục đích của Tổng hợp IM

7-1

7.2.1 Khi tập hợp IM hữu ích 7.2.2 Khi

7-2


tập hợp IM khơng hữu ích

7-3
7-3

7.3 Cách hoạt động của tính năng tổng hợp trong bộ nhớ

7.3.1 Khi Trình tối ưu chọn Tập hợp IM 7.3.2 Vector

7-4

khóa 7.3.3 Hai giai đoạn của tập hợp IM 7.3.4 Tập

7-5

hợp IM: Kịch bản 7.3.4.1 Truy vấn phân tích mẫu của

7-6

giản đồ sao 7.3.4.2 Bước 1: Vector khóa và bảng tạm

7-7
7-8

thời Sáng tạo cho kích thước địa lý

7-9
7.3.4.3 Bước 2: Tạo Key Vector và Bảng tạm thời cho sản phẩm Kích thước


7-10

7.3.4.4 Bước 3: Chuyển đổi truy vấn vectơ chính

7-11

7.3.4.5 Bước 4: Lọc hàng từ bảng thực tế 7.3.4.6

7-12

Bước 5: Tổng hợp bằng cách sử dụng một mảng 7.3.4.7

7-12

Bước 6: Tham gia lại các bảng tạm thời

7-13

chúng tôi


Machine Translated by Google

7.4 Điều khiển tập hợp IM 7.5 Tập

7-13

hợp trong bộ nhớ: Ví dụ

7-14


8 Tối ưu hóa Repopulation của IM Column Store
8.1 Giới thiệu về Repopulation của Lưu trữ Cột IM

8-1

8.2 Cách tải dữ liệu hoạt động với Lưu trữ cột IM

8-1

8.2.1 Cách hoạt động của DML thông thường với Kho lưu trữ cột IM

8-2

8.2.1.1 Ngưỡng ổn định

8-2

8.2.1.2 Bộ đệm kép

8-3

8.2.2 Cách Tải đường dẫn Trực tiếp Hoạt động với Lưu trữ Cột IM

8-4

8.2.3 Cách hoạt động của Tải trao đổi phân vùng với Cửa hàng cột IM

8-5


8.3 Khi cơ sở dữ liệu phục hồi lưu trữ cột IM

8-7

8.3.1 Tái tạo dân số nhỏ giọt và dựa trên ngưỡng

8-7

8.3.2 Các yếu tố ảnh hưởng đến tái tạo dân số nhỏ

8-9

giọt 8.4 Kiểm soát tái tạo dân số của kho lưu trữ cột IM
8.5 Tối ưu hóa tái tạo nhỏ giọt: Hướng dẫn

8-9
8-11

Phần IV Tính khả dụng cao và Lưu trữ Cột IM

9 Quản lý IM FastStart cho IM Column Store
9.1 Giới thiệu về IM FastStart

9-1

9.1.1 Mục đích của IM FastStart

9-1

9.1.2 Cách hoạt động của IM FastStart


9-1

9.1.2.1 Cơ sở dữ liệu quản lý khu vực FastStart như thế nào

9-2

9.1.2.2 Cách Cơ sở dữ liệu Đọc từ Khu vực FastStart

9-5

9.2 Kích hoạt IM FastStart cho Lưu trữ Cột IM 9.3 Truy

9-6

xuất Tên của Không gian bảng IM FastStart hiện tại 9.4 Di chuyển Vùng

9-8

FastStart sang một Không gian bảng khác 9.5 Vơ hiệu hóa IM FastStart

9-8

cho Lưu trữ Cột IM

9-10

10 Triển khai IM Column Stores trong Oracle RAC
10.1 Tổng quan về cơ sở dữ liệu trong bộ nhớ và Oracle RAC


10-1

10.1.1 Lưu trữ nhiều cột IM 10.1.2

10-1

Phân phối và sao chép dữ liệu cột trong Oracle RAC 10.1.2.1 Phân phối dữ

10-4

liệu cột trong Oracle RAC

10-4

10.1.2.2 Sao chép dữ liệu cột trong Oracle RAC 10.1.3 Tính

10-8

song song trong Oracle RAC
10.1.3.1 Truy vấn nối tiếp và song song trong Oracle RAC

10-11
10-11

vii


Machine Translated by Google

10.1.3.2 DOP tự động trong Oracle RAC


10-12
10-13

10.1.4 Khu vực khởi động nhanh trong Oracle RAC

10-13

10.2 Định cấu hình Dịch vụ trong Bộ nhớ trong Oracle RAC
10.2.1 Kiểm soát dịch vụ cấp phiên bản

10-14

10.2.2 Kiểm soát dịch vụ cấp đối tượng

10-15

10.2.3 Lợi ích của dịch vụ dành cho cơ sở dữ liệu trong bộ nhớ trong Oracle

10-16

RAC 10.2.4 Định cấu hình dịch vụ trong bộ nhớ cho một tập hợp con các nút: Ví dụ

10-17

11 Triển khai IM Column Store với Oracle Active Data Guard
11-1

11.1 Giới thiệu về Cơ sở dữ liệu trong bộ nhớ và Active Data Guard


11-1

11.1.1 Mục đích của Lưu trữ Cột IM trong Oracle Active Data Guard
11.1.1.1 Lưu trữ cột IM giống hệt nhau trong cơ sở dữ liệu chính và dự phịng

11-1

11.1.1.2 Chỉ lưu trữ cột IM trong cơ sở dữ liệu dự phòng 11.1.1.3 Các đối tượng

11-2

khác nhau trong kho lưu trữ cột IM chính và dự phịng

11-3
11-4

11.1.2 Cách lưu trữ cột IM hoạt động trong Oracle Active Data Guard

11-5

11.2 Định cấu hình Cửa hàng Cột IM trong Mơi trường Bảo vệ Dữ liệu Hoạt động của Oracle

Phần V Cơ sở dữ liệu tham khảo trong bộ nhớ

12 Tham số khởi tạo trong bộ nhớ

13 lần xem trong bộ nhớ

A Sử dụng Lưu trữ cột IM trong Cloud Control
A-1


A.1 Điều kiện tiên quyết của cuộc họp để sử dụng Lưu trữ cột IM trong Điều khiển
đám mây A.2 Sử dụng Trang chủ trung tâm lưu trữ cột trong bộ nhớ để theo dõi Hỗ trợ trong bộ

A-1

nhớ cho các đối tượng cơ sở dữ liệu
A.3 Chỉ định chi tiết trong bộ nhớ khi tạo bảng hoặc phân vùng A.4 Xem hoặc

A-2

chỉnh sửa cột IM Lưu trữ chi tiết của bảng A.5 Xem hoặc chỉnh sửa cột IM Lưu trữ

A-3

chi tiết của phân vùng A.6 Chỉ định cột IM lưu trữ chi tiết trong Tablespace Tạo

A-3

A.7 Xem và chỉnh sửa Cột IM Lưu trữ chi tiết của một vùng bảng A.8 Chỉ định chi

A-3

tiết lưu trữ cột IM trong quá trình tạo Chế độ xem cụ thể hóa A.9 Xem hoặc chỉnh

A-4

sửa Cột IM Lưu trữ chi tiết của Chế độ xem cụ thể hóa

A-4

A-4

viii


Machine Translated by Google

Bảng chú giải

Mục lục

ix


Machine Translated by Google
lời nói đầu

lời nói đầu

Hướng dẫn này giải thích kiến trúc và các tác vụ liên quan đến bộ tính năng trong bộ nhớ cơ sở dữ liệu Oracle.

Lời nói đầu này bao gồm các chủ đề sau:

Sự tiếp kiến
Tài liệu này dành cho các quản trị viên cơ sở dữ liệu quản lý Kho lưu trữ cột trong bộ nhớ (kho lưu trữ cột IM)
và các nhà phát triển tối ưu hóa các truy vấn phân tích sử dụng các tính năng trong cơ sở dữ liệu Oracle.

Khả năng truy cập tài liệu
Để biết thông tin về cam kết của Oracle đối với khả năng truy cập, hãy truy cập trang web Chương trình
hỗ trợ truy cập của Oracle tại ctx=acc&id=docacc.


Truy cập vào bộ phận Hỗ trợ của Oracle
Khách hàng của Oracle đã mua hỗ trợ có quyền truy cập vào hỗ trợ điện tử thông qua Hỗ trợ Oracle của tôi. Để
biết thông tin, hãy truy cập hoặc truy cập http://
www.oracle.com/pls/topic/lookup?ctx=acc&id=trs nếu bạn bị khiếm thính.

Tài liệu liên quan
Hướng dẫn này giả định rằng bạn đã quen thuộc với Các khái niệm về Cơ sở dữ liệu Oracle. Những cuốn sách sau
đây thường được tham khảo:
• Hướng dẫn lưu trữ dữ liệu cơ sở dữ liệu Oracle • Hướng dẫn
phân vùng và VLDB cơ sở dữ liệu Oracle • Hướng dẫn điều chỉnh SQL cơ
sở dữ liệu Oracle • Tham chiếu ngơn ngữ SQL cơ sở dữ liệu Oracle



tơi

Tham khảo cơ sở dữ liệu Oracle

Nhiều ví dụ trong cuốn sách này sử dụng các lược đồ mẫu, được cài đặt theo mặc định khi bạn chọn tùy chọn Cài đặt
Cơ bản với Cơ sở dữ liệu Oracle. Xem Lược đồ mẫu cơ sở dữ liệu Oracle để biết thông tin về cách các lược đồ này
được tạo và cách bạn có thể sử dụng chúng.

x


Machine Translated by Google
lời nói đầu

quy ước

Các quy ước văn bản sau đây được sử dụng trong tài liệu này:

quy ước
in đậm

Nghĩa
Kiểu in đậm biểu thị các thành phần giao diện người dùng đồ họa được liên kết với một hành động hoặc
thuật ngữ được định nghĩa trong văn bản hoặc bảng thuật ngữ.

chữ nghiêng

Loại in nghiêng cho biết tên sách, phần nhấn mạnh hoặc biến giữ chỗ mà bạn
cung cấp các giá trị cụ thể.

xe tải nhỏ

Loại đơn cách cho biết các lệnh trong một đoạn văn, URL, mã trong ví dụ,
văn bản xuất hiện trên màn hình hoặc văn bản bạn nhập.

xi


Machine Translated by Google
Những thay đổi trong bản phát hành này cho Hướng dẫn trong bộ nhớ cơ sở dữ liệu Oracle

Những thay đổi trong bản phát hành này cho Oracle
Hướng dẫn cơ sở dữ liệu trong bộ nhớ
Lời nói đầu này có nội dung:

Các thay đổi trong Cơ sở dữ liệu Oracle 12c Phiên bản 2 (12.2.0.1)

Hướng dẫn trong bộ nhớ cơ sở dữ liệu Oracle cho Cơ sở dữ liệu Oracle 12c Phiên bản 2 (12.2.0.1)
có các thay đổi sau.

Các tính năng mới
Các tính năng chính sau đây là mới trong phiên bản này:
• Thay đổi kích thước động Lưu trữ cột trong bộ nhớ (kho lưu trữ cột IM)
Giờ đây, bạn có thể tự động tăng kích thước của Vùng trong bộ nhớ mà không cần mở
lại cơ sở dữ liệu.
Xem "Tự động tăng kích thước lưu trữ cột IM".
• Biểu thức trong bộ nhớ (biểu thức IM)
Cơ sở dữ liệu Oracle tự động xác định các biểu thức (“hot”) được sử dụng thường xuyên là
ứng cử viên cho dân số trong kho lưu trữ cột IM. Biểu thức ứng viên có thể là (hàng
tháng_doanh số*12)/52. Các biểu thức IM có thể cải thiện đáng kể hiệu suất của các truy
vấn phân tích sử dụng các biểu thức chun sâu về tính tốn và truy cập các tập dữ liệu
lớn.
Xem "Tối ưu hóa truy vấn với biểu thức trong bộ nhớ".
• Cột ảo trong bộ nhớ (cột ảo IM)
Các cột ảo IM cho phép kho lưu trữ cột IM cụ thể hóa một số hoặc tất cả các cột ảo trong một bảng.

Xem "Kích hoạt và vơ hiệu hóa các cột cho các bảng trong bộ nhớ".
• IM FastStart
IM FastStart tối ưu hóa số lượng đối tượng cơ sở dữ liệu trong kho lưu trữ cột IM bằng
cách lưu trữ IMCU trực tiếp trên đĩa.
Xem "Quản lý IM FastStart cho Cửa hàng Cột IM".
• Hỗ trợ cấp độ đối tượng cho các dịch vụ
Đối với một đối tượng riêng lẻ, mệnh đề INMEMORY ... DISTRIBUTE có một mệnh đề con CHO DỊCH
VỤ giới hạn dân số đối với phiên bản cơ sở dữ liệu nơi dịch vụ này có thể chạy. Ví dụ: bạn
có thể định cấu hình đối tượng INMEMORY để được điền vào kho lưu trữ cột IM chỉ trên phiên
bản 1 hoặc chỉ trên phiên bản 2 hoặc trong cả hai phiên bản.


xii


Machine Translated by Google
Những thay đổi trong bản phát hành này cho Hướng dẫn trong bộ nhớ cơ sở dữ liệu Oracle

Xem "Kiểm sốt dịch vụ cấp đối tượng".
• Cột IM lưu trữ trên cơ sở dữ liệu dự phòng
Bạn có thể bật lưu trữ cột IM trong cơ sở dữ liệu dự phịng Oracle Active Data Guard.
Bạn có thể điền một bộ dữ liệu hoàn toàn khác vào kho lưu trữ cột trong bộ nhớ trên cơ sở dữ liệu chính và
dự phịng, tăng gấp đơi kích thước của kho lưu trữ cột trong bộ nhớ sẵn có cho ứng dụng một cách hiệu quả.

Xem "Triển khai kho lưu trữ cột IM với Oracle Active Data Guard".
• Hỗ trợ ADO cho kho lưu trữ cột IM
Bạn có thể sử dụng các chính sách Tối ưu hóa dữ liệu tự động (ADO) để loại bỏ các đối tượng như bảng, phân
vùng hoặc phân vùng con khỏi kho lưu trữ cột IM dựa trên thống kê Bản đồ nhiệt.
Kết quả hoàn thành chính sách thành cơng trong việc thiết lập NO INMEMORY cho đối tượng được chỉ định.
Xem "Kích hoạt ADO cho Cửa hàng Cột IM".
• Tham gia nhóm
Nhóm tham gia là một đối tượng do người dùng tạo liệt kê hai cột có thể được tham gia một cách có ý
nghĩa. Trong một số truy vấn nhất định, tham gia các nhóm cho phép cơ sở dữ liệu loại bỏ chi phí hoạt động
của việc giải nén và băm các giá trị cột. Tham gia các nhóm yêu cầu một cửa hàng cột IM.

Xem "Tối ưu hóa Tham gia với Tham gia Nhóm".

xiii


Machine Translated by Google


phần tôi

Khái niệm trong bộ nhớ cơ sở dữ liệu Oracle
Phần này giới thiệu bộ tính năng Cơ sở dữ liệu trong bộ nhớ Oracle (Database In-Memory),
và giải thích kiến trúc cơ bản của Kho lưu trữ cột trong bộ nhớ (IM column store).
Phần này bao gồm các chương sau:


Machine Translated by Google

1
Giới thiệu về cơ sở dữ liệu Oracle trong bộ nhớ
Cơ sở dữ liệu trong bộ nhớ Oracle (Cơ sở dữ liệu trong bộ nhớ) là một bộ tính năng, lần đầu tiên được giới
thiệu trong Cơ sở dữ liệu Oracle 12c Phiên bản 1 (12.1.0.2), giúp cải thiện đáng kể hiệu suất cho phân tích
thời gian thực và khối lượng công việc hỗn hợp. Kho lưu trữ cột trong bộ nhớ (kho lưu trữ cột IM) là tính
năng chính của Cơ sở dữ liệu trong bộ nhớ.

Ghi chú:

Các tính năng trong bộ nhớ cơ sở dữ liệu yêu cầu tùy chọn trong bộ nhớ cơ sở dữ liệu Oracle.

Chương này bao gồm những chủ đề sau:

1.1 Những thách thức đối với các ứng dụng phân tích
Theo truyền thống, đạt được hiệu suất tốt cho các truy vấn phân tích có nghĩa là đáp ứng
một số u cầu.
Trong kho dữ liệu điển hình hoặc cơ sở dữ liệu sử dụng hỗn hợp, các yêu cầu bao gồm:
• Bạn phải hiểu các kiểu truy cập của người dùng.
• Bạn phải cung cấp hiệu suất tốt, thường yêu cầu tạo chỉ mục, dạng xem cụ thể hóa và
khối OLAP.

Ví dụ: nếu bạn tạo 1 đến 3 chỉ mục cho một bảng (1 khóa chính và 2 chỉ mục khóa ngoại)
để mang lại hiệu suất tốt cho ứng dụng OLTP, thì bạn có thể cần tạo các chỉ mục bổ sung để mang
lại hiệu suất tốt cho các truy vấn phân tích.

Hình 1-1 Nhiều chỉ mục

Bàn

OLTP
chỉ mục

phân tích

chỉ mục

Đáp ứng các yêu cầu trước tạo ra các vấn đề về khả năng quản lý và hiệu suất.
Các cấu trúc truy cập bổ sung gây ra chi phí hoạt động vì bạn phải tạo, quản lý và điều
chỉnh chúng. Ví dụ: việc chèn một hàng vào bảng yêu cầu cập nhật tất cả các chỉ mục trên bảng
này, điều này làm tăng thời gian phản hồi.

1-1


Machine Translated by Google

Chương 1
Phương pháp tiếp cận một định dạng

Nhu cầu phân tích thời gian thực có nghĩa là nhiều truy vấn phân tích hơn đang được thực hiện
trong cơ sở dữ liệu khối lượng công việc hỗn hợp. Cách tiếp cận truyền thống không bền vững.


1.2 Phương pháp tiếp cận một định dạng
Theo truyền thống, cơ sở dữ liệu quan hệ lưu trữ dữ liệu ở định dạng hàng hoặc cột.
Bộ nhớ và đĩa lưu trữ dữ liệu ở cùng một định dạng.
Cơ sở dữ liệu Oracle lưu trữ các hàng liên tục trong các khối dữ liệu. Ví dụ: trong một bảng có ba
hàng, một khối dữ liệu Oracle lưu trữ hàng đầu tiên, sau đó là hàng thứ hai và sau đó là hàng thứ
ba. Mỗi hàng chứa tất cả các giá trị cột cho hàng đó. Dữ liệu được lưu trữ ở định dạng hàng được tối
ưu hóa để xử lý giao dịch. Ví dụ: cập nhật tất cả các cột trong một số lượng nhỏ các hàng chỉ có thể
sửa đổi một số lượng nhỏ các khối.
Để giải quyết các vấn đề liên quan đến truy vấn phân tích, một số nhà cung cấp cơ sở dữ liệu đã
giới thiệu định dạng cột. Cơ sở dữ liệu dạng cột lưu trữ các cột đã chọn—khơng phải các hàng—liên
tục. Ví dụ: trong một bảng doanh số lớn, ID doanh số nằm trong một cột và khu vực bán hàng nằm
trong một cột khác.
Khối lượng công việc phân tích truy cập vào một vài cột trong khi qt, nhưng qt tồn bộ tập dữ liệu.
Vì lý do này, định dạng cột là hiệu quả nhất để phân tích. Vì các cột được lưu trữ riêng biệt
nên truy vấn phân tích chỉ có thể truy cập các cột bắt buộc và tránh đọc dữ liệu không cần thiết. Ví
dụ: một báo cáo về tổng doanh số bán hàng theo khu vực có thể xử lý nhanh chóng nhiều hàng trong khi
chỉ truy cập vào một vài cột.
Các nhà cung cấp cơ sở dữ liệu thường buộc khách hàng phải chọn giữa định dạng dựa trên cột và hàng.
Ví dụ: nếu định dạng dữ liệu là cột, thì cơ sở dữ liệu lưu trữ dữ liệu ở định dạng cột cả trong bộ
nhớ và trên đĩa. Đạt được những lợi thế của một định dạng có nghĩa là mất đi những lợi thế của định
dạng thay thế. Các ứng dụng đạt được phân tích nhanh hoặc giao dịch nhanh, nhưng không phải cả hai.
Các vấn đề về hiệu suất đối với cơ sở dữ liệu sử dụng hỗn hợp không được giải quyết bằng cách lưu trữ
dữ liệu ở một định dạng duy nhất.

1.3 Giải pháp trong bộ nhớ cơ sở dữ liệu Oracle
Bộ tính năng Oracle Database In-Memory (Cơ sở dữ liệu trong bộ nhớ) bao gồm Kho lưu trữ cột trong
bộ nhớ (IM column store), tối ưu hóa truy vấn nâng cao và các giải pháp khả dụng.

Các tối ưu hóa trong bộ nhớ cơ sở dữ liệu cho phép các truy vấn phân tích chạy các đơn đặt

hàng cường độ nhanh hơn trên kho dữ liệu và cơ sở dữ liệu sử dụng hỗn hợp.
Phần này bao gồm các chủ đề sau:

1.3.1 Cơ sở dữ liệu trong bộ nhớ là gì?
Bộ tính năng Cơ sở dữ liệu trong bộ nhớ bao gồm kho lưu trữ cột IM, tối ưu hóa truy vấn nâng cao và
các giải pháp khả dụng. Các tính năng này kết hợp để tăng tốc các truy vấn phân tích theo thứ tự cường
độ mà khơng làm giảm hiệu suất hoặc tính khả dụng của OLTP.
Phần này bao gồm các chủ đề sau:

1.3.1.1 Lưu trữ cột IM
Cửa hàng cột IM duy trì các bản sao của bảng, phân vùng và các cột riêng lẻ ở định dạng cột được nén
đặc biệt được tối ưu hóa để quét nhanh.

1-2


Machine Translated by Google

Chương 1
Giải pháp trong bộ nhớ cơ sở dữ liệu Oracle

Video:
Video

Lưu trữ cột IM nằm trong Vùng trong bộ nhớ, đây là một phần tùy chọn của vùng tồn cầu hệ thống (SGA). Lưu
trữ cột IM khơng thay thế lưu trữ dựa trên hàng hoặc bộ nhớ cache của bộ đệm cơ sở dữ liệu, nhưng bổ sung cho nó.
Cơ sở dữ liệu cho phép dữ liệu nằm trong bộ nhớ ở cả định dạng dựa trên hàng và cột, mang lại điều tốt nhất cho
cả hai thế giới. Lưu trữ cột IM cung cấp một bản sao bổ sung phù hợp với giao dịch của dữ liệu bảng độc lập với
định dạng đĩa.


Hình 1-2 Cơ sở dữ liệu định dạng kép

bộ đệm bình thường

Bộ nhớ trong mới
Định dạng

Bộ nhớ cache

giao dịch
Báo cáo
Việc bán hàng

Việc bán hàng

Hàng ngang

cột

Định dạng

Định dạng

Người phục vụ

Việc bán hàng

Bàn

cơ sở dữ liệu


Ghi chú:

Các đối tượng được điền trong kho lưu trữ cột IM cũng không cần phải được tải vào bộ đệm đệm.

Sử dụng mệnh đề INMEMORY trong các câu lệnh DDL để cho phép lưu trữ cột IM ở bất kỳ cấp độ nào sau đây:

• Cột (khơng ảo hoặc ảo) • Bảng, dạng xem
cụ thể hóa hoặc phân vùng • Vùng bảng Nếu thuộc
tính INMEMORY được chỉ định ở cấp vùng bảng, thì
tất cả các bảng mới và dạng xem cụ thể hóa trong vùng bảng được bật cho kho lưu trữ cột IM theo mặc
định. bên trong

1-3


Machine Translated by Google

Chương 1
Giải pháp trong bộ nhớ cơ sở dữ liệu Oracle

ngữ cảnh của Cơ sở dữ liệu trong bộ nhớ, dân số là sự chuyển đổi tự động dữ liệu dựa trên hàng trên
đĩa thành dữ liệu cột trong kho lưu trữ cột IM. Bạn có thể định cấu hình tất cả hoặc một tập hợp con các
cột của đối tượng cơ sở dữ liệu cho dân số trong kho lưu trữ cột IM.
Tương tự, đối với bảng được phân vùng hoặc dạng xem cụ thể hóa, bạn có thể định cấu hình tất cả hoặc một
tập hợp con của các phân vùng cho dân số.

Ví dụ: bạn có thể định cấu hình ba bảng từ lược đồ sh cho dân số vào cửa hàng cột IM: khách hàng, sản
phẩm và doanh số. Cửa hàng cột IM lưu trữ dữ liệu cho mỗi bảng theo cột thay vì theo hàng và chia mỗi
cột thành các tập con hàng riêng biệt. Một vùng chứa đặc biệt được gọi là Đơn vị nén trong bộ nhớ (IMCU)

lưu trữ tất cả các cột cho một tập hợp con các hàng trong một phân đoạn bảng.

Xem thêm:
• "Kiến trúc lưu trữ cột trong bộ nhớ"
• "Bật Lưu trữ Cột IM cho Cơ sở dữ liệu"
• Tham khảo Ngơn ngữ SQL Cơ sở dữ liệu Oracle để biết thêm thông tin về mệnh đề INMEMORY



tơi muốn tìm hiểu về tùy chọn Cơ sở dữ liệu trong bộ nhớ

1.3.1.2 Tối ưu hóa truy vấn nâng cao
Cơ sở dữ liệu trong bộ nhớ bao gồm một số tối ưu hóa hiệu suất cho các truy vấn phân tích.
Tối ưu hóa bao gồm:
• Một biểu thức là sự kết hợp của một hoặc nhiều giá trị, toán tử và SQL
các hàm (chỉ DETERMINISTIC ) phân giải thành một giá trị. Theo mặc định, tối ưu hóa Biểu thức trong
bộ nhớ (biểu thức IM) cho phép thủ tục DBMS_INMEMORY_ADMIN.IME_CAPTURE_EXPRESSIONS xác định và
điền các biểu thức "nóng" trong kho lưu trữ cột IM. Một biểu thức IM được cụ thể hóa dưới dạng một
cột ảo ẩn, nhưng được truy cập theo cách tương tự như một cột khơng ảo.

• Nhóm tham gia là một đối tượng do người dùng định nghĩa, chỉ định một tập hợp các cột thường xuyên
được sử dụng để tham gia một tập hợp các bảng. Trong một số truy vấn nhất định, tham gia các nhóm
cho phép cơ sở dữ liệu loại bỏ chi phí hoạt động của việc giải nén và băm các giá trị cột.

• Đối với các truy vấn tổng hợp liên kết các bảng kích thước nhỏ với một bảng dữ kiện lớn, Tập hợp
trong bộ nhớ (tập hợp IM) sử dụng thao tác VECTOR GROUP BY để nâng cao hiệu suất. Tối ưu hóa này
tổng hợp dữ liệu trong quá trình quét bảng thực tế thay vì sau đó.




Trong kho lưu trữ cột IM, repopulation là bản cập nhật tự động của IMCU sau khi dữ liệu bên
trong chúng đã được sửa đổi đáng kể. Nếu một IMCU có các mục nhập cũ nhưng khơng đáp ứng ngưỡng ổn
định, thì các quy trình nền có thể kích hoạt quá trình tái tạo nhỏ giọt, tức là quá trình tái tạo
dần dần kho lưu trữ cột IM.

1-4


Machine Translated by Google

Chương 1
Giải pháp trong bộ nhớ cơ sở dữ liệu Oracle

chủ đề liên quan
• Tối ưu hóa truy vấn trong bộ nhớ
Phần này giải thích cách tối ưu hóa truy vấn bằng cách sử dụng Biểu thức trong bộ nhớ, tham
gia nhóm và tổng hợp trong bộ nhớ. Nó cũng giải thích cách cửa hàng cột IM phục hồi dữ liệu
đã sửa đổi.

1.3.1.3 Hỗ trợ sẵn sàng cao
Tính khả dụng là mức độ mà một ứng dụng, dịch vụ hoặc chức năng có thể truy cập được theo
yêu cầu.
Cơ sở dữ liệu trong bộ nhớ hỗ trợ các tính năng khả dụng sau:
• Khởi động nhanh trong bộ nhớ (IM FastStart) giảm thời gian điền dữ liệu vào kho lưu trữ cột IM
khi phiên bản cơ sở dữ liệu khởi động lại. IM FastStart đạt được điều này bằng cách lưu định
kỳ một bản sao của dữ liệu hiện được phổ biến trong kho lưu trữ cột IM trên đĩa ở định dạng
cột được nén.
• Mỗi nút trong mơi trường Oracle Real Application Clusters (Oracle RAC) có kho lưu trữ cột IM
riêng. Có thể có các đối tượng hoàn toàn khác nhau được điền vào mỗi nút hoặc có các đối tượng
lớn hơn được phân phối trên tất cả các kho lưu trữ cột IM trong cụm. Trong Hệ thống được thiết

kế, cũng có thể có các đối tượng giống nhau xuất hiện trong kho lưu trữ cột IM trên mỗi nút.

• Bắt đầu từ Cơ sở dữ liệu Oracle 12c Phiên bản 2 (12.2), một kho lưu trữ cột IM được hỗ trợ trên
cơ sở dữ liệu dự phịng trong mơi trường Active Data Guard.
chủ đề liên quan
• Tính khả dụng cao và Lưu trữ cột IM
Phần này giải thích cách sử dụng kho lưu trữ cột IM với các tính năng sẵn sàng cao như Khởi
động nhanh trong bộ nhớ (IM FastStart), Bảo vệ dữ liệu Oracle và Cụm ứng dụng thực của Oracle
(Oracle RAC).

1.3.2 Cải thiện hiệu suất cho truy vấn phân tích
Định dạng cột được nén cho phép quét, truy vấn, nối và tổng hợp nhanh hơn.
Phần này bao gồm các chủ đề sau:

1.3.2.1 Cải thiện hiệu suất quét dữ liệu
Định dạng cột cung cấp thông lượng nhanh để quét lượng lớn dữ liệu. Bạn có thể phân tích dữ liệu
trong thời gian thực, cho phép bạn khám phá các khả năng khác nhau và thực hiện các phép lặp.
Lưu trữ cột IM có thể cải thiện đáng kể hiệu suất cho các loại truy vấn sau:
• Một truy vấn quét một số lượng lớn các hàng và áp dụng các bộ lọc sử dụng các tốn tử như
<, >, = và VÀO
• Truy vấn chọn một số ít cột từ bảng hoặc dạng xem cụ thể hóa
có số lượng cột lớn, chẳng hạn như truy vấn truy cập 5 trên 100 cột

1-5


Machine Translated by Google
Chương 1
Giải pháp trong bộ nhớ cơ sở dữ liệu Oracle


Video:
Video

Định dạng cột sử dụng các cột có chiều rộng cố định cho hầu hết các kiểu dữ liệu số và
chuỗi ngắn. Sự tối ưu hóa này cho phép xử lý véc tơ nhanh chóng, cho phép cơ sở dữ liệu trả
lời các truy vấn nhanh hơn.
Quá trình quét kho lưu trữ cột IM nhanh hơn quá trình quét dữ liệu theo hàng đối với các trường hợp sau
lý do:

• Loại bỏ chi phí bộ đệm cache
Cửa hàng cột IM lưu trữ dữ liệu ở định dạng cột thuần túy trong bộ nhớ. Dữ liệu không
tồn tại trong các tệp dữ liệu (hoặc tạo lại), vì vậy cơ sở dữ liệu tránh được chi phí
đọc dữ liệu từ đĩa vào bộ đệm bộ đệm.

• Cắt tỉa dữ liệu
Cơ sở dữ liệu chỉ quét các cột cần thiết cho truy vấn chứ khơng qt tồn bộ các
hàng dữ liệu. Hơn nữa, cơ sở dữ liệu sử dụng chỉ mục lưu trữ và từ điển nội bộ để
chỉ đọc các IMCU cần thiết cho một truy vấn cụ thể. Ví dụ: nếu một truy vấn yêu cầu
tất cả doanh số bán hàng cho một cửa hàng có ID cửa hàng nhỏ hơn 8, thì cơ sở dữ liệu
có thể sử dụng tính năng cắt tỉa IMCU để loại bỏ các IMCU khơng chứa giá trị này.
• Nén
Theo truyền thống, mục tiêu nén là tiết kiệm dung lượng. Trong kho lưu trữ cột IM, mục
tiêu nén là tăng tốc độ quét. Cơ sở dữ liệu tự động nén dữ liệu dạng cột bằng thuật
toán cho phép áp dụng các vị từ mệnh đề WHERE đối với các định dạng nén. Tùy thuộc vào
kiểu nén được áp dụng, Cơ sở dữ liệu Oracle có thể quét dữ liệu ở định dạng nén mà
khơng cần giải nén trước. Do đó, khối lượng dữ liệu mà cơ sở dữ liệu phải quét trong
lưu trữ cột IM nhỏ hơn khối lượng tương ứng trong bộ đệm ẩn bộ đệm cơ sở dữ liệu.

• Xử lý véc tơ


Mỗi lõi CPU quét các cột cục bộ trong bộ nhớ. Để xử lý dữ liệu dưới dạng một mảng
(bộ), quá trình quét sử dụng hướng dẫn vectơ SIMD. Ví dụ: một truy vấn có thể đọc
một tập hợp các giá trị trong một lệnh CPU đơn lẻ thay vì đọc từng giá trị một. Quét
vectơ bằng lõi CPU nhanh hơn nhiều lần so với quét hàng.
Ví dụ: giả sử người dùng thực hiện truy vấn đặc biệt sau:
CHỌN cust_id, time_id, channel_id
TỪ bán hàng

WHERE prod_id GIỮA 14 và 29

Khi sử dụng bộ đệm đệm, cơ sở dữ liệu thường sẽ quét một chỉ mục để tìm ID sản phẩm, sử
dụng các rowid để tìm nạp các hàng từ đĩa vào bộ đệm đệm, sau đó loại bỏ các giá trị cột
không mong muốn. Việc quét dữ liệu ở định dạng hàng trong bộ đệm đệm yêu cầu nhiều lệnh
CPU và có thể dẫn đến hiệu quả CPU dưới mức tối ưu.
Khi sử dụng kho lưu trữ cột IM, cơ sở dữ liệu chỉ có thể quét các cột bán hàng được
yêu cầu , tránh hoàn toàn đĩa. Việc quét dữ liệu ở định dạng cột chỉ dẫn các cột cần
thiết đến CPU, giúp tăng hiệu quả. Mỗi lõi CPU quét cục bộ trong các cột bộ nhớ bằng
cách sử dụng hướng dẫn vectơ SIMD.

1-6


Machine Translated by Google

Chương 1
Giải pháp trong bộ nhớ cơ sở dữ liệu Oracle

chủ đề liên quan
• Kiến trúc CPU: Xử lý vectơ SIMD Đối với dữ liệu cần được
quét trong kho lưu trữ cột IM, cơ sở dữ liệu sử dụng xử lý vectơ SIMD (một lệnh, nhiều dữ liệu).


• Định dạng kép: Cột và Hàng Khi bạn kích
hoạt lưu trữ cột IM, SGA sẽ quản lý dữ liệu ở các vị trí riêng biệt: Vùng trong bộ nhớ và bộ đệm đệm cơ sở dữ
liệu.
• Định cấu hình Cửa hàng Cột IM
Bạn có thể kích hoạt và định cỡ Cửa hàng cột trong bộ nhớ (cửa hàng cột IM). Bạn cũng có thể điền các đối
tượng vào kho lưu trữ cột IM.

1.3.2.2 Cải thiện hiệu suất khi tham gia
Bộ lọc Bloom là một cấu trúc dữ liệu có bộ nhớ thấp để kiểm tra tư cách thành viên trong một tập hợp. Cửa hàng cột
IM tận dụng các bộ lọc Bloom để cải thiện hiệu suất của các phép nối.
Bộ lọc Bloom tăng tốc độ kết nối bằng cách chuyển đổi vị từ trên bảng kích thước nhỏ thành bộ lọc trên bảng dữ
kiện lớn. Sự tối ưu hóa này rất hữu ích khi thực hiện phép nối nhiều chiều với một bảng dữ kiện lớn. Các khóa thứ
nguyên trên bảng thực tế có nhiều giá trị lặp lại. Hiệu suất quét và tối ưu hóa giá trị lặp lại tăng tốc độ kết
nối theo thứ tự độ lớn.

chủ đề liên quan
• Giới thiệu về các phép nối trong
bộ nhớ Các phép nối là một phần không thể thiếu trong khối lượng công việc lưu trữ dữ liệu. Lưu trữ cột IM nâng
cao hiệu suất của các phép nối khi các bảng được nối được lưu trữ trong bộ nhớ.

Xem thêm:
"Giới thiệu về tham gia trong bộ nhớ"

1.3.2.3 Cải thiện hiệu suất cho tổng hợp
Một khía cạnh quan trọng của phân tích là xác định các mẫu và xu hướng bằng cách tổng hợp dữ liệu.
Tập hợp và truy vấn SQL phức tạp chạy nhanh hơn khi dữ liệu được lưu trữ trong kho lưu trữ cột IM.

Trong Cơ sở dữ liệu Oracle, tổng hợp thường liên quan đến mệnh đề GROUP BY . Theo truyền thống, cơ sở dữ
liệu sử dụng các toán tử SORT và HASH . Bắt đầu từ Cơ sở dữ liệu Oracle 12c Phiên bản 1 (12.1), cơ sở dữ liệu đã

cung cấp các phép biến đổi VECTOR GROUP BY để cho phép tổng hợp dựa trên mảng, trong bộ nhớ hiệu quả.

Trong quá trình quét bảng thực tế, cơ sở dữ liệu tích lũy các giá trị tổng hợp thành các mảng trong bộ nhớ và sử
dụng các thuật toán hiệu quả để thực hiện tổng hợp. Các phép nối dựa trên mối quan hệ khóa chính và khóa ngoại được
tối ưu hóa cho cả lược đồ hình sao và lược đồ bông tuyết.

1-7


Machine Translated by Google

Chương 1
Giải pháp trong bộ nhớ cơ sở dữ liệu Oracle

Xem thêm:
• "Tối ưu hóa liên kết với tính năng tổng hợp trong bộ nhớ"
• Hướng dẫn Kho dữ liệu Cơ sở dữ liệu Oracle để tìm hiểu thêm về SQL
tổng hợp

1.3.3 Cải thiện hiệu suất cho khối lượng công việc hỗn hợp
Mặc dù các ứng dụng OLTP không được hưởng lợi từ việc truy cập dữ liệu trong kho lưu trữ cột IM,
nhưng định dạng bộ nhớ kép có thể gián tiếp cải thiện hiệu suất của OLTP.
Khi tất cả dữ liệu được lưu trữ trong hàng, việc cải thiện hiệu suất truy vấn phân tích yêu
cầu tạo cấu trúc truy cập. Cách tiếp cận tiêu chuẩn là tạo các chỉ mục phân tích, các dạng
xem cụ thể hóa và các khối OLAP. Ví dụ: một bảng có thể yêu cầu 3 chỉ mục để cải thiện hiệu suất
của ứng dụng OLTP (1 khóa chính và 2 chỉ mục khóa ngoại) và 10-20 chỉ mục bổ sung để cải thiện hiệu
suất của các truy vấn phân tích. Mặc dù kỹ thuật này có thể cải thiện hiệu suất truy vấn phân tích,
nhưng nó làm chậm hiệu suất OLTP. Chèn một hàng vào bảng yêu cầu sửa đổi tất cả các chỉ mục trên
bảng. Khi số lượng chỉ mục tăng lên, tốc độ chèn giảm xuống.


Khi bạn điền dữ liệu vào kho lưu trữ cột IM, bạn có thể loại bỏ các cấu trúc truy cập phân
tích. Kỹ thuật này làm giảm không gian lưu trữ và chi phí xử lý vì cần ít chỉ mục, dạng xem cụ thể
hóa và khối OLAP hơn. Ví dụ: một phần chèn dẫn đến việc sửa đổi 1-3 chỉ mục thay vì 11-23 chỉ mục.

Mặc dù kho lưu trữ cột IM có thể cải thiện đáng kể hiệu suất cho các truy vấn phân tích trong các
ứng dụng kinh doanh, truy vấn phân tích đặc biệt và khối lượng cơng việc của kho dữ liệu, nhưng cơ
sở dữ liệu OLTP thuần túy thực hiện các giao dịch ngắn bằng cách sử dụng tra cứu chỉ mục sẽ ít được
hưởng lợi hơn. Lưu trữ cột IM không cải thiện hiệu suất cho các loại truy vấn sau:
• Truy vấn với các vị từ phức tạp • Truy
vấn chọn nhiều cột • Truy vấn trả về nhiều
hàng

Xem thêm:
Hướng dẫn Kho dữ liệu Cơ sở dữ liệu Oracle để tìm hiểu thêm về thiết kế kho dữ liệu vật lý

1.3.4 Hỗ trợ tính khả dụng cao
Cửa hàng cột IM được tích hợp hồn toàn vào Cơ sở dữ liệu Oracle. Tất cả các tính năng High
Availability đều được hỗ trợ.
Định dạng cột khơng thay đổi định dạng lưu trữ trên đĩa của cơ sở dữ liệu Oracle.
Do đó, các sửa đổi bộ nhớ cache của bộ đệm và thực hiện lại chức năng ghi nhật ký theo cùng một
cách. Các tính năng như RMAN, Oracle Data Guard và Oracle ASM được hỗ trợ đầy đủ.

1-8


Machine Translated by Google

Chương 1
Giải pháp trong bộ nhớ cơ sở dữ liệu Oracle


Trong môi trường Oracle Real Application Clusters (Oracle RAC), theo mặc định, mỗi nút có kho lưu trữ cột
IM riêng. Tùy thuộc vào yêu cầu của bạn, bạn có thể điền vào các đối tượng theo những cách khác nhau:

• Các bảng khác nhau được điền trên mỗi nút. Ví dụ: bảng dữ kiện bán hàng nằm trên một
nút, trong khi bảng thứ nguyên sản phẩm nằm trên một nút khác.
• Một bảng duy nhất được phân phối giữa các nút khác nhau. Ví dụ: các phân vùng khác nhau của cùng một
bảng được phân vùng băm nằm trên các nút khác nhau hoặc các phạm vi hàng khác nhau của một bảng không
được phân vùng duy nhất nằm trên các nút khác nhau.
• Một số đối tượng xuất hiện trong cột IM lưu trữ trên mỗi nút. Ví dụ: bạn có thể điền bảng thứ
ngun sản phẩm vào mọi nút nhưng phân phối các phân vùng của bảng dữ kiện doanh số trên các nút
khác nhau.

Xem thêm:
"Tính khả dụng cao và Cửa hàng cột IM"

1.3.5 Dễ áp dụng
Cơ sở dữ liệu trong bộ nhớ rất dễ triển khai và không yêu cầu thay đổi ứng dụng.
Các khía cạnh chính của việc áp dụng cơ sở dữ liệu trong bộ nhớ bao gồm:

• Dễ triển khai
Khơng u cầu di chuyển dữ liệu do người dùng quản lý. Cơ sở dữ liệu lưu trữ dữ liệu ở định dạng
hàng trên đĩa và tự động chuyển đổi dữ liệu hàng thành định dạng cột khi điền vào kho lưu trữ cột IM.

• Khả năng tương thích với các ứng dụng hiện có
Khơng có thay đổi ứng dụng được u cầu. Trình tối ưu hóa tự động tận dụng định dạng cột. Nếu ứng
dụng của bạn kết nối với cơ sở dữ liệu và phát hành SQL, thì ứng dụng đó có thể hưởng lợi từ các tính
năng trong bộ nhớ cơ sở dữ liệu.


Cơ sở dữ liệu trong bộ

nhớ tương thích hồn tồn với SQL khơng hạn chế SQL. Các truy vấn phân tích có thể có lợi cho dù
chúng sử dụng các chức năng phân tích của Oracle hay mã PL/SQL tùy chỉnh.

• Dễ sử dụng

Khơng cần thiết lập phức tạp. Tham số khởi tạo INMEMORY_SIZE chỉ định dung lượng bộ nhớ dành riêng
để lưu trữ cột IM sử dụng. Mệnh đề INMEMORY trong các câu lệnh DDL chỉ định các đối tượng hoặc cột sẽ
được đưa vào kho lưu trữ cột IM. Bằng cách định cấu hình kho lưu trữ cột IM, bạn có thể ngay lập tức
cải thiện hiệu suất của khối lượng công việc phân tích hiện có và các truy vấn đặc biệt.

1-9


Machine Translated by Google
Chương 1
Điều kiện tiên quyết cho cơ sở dữ liệu trong bộ nhớ

Xem thêm:
• "Kích hoạt và Định cỡ Cửa hàng Cột IM" để tìm hiểu cách bật IM
cửa hàng cột
• Tham khảo Cơ sở dữ liệu Oracle để tìm hiểu về INMEMORY_SIZE và
INMEMORY_FORCE tham số khởi tạo

1.4 Điều kiện tiên quyết cho cơ sở dữ liệu trong bộ nhớ
Tùy chọn Oracle Database In-Memory là bắt buộc đối với tất cả các tính năng của Database InMemory. Không cần phần cứng đặc biệt nào cho kho lưu trữ cột IM.
Điều kiện tiên quyết bao gồm:

• Lưu trữ cột IM yêu cầu bộ nhớ tối thiểu là 100 MB. Quy mơ cửa hàng là
bao gồm trong MEMORY_TARGET.
• Đối với cơ sở dữ liệu Oracle RAC, các tùy chọn DUPLICATE và DUPLICATE ALL yêu cầu

Hệ thống được thiết kế của Oracle.

Xem thêm:
• "Ước tính kích thước cần thiết của kho lưu trữ cột IM" • "Triển
khai kho lưu trữ cột IM trong Oracle RAC" • Thơng tin cấp phép cơ sở
dữ liệu Oracle cho mọi vấn đề liên quan đến cấp phép
thơng tin

1.5 Nhiệm vụ chính của cơ sở dữ liệu trong bộ nhớ
Để các truy vấn được hưởng lợi từ kho lưu trữ cột IM, các tác vụ bắt buộc duy nhất là định cỡ kho
lưu trữ cột IM và chỉ định các đối tượng cho dân số. Tính năng tối ưu hóa truy vấn và tính khả dụng
u cầu cấu hình bổ sung.
Nhiệm vụ chính để định cấu hình Cửa hàng cột IM
Bảng sau đây liệt kê các tác vụ cấu hình chính.

Bảng 1-1 Nhiệm vụ cấu hình

Nhiệm vụ

ghi chú

để tìm hiểu thêm

Bật lưu trữ cột IM bằng cách

Tham số khởi tạo TƯƠNG THÍCH phải

"Kích hoạt Lưu trữ Cột IM cho Cơ sở

chỉ định kích thước của nó.


được đặt thành 12.1.0 trở lên.

dữ liệu"

1-10


Machine Translated by Google
Chương 1
Nhiệm vụ chính cho cơ sở dữ liệu trong bộ nhớ

Bảng 1-1 (Tiếp) Nhiệm vụ cấu hình

Nhiệm vụ

ghi chú

để tìm hiểu thêm

Chỉ định các bảng (nội bộ hoặc

Mệnh đề INMEMORY

"Kích hoạt đối tượng cho trong bộ nhớ
Dân số"

bên ngồi), các cột (khơng ảo cho phép một đối tượng cho IM hoặc ảo),
không gian bảng hoặc lưu trữ cột, nhưng
khơngngay

cụ thể
xem
để điền
vào hóa
đó. các
dân dạng
số vào
cửa hàng cột IM.

Theo tùy chọn, tạo các chính sách

Ví dụ: một chính sách có thể

"Kích hoạt ADO cho IM

Tối ưu hóa Dữ liệu Tự động (ADO)

loại bỏ bảng bán hàng khỏi cửa hàng

Cửa hàng cột"

để đặt các thuộc tính INMEMORY

cột IM sau 10 ngày không truy cập.

trên các đối tượng trong kho lưu

Các tính năng ADO trong bộ nhớ yêu

trữ cột IM.


cầu cài đặt tham số khởi tạo
HEAT_MAP=ON và cài đặt khác khơng
cho INMEMORY_SIZE.

Nhiệm vụ chính để tối ưu hóa các truy vấn trong bộ nhớ
Khơng cần tối ưu hóa truy vấn trong bộ nhớ để lưu trữ cột IM hoạt động. Các tác vụ tối ưu
hóa sau đây là tùy chọn.
Bảng 1-2 Nhiệm vụ tối ưu hóa truy vấn

Nhiệm vụ

ghi chú

Quản lý phát hiện tự động các biểu thức

Ví dụ: gọi thủ tục

"INMEMORY_EXPRESSION

IM trong kho lưu trữ cột IM bằng cách

IME_CAPTURE_EXPRESSIONS để xác

S_USAGE"

sử dụng gói DBMS_INMEMORY_ADMIN .

để tìm hiểu thêm


định khoảng thời gian mà cơ sở dữ liệu
có thể xác định các biểu thức "nóng",
sau đó điền dần vào chúng. Tham số
khởi tạo INMEMORY_EXPRESSIONS_USAGE
kiểm soát loại biểu thức IM mà cơ sở dữ
liệu có thể điền: tĩnh, động hoặc cả hai.

Xác định các nhóm tham gia bằng cách sử dụng

Các ứng cử viên là các cột thường được

TẠO INMEMORY THAM GIA NHĨM

ghép nối trong một vị từ nối, ví dụ: cột

bản tường trình.

nối một bảng thực tế và bảng thứ nguyên.

Nếu cần thiết cho khối truy vấn,

Tập hợp trong bộ nhớ là một tính

hãy chỉ định gợi ý VECTOR_TRANSFORM

năng được bật tự động khơng thể kiểm

để bật tính năng tổng hợp trong bộ

soát bằng


nhớ hoặc NO_VECTOR_TRANSFORM để tắt

tham số khởi tạo hoặc DDL.

"Tạo nhóm tham gia"

"Điều khiển cho Tổng hợp IM"

tính năng này.

1-11


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×