Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Các tính năng mới của Oracle 21c

Cơ sở dữ liệu Oracle 21c cung cấp năng lượng cho các dịch vụ cơ sở dữ liệu Oracle trong cơ sở hạ tầng tại chỗ và cơ sở hạ tầng đám mây bao gồm cơ sở dữ liệu Autonomous (ADB), dịch vụ Oracle Exadata @ customer và máy Oracle Exadata.

Phiên bản Oracle mới nhất bao gồm các case mới, tự động hóa hiệu suất trình tối ưu hóa, hỗ trợ dữ liệu JSON và các mô hình đồ thị. Các tính năng tự động hóa của nó giúp cuộc sống của cả người dùng và nhà phát triển trở nên dễ dàng hơn. giao dịch trên tất cả các loại mô hình dữ liệu.

Kiến trúc 21c

Kiến trúc cơ sở dữ liệu Oracle giống như phiên bản cũ hơn. Nó bao gồm các phiên bản cơ sở dữ liệu Oracle và cơ sở dữ liệu Oracle như thể hiện trong sơ đồ sau.

Nguồn hình ảnh

Cơ sở dữ liệu Oracle 21c Kiến trúc kỹ thuật:

Kiến trúc đa đối tượng bao gồm các tệp vật lý được gọi là tệp dữ liệu &cá thể cơ sở dữ liệu bao gồm cấu trúc bộ nhớ (SGA được gọi là Khu vực toàn cầu được chia sẻ &PGA) và các quy trình nền để thực hiện các tác vụ như thực hiện truy vấn thay mặt người dùng với sự trợ giúp của quy trình máy chủ, tìm nạp dữ liệu từ đĩa, ghi dữ liệu trên tệp dữ liệu hoặc làm lại tệp nhật ký, lưu trữ kế hoạch thực thi, v.v.

Kiến trúc cơ sở dữ liệu duy nhất chứa mối quan hệ 1-1 giữa cá thể và cơ sở dữ liệu. Nhiều phiên bản đơn lẻ có thể được cài đặt trong cùng một máy chủ, nhưng nó sẽ có cơ sở dữ liệu riêng cho từng phiên bản.

Kiến trúc Oracle RAC bao gồm nhiều phiên bản chạy trên các máy chủ riêng biệt, nhưng tất cả sẽ sử dụng cùng một cơ sở dữ liệu. Cấu hình này được thiết kế để cung cấp tính khả dụng cao, hiệu suất cao và khả năng mở rộng cho khách hàng. Trình lắng nghe trong cơ sở dữ liệu chấp nhận các yêu cầu ứng dụng khách và thiết lập kết nối với cơ sở dữ liệu, sau đó chuyển giao nó cho quá trình máy chủ. Quy trình máy chủ sẽ hoạt động thay mặt cho người dùng và thực hiện yêu cầu của nó.

Các tính năng của Oracle 21c

Thế hệ 21c hỗ trợ tất cả các loại kiểu dữ liệu, ví dụ. Quan hệ, JSON, XML, biểu đồ không gian, OLAP, v.v. và cung cấp hiệu suất, khả năng mở rộng, tính sẵn sàng và bảo mật cao hơn cho tất cả các loại khối lượng công việc như khối lượng công việc phân tích, hoạt động và hỗn hợp như được mô tả trong hình ảnh sau.

Nguồn hình ảnh

1) Bảng chuỗi khối:

Nó đã giải quyết các vấn đề khác nhau liên quan đến các giao dịch đã được xác minh. Nó hỗ trợ tính chất phức tạp của việc xây dựng các ứng dụng có thể hỗ trợ sổ cái phân tán. Các bảng này hoạt động giống như bất kỳ bảng heap bình thường nào nhưng có một số điểm khác biệt quan trọng. Điều đáng chú ý nhất trong số này là các hàng được băm bằng mật mã khi chúng được chèn vào bảng, đảm bảo rằng hàng đó sau này không thể thay đổi được nữa.

Nguồn hình ảnh

Điều này tạo ra một bảng chỉ chèn và người dùng không thể cập nhật hoặc xóa các hàng của bảng chuỗi khối. Ngoài ra, người dùng không bị cắt xén dữ liệu, bỏ blockchains và bảng phân vùng trong một giới hạn thời gian nhất định. Những khả năng quan trọng này có nghĩa là những người dùng khác có thể tin tưởng rằng dữ liệu được lưu trữ trong Bảng chuỗi khối là một bản ghi chính xác về các sự kiện.

2) Kiểu dữ liệu JSON gốc:

nó lưu trữ dữ liệu JSON dưới dạng ARCHAR2 hoặc LOB (CLOB hoặc BLOB), giúp nhà phát triển xây dựng các ứng dụng với tính linh hoạt của mô hình thiết kế không có schemaless. Ví dụ:người dùng có thể truy vấn tài liệu JSON bằng SQL và tận dụng các phân tích nâng cao, lập chỉ mục các thuộc tính riêng lẻ hoặc toàn bộ tài liệu và xử lý hàng tỷ tài liệu JSON song song. Trong Cơ sở dữ liệu Oracle 21c, hỗ trợ JSON được nâng cao hơn nữa bằng cách cung cấp kiểu dữ liệu gốc, “JSON”.

Điều này có nghĩa là thay vì phải phân tích cú pháp JSON trên các hoạt động đọc hoặc cập nhật, quá trình phân tích cú pháp chỉ diễn ra trên một phần chèn và JSON sau đó được giữ ở định dạng nhị phân nội bộ giúp truy cập nhanh hơn nhiều. Điều này có thể dẫn đến hoạt động đọc và cập nhật nhanh hơn 4 hoặc 5 lần và cập nhật cho các tài liệu JSON rất lớn nhanh hơn 20 đến 30 lần.

CREATE TABLE j_order

(

id INTEGER PRIMARY KEY,

po_doc JSON

);

Kiểu dữ liệu mới không phải là thay đổi duy nhất được giới thiệu cho JSON trong Oracle Database 21c, Oracle cũng đã thêm một hàm JSON mới JSON_TRANSFORM giúp việc cập nhật và xóa nhiều thuộc tính trong một tài liệu trở nên đơn giản hơn nhiều chỉ trong một thao tác.

                                        UPDATE j_order SET po_doc = JSON_TRANSFORM( po_doc,
                                        SET '$.address.city' = 'Santa Cruz',
                                        REMOVE'$.phones[*]?(@.type == "office")
                                      )
                                      WHERE id = 555;

3) Thực thi JavaScript bên trong Cơ sở dữ liệu Oracle:

Nó sử dụng Multi Language Engine (MLE) để chạy mã script java bên trong cơ sở dữ liệu với gói PL / SQL mới được gọi là:DBMS_MLE. MLE. Tập lệnh Java cho phép người dùng tương tác phong phú hơn trong ứng dụng web và ứng dụng di động. Đây là một trong số ít ngôn ngữ chạy trong trình duyệt web và có thể được sử dụng để phát triển cả mã phía máy chủ và phía máy khách.

Có một bộ sưu tập lớn các thư viện JavaScript hiện có để triển khai các chương trình phức tạp và JavaScript hoạt động cùng với các công nghệ phát triển phổ biến như JSON và REST. Nó cho phép họ thực hiện các tác vụ tính toán ngắn của họ được viết bằng java script mà không cần di chuyển dữ liệu của họ đến tầng giữa của trình duyệt. MLE tự động ánh xạ các loại dữ liệu tập lệnh Java sang các loại dữ liệu Cơ sở dữ liệu Oracle và ngược lại &các nhà phát triển không phải quan tâm đến việc chuyển đổi loại dữ liệu.

Ngoài ra, tập lệnh Java có thể thực thi PL / SQL và SQL thông qua mô-đun tập lệnh Java được tích hợp sẵn. Tất cả điều này cho phép các nhà phát triển APEX sử dụng tập lệnh java như một ngôn ngữ hạng nhất trong các ứng dụng APEX của họ mà không phải hy sinh sức mạnh của PL / SQL và SQL. trong JavaScript, bạn có thể truy cập cơ sở dữ liệu - bảng và dạng xem - thông qua SQL thông thường. Sau đây minh họa cách mã được viết bằng tập lệnh Java

khai báo

ctx dbms_mle.context_handle_t;

bắt đầu

ctx:=dbms_mle.create_context (); - Tạo bối cảnh thực thi để thực thi MLE

dbms_mle.eval (ctx, ‘JAVASCRIPT’, ‘console.log (Hello from JavaScript ) '); - Đánh giá mã nguồn

đoạn mã trong ngữ cảnh thực thi

dbms_mle.drop_context (ctx); -

Bỏ ngữ cảnh thực thi khi không còn cần thiết nữa;

Lưu ý :miễn là ngữ cảnh được giữ lại, nó giữ các giá trị của các đối tượng toàn cục bao gồm các hàmend;

4) Macro SQL:

Thông thường các truy vấn SQL trở nên phức tạp như không. số lượng liên kết tăng lên hoặc việc truy xuất dữ liệu trở nên liên quan hơn &các nhà phát triển giải quyết vấn đề này bằng cách sử dụng các thủ tục và chức năng được lưu trữ để đơn giản hóa các hoạt động này. Nhưng nó có thể làm giảm hiệu suất khi SQL engine chuyển đổi ngữ cảnh với PL / SQL Engine. Trong Oracle 21c, SQL Macro giải quyết vấn đề này bằng cách cho phép các biểu thức SQL và hàm bảng được thay thế bằng các lệnh gọi đến các thủ tục được lưu trữ trả về một chuỗi ký tự sẽ được chèn vào SQL mà bạn muốn thực thi.

5) Các cải tiến trong bộ nhớ:

Phân tích dữ liệu bằng định dạng cột có thể tăng hiệu suất so với định dạng dựa trên hàng. Mặc dù cập nhật dữ liệu nhanh hơn trong mô hình hàng, và các tính năng trong bộ nhớ cơ sở dữ liệu Oracle giúp chúng tôi sử dụng cả hai mô hình tùy theo yêu cầu. Với sự trợ giúp của tính năng này, người dùng có thể chạy ứng dụng của họ mà không cần thay đổi và trong bộ nhớ sẽ duy trì một kho lưu trữ dạng cột hỗ trợ các truy vấn phân tích thời gian thực cực nhanh. Nó có ba cải tiến chính để nâng cao hiệu suất và dễ sử dụng trong bộ nhớ trong cơ sở dữ liệu Oracle.

A. Tham gia vectơ trong bộ nhớ cơ sở dữ liệu:

Điều này giúp đẩy nhanh các hoạt động như tham gia băm trên các cột bên trong kho lưu trữ cột trong bộ nhớ. Trong trường hợp các phép nối băm, các phép nối được chia thành các phép toán nhỏ hơn và được chuyển cho quá trình vectơ. Bảng giá trị chính được sử dụng được tối ưu hóa SIMD và được sử dụng để khớp các hàng ở các phép nối bên phải và bên trái và điều này cải thiện hiệu suất gấp mười lần.

B. Cửa hàng cột trong bộ nhớ tự quản lý:

Khi cơ sở dữ liệu Oracle trong bộ nhớ được phát hành, người dùng phải khai báo rõ ràng các cột được điền vào kho lưu trữ cột bộ nhớ, điều này cho phép người dùng kiểm soát cao nếu bộ nhớ bị chật.

Trong cơ sở dữ liệu 18c, nó đã giới thiệu chức năng sẽ tự động đặt các đối tượng vào Cửa hàng Cột nếu chúng được sử dụng tích cực và loại bỏ các đối tượng không được sử dụng. Tuy nhiên, người dùng vẫn phải chỉ ra các đối tượng được xem xét.

Trong Cơ sở dữ liệu Oracle 21c, đặt INMEMORY_AUTOMATIC_LEVEL thành CAO, đảm bảo rằng tất cả các đối tượng đều được xem xét - do đó đơn giản hóa công việc quản lý lưu trữ cột trong bộ nhớ.

C. Quét cột kết hợp trong bộ nhớ:

Không thể có mọi cột của mọi bảng được điền trong Cửa hàng Cột vì bộ nhớ bị giới hạn. Trong nhiều trường hợp, đây không phải là vấn đề nhưng đôi khi, người dùng có thể gặp phải một truy vấn cần dữ liệu (cột) từ Cửa hàng cột và dữ liệu chỉ có sẵn trong cửa hàng hàng.

Trong các bản phát hành trước của Oracle Database In-Memory, các truy vấn như vậy sẽ chỉ đơn giản là chạy đối với lưu trữ hàng. Trong Cơ sở dữ liệu Oracle 21c, người dùng hiện có thể sử dụng cả hai! Giờ đây, trình tối ưu hóa có thể chọn quét Kho lưu trữ cột trong bộ nhớ và tìm nạp các giá trị cột dự kiến ​​từ kho lưu trữ hàng nếu cần. Điều này có thể dẫn đến cải thiện hiệu suất đáng kể.

Nguồn hình ảnh

Kết luận

Các lợi ích tổng thể có thể được tóm tắt như sau:

1) Có một sự cải thiện đáng kể trong hiệu suất truy vấn của cơ sở dữ liệu

2) Thế hệ 21’c hỗ trợ tất cả các loại dữ liệu như JSON, XML và OLAP.

3) Nó có khả năng mở rộng lớn, khả dụng cao và bảo mật cho tất cả các khối lượng công việc, tức là OLTP, truy vấn đặc biệt và kho dữ liệu

4) Nó hỗ trợ cả khối lượng công việc hoạt động và hỗn hợp.

5) Trong 21C, nhiều thứ được tự động hóa như quét song song, sao lưu trực tuyến, v.v., do đó giải phóng các nhà phát triển khỏi lo lắng về tính liên tục của dữ liệu.

6) Các tính năng hiệu suất đã được tự động hóa đến mức mở rộng với các tính năng như lập chỉ mục tự động.

Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào. Bạn cũng có thể bắt đầu cuộc trò chuyện với chúng tôi.