Lợi thế khi sử dụng cơ sở dữ liệu trong bộ nhớ

Một phần của tài liệu (LUẬN văn THẠC sĩ) một số kỹ thuật truy cập trong cơ sở dữ liệu trên bộ nhớ (Trang 27)

Tiết kiệm chi phí

Chi phí quản lý CSDL hiện chiếm tới hơn 25% ngân sách công nghệ thông tin của một doanh nghiệp. Do các IMDB sử dụng hệ thống phần cứng đòi hỏi ít điện

năng hơn so với hệ thống quản lý dữ liệu truyền thống vì vậy các doanh nghiệp có thể hạn chế đƣợc đáng kể chi phí đầu tƣ vào phần cứng và chi phí bảo trì.

IMDB cũng giúp giảm thiểu gánh nặng lên tổng chi phí dành cho công nghệ thông tin của doanh nghiệp, giúp giảm thiểu đáng kể số lƣợng nhân viên trƣớc kia chỉ chuyên giải quyết các yêu cầu báo cáo. Đặc biệt, với giải pháp IMDB, việc triển khai không bị gián đoạn , cho phép các doanh nghiệp tiếp tục hoạt động một cách dễ dàng và nhanh chóng.

Hoạt động đơn gian và hiệu quả hơn

Sự chuyển đổi sang IMDB cho phép toàn bộ hệ thống công nghệ đƣợc gỡ bỏ ra khỏi câu trúc công nghệ thông tin của doanh nghiệp, giảm thiểu sự phức tạp và cơ sở hạ tầng mà hệ thống cũ yêu cầu. Việc giảm thiểu sự phức tạp này cho phép các dữ liệu đƣợc khôi phục gần nhƣ ngay lập tức, giúp các phòng ban làm việc hiệu quả hơn.

IMDB cho phép các doanh nghiệp dễ dàng phân chia các phân hê của trí tuệ doanh nghiệp, giúp các phòng ban sử dụng thuận tiện hơn. Các phòng ban có thể hoạt động độc lập mà không làm ảnh hƣởng tới khối lƣợng dữ liệu trung tâm. Và có lẽ quan trọng nhất là các doanh nghiệp không còn phải phụ thuộc vào đội ngũ nhân viên công nghệ thông tin để có đƣợc cái nhìn tổng quan vào những dữ liệu kinh doanh.

Hiệu quả quản lý thu đƣợc cũng cho phép những ngƣời dùng doanh nghiệp đang đi công tác có thể tự truy vấn thông qua các thiết bị di động. Thiết bị này trở nên rất quan trong bởi ngày càng nhiêu doanh nghiệp sử dụng công nghệ di động trong các hoạt động kinh doanh.

Cung cấp đầy đủ thông tin

IMDB giúp các doanh nghiệp dễ dàng có đƣợc một cái nhìn toàn diện vào tất cả các dữ liệu kinh doanh , thay vì bị giới hạn bởi những thông tin ít ỏi đƣợc trích xuất và lƣu trữ từ kho dữ liệu. Công nghệ này cho phép các doanh nghiệp có thể chuyển đổi từ việc phân tích sau mỗi giao dịch phát sinh (phân tích “quá khứ”) sang việc quyết định trên thời gian thực và chuyển mô hình kinh doanh từ đối

phó sang mô hình đi trƣớc đón đầu và lập kế hoạch hiệu quả.

Khi kết hợp với các giải pháp phân tích front-end (tiền phƣơng) thân thiện, chẳng hạn nhƣ nền tảng trí tuệ doanh nghiệp SAP BusinessObjects 4.0, bất kỳ ai trong doanh nghiệp cũng có thể xây dựng các truy vấn và biểu đồ riêng mà không cần am hiểu quá nhiều về các hệ thống công nghệ thông tin.

Quản lý khách hàng

Các phòng quản lý khách hàng có thể kết hợp các dữ liệu khác nhau một cách nhanh chóng và dễ dàng để phân tích tình hình kinh doanh của khách hàng tại thời điểm hiện tại và quá khứ, ở ngay tại văn phòng hay thông qua các thiết bị di động. Nhờ khả năng tƣơng tác và truy vấn các dữ liệu trong bộ nhớ, các doanh nghiệp có thể thử nghiệm nhiều hơn với các dữ liệu để thiết kế các chiến dịch bán hàng và tiếp thị ấn tƣợng. Đội ngũ bán hàng có thể tự truy cập và có đƣợc những thông tin cần thiết, cho phép họ hiểu khách hàng rõ hơn.

Quản lý chuỗi cung ứng

Với hệ thống quản lý truyền thống dựa trên công nghệ ổ cứng, việc xử lý dữ liệu thƣờng đƣợc tiến hành vào cuối ngày , có nghĩa rằng các doanh nghiệp thƣờng chậm trễ trong việc xử lý các cảnh báo về nguồn cung ứng quan trọng. Nhƣng với IMDB các doanh nghiệp có thể nhìn một cách toàn diện vào chuỗi cung cầu chỉ trong một vài giây. Họ có đƣợc cái nhìn sâu sắc tổng thể về tình hình kinh doanh của doanh nghiệp trong thời gian thực.

Tài chính

Những cán bộ kiểm soát tài chính là những ngƣời đặc biệt gặp khó khăn với khối lƣợng dữ liệu ngày càng gia tăng . Do thời gian trả lời dữ liệu chậm , họ bị buộc phải giới hạn khung thời gian phân tích trong vài ngày thay vì vài thang hay vài quý. Điều này dẫn tới một loạt chậm trễ, bao gồm cả việc đóng sổ cuối mỗi kỳ tài chính. Với IMDB, việc phân tích dữ liệu khối lƣợng lớn và môi trƣờng mô hình linh động đồng nghĩa với viêc quyết toán tai chính nhanh hơn va hiểu biết sâu sắc hơn về nhƣng dữ liêu tai chinh chi tiết ở các khung thời gian rộng hơn.

IMDB là phƣơng án thay thế tốt nhất giúp giảm thiểu chi phí của hệ thống quản lý dữ liệu trên đĩa truyền thống . Đối với những doanh nghiệp tiên phong áp dụng công nghệ bộ nhớ trong , những kết quả khả quan nhƣ việc cải thiện rõ rệt hiệu quả trong khâu quản lý doanh nghiệp , tiêt kiêm chi phí đầu tƣ cho công nghệ thông tin sẽ mang lại những lợi thế cạnh tranh cao.

Với những tính năng hữu ích, công nghệ bộ nhớ trong tạo điều kiện cho các doanh nghiệp Việt Nam giảm thiểu chi phí đầu tƣ và vận hành hệ thống phần cứng, giúp họ tập trung vào việc phân tích thông tin nhằm đi tắt đón đầu đƣợc những xu hƣớng thị trƣờng cũng nhƣ thị hiếu của ngƣời tiêu dùng để chuẩn bị tốt hơn cho các hoạt động mở rộng doanh nghiệp.

Nội dung của chƣơng đã trình bày một số hệ thống thƣờng phải xử lý lƣợng giao dịch lớn, khái niệm giao dịch và một số tính chất cũng nhƣ trạng thái của giao dịch. Đồng thời để đáp ứng đƣợc việc xử lý của các hệ thống đã nêu, Chƣơng này cũng đề ra giải pháp thay thế hệ thống CSDL thông thƣờng bằng CSDL trong bộ nhớ, đƣa ra đƣợc ƣu điểm, nhƣợc điểm, lợi thế của việc sử dụng IMDB đối với các lĩnh vực áp dụng công nghệ thông tin. Tiếp theo, Chƣơng 2 sẽ tìm hiểu về CSDL trong bộ nhớ.

Chƣơng 2. MỘT SỐ KỸ T UẬT TRU CẬP TRON CSDL TRÊN BỘ N Ớ 2.1. Tổ chức cấu trúc chỉ mục trong cơ sở dữ liệu trên bộ nhớ

Các cấu trúc chỉ mục thiết kế cho bộ nhớ chính là khác so với những thiết kế cho các hệ thống dựa trên ổ đĩa. Mục tiêu chính cho một cấu trúc chỉ mục hƣớng ổ đĩa là tối thiểu hóa số truy cập ổ đĩa và tối thiểu hóa không gian ổ đĩa. Một cấu trúc chỉ mục hƣớng bộ nhớ chính đƣợc chứa trong bộ nhớ chính, do đó không có các truy cập ổ đĩa để tối thiểu hóa. Vì thế mục tiêu chính của một cấu trúc chỉ mục bộ nhớ chính là giảm tổng thể thời gian tính toán trong khi sử dụng bộ nhớ ít nhất có thể.

Có nhiều cấu trúc dữ liệu có sẵn để xem xét nhƣ các cấu trúc chỉ mục bộ nhớ chính. Có hai loại chính: Những cấu trúc mà bảo toàn sắp xếp dữ liệu và những cấu trúc mà ngẫu nhiên dữ liệu. Những cấu trúc chỉ mục đƣợc giới thiệu ở đây là: Array, AVL Tree, B Tree, Chained Bucket Hashing, Linear Hashing và Extendible Hashing. Trong phần này mô tả ngắn gọn lần lƣợt từng cấu trúc một và giới thiệu chi tiết cấu trúc T Tree. T Tree là một cấu trúc bảo toàn thứ tự cây đƣợc thiết kế đặc biệt cho việc sử dụng trong bộ nhớ chính.

Array đƣợc sử dụng nhƣ các cấu trúc chỉ mục trong dự án OBE của IBM. Chúng sử dụng không gian tối thiểu, miễn là kích thƣớc đƣợc biết trƣớc hoặc sự phát triển đó không phải là vấn đề. Hạn chế lớn nhất của mảng là sự dịch chuyển dữ liệu là O(N) cho mỗi cập nhập, vì vậy nó dƣờng nhƣ không thực tế tí nào ngoại trừ là một môi trƣờng chỉ đọc.

AVL Tree đƣợc sử dụng nhƣ là các chỉ mục trong AT&T Bell Laboratories Silicon Database Machine. AVL Tree đƣợc thiết kế nhƣ một cấu trúc dữ liệu bộ nhớ chính (Hình 2.1). Nó sử dụng một tìm kiếm cây nhị phân, nó rất nhanh bởi vì tìm kiếm nhị phân là bản chất của cấu trúc cây - các phép toán số học là không cần thiết. Các cập nhật luôn ảnh hƣởng tới một nút lá và có thể dẫn đến cây không cân bằng, vì vậy cây đƣợc giữ cân bằng bởi các phép quay. AVL Tree có một bất lợi chính đó là việc tận dụng không gian lƣu trữ kém. Mỗi nút cây chứa duy nhất một phần tử dữ liệu, vì vậy có hai con trỏ và một số thông tin

kiểm soát cho mỗi phần tử dữ liệu.

B Tree đƣợc thích hợp tốt với ổ đĩa sử dụng bởi vì chúng là các cây rộng, nông và chỉ đòi hỏi truy xuất một số nút để lấy một giá trị (Hình 2.5). Hầu hết các hệ thống CSDL sử dụng một phiên bản của B Tree, B+Tree giữ tất cả dữ liệu thực sự trong các lá của cây. Tuy nhiên, đối với bộ nhớ chính thì B Tree là thích hợp hơn B+Tree bởi vì không có ƣu điểm hiệu suất thực để giữ tất cả dữ liệu trong các lá và làm nhƣ vậy đòi hỏi nhiều không gian hơn. B Tree tốt cho việc sử dụng bộ nhớ bởi vì việc tận dụng không gian lƣu trữ của chúng là tốt (tỉ lệ con trỏ trỏ tới dữ liệu là nhỏ, vì các nút lá giữ duy nhất các phần tử dữ liệu và chúng bao gồm một tỉ lệ phần trăm lớn của cây); tìm kiếm là khá nhanh (một số ít các nút đƣợc tìm với một tìm kiếm nhị phân); và cập nhật là nhanh (sự dịch chuyển dữ liệu liên quan đến chỉ một nút).

Chained Buket Hashing là một cấu trúc tĩnh sử dụng trong cả bộ nhớ và ổ đĩa. Nó rất nhanh bởi vì nó là một cấu trúc tĩnh - nó không bao giờ phải tổ chức lại dữ liệu. Nhƣng chất lƣợng tĩnh này cũng mang đến một bất lợi; vì là tĩnh nên nó có thể hành xử rất kém trong một môi trƣờng động do kích thƣớc của bảng băm phải đƣợc biết trƣớc hoặc đoán đƣợc trƣớc khi bảng đƣợc điền. Nếu ƣớc lƣợng kích thƣớc quá ít thì hiệu suất có thể thấp; nếu kích thƣớc quá lớn thì nhiều không gian bị lãng phí. Tốt nhất, có một số không gian lãng phí vì rằng mỗi phần tử dữ liệu có một con trỏ liên quan với nó.

Extendible Hashing sử dụng một bảng băm động lớn lên cùng dữ liệu, vì vậy kích thƣớc bảng băm không cần biết trƣớc (Hình 2.2). Một nút băm chứa vài phần tử và phân chia vào hai nút khi hiện tƣợng tràn xuất hiện. Thƣ mục phát triển với lũy thừa của hai, gấp đôi bất cứ khi nào một nút tràn và đã đạt đƣợc chiều sâu tối đa cho một kích thƣớc thƣ mục riêng biệt. Một vấn đề với Extendible Hashing là bất kỳ nút nào đó có thể gây ra thƣ mục để phân chia, vì vậy thƣ mục có thể phát triển rất rộng nếu hàm băm không ngẫu nhiên đầy đủ.

Linear Hashing cũng sử dụng một bảng băm động nhƣng nó khác hoàn toàn với Extendible Hashing (Hình 2.2). Một bảng băm tuyến tính phát triển tuyến tính vì nó phân chia các nút trong thứ tự tuyến tính xác định trƣớc - trái ngƣợc với Extendible Hashing mà phân chia các nút khi bị tràn. Quyết định phân chia một nút và mở rộng thƣ mục trong một cách đƣợc kiểm soát có thể dựa trên tiêu chí khác so với các nút tràn, miễn là vài lợi ích qua sự phân chia không đƣợc kiểm soát của Extendible Hashing. Thứ nhất, các vùng chứa có thể đƣợc sắp đặt tuần tự, cho phép địa chỉ vùng chứa đƣợc tính toán từ địa chi cơ sở - thƣ mục là không cần thiết. Thứ hai, trƣờng hợp mà kích hoạt một nút phải phân chia có thể dựa trên việc tận dụng không gian lƣu trữ, chi phí không gian lƣu trữ không đổi đối với một số phần tử cho trƣớc.

Hình 2. 2. Hàm băm dựa trên các chỉ mục

Modified Linear Hashing đƣợc định hƣớng hơn theo hƣớng bộ nhớ chính so với các phiên bản thông thƣờng đƣợc đề cập ở trên (Hình 2.2). Việc sử dụng các nút kề nhau thay vì một thƣ mục, Linear Hashing thƣờng có thể lãng phí không gian với các nút rỗng khi một nút tƣơng ứng với một mục băm không có các phần tử dữ liệu. Cũng vậy, trừ khi một giản đồ thông minh có thể đƣợc thực hiện với cơ chế ánh xạ bộ nhớ ảo, các nút tiếp giáp phải đƣợc sao chép vào trong một khối nhớ lớn hơn khi bảng băm phát triển. Modified Linear Hashing sử dụng một thƣ mục giống nhƣ

Extendible Hashing, ngoại trừ nó phát triển tuyến tính, và nó sử dụng chuỗi các nút đơn mục mà đƣợc cấp phát từ vùng nhớ chung. (Không nhƣ Chained Bucket Hashing, có nhiều phần tử đặc trững trên giá trị băm, vì vậy các nút nhiều phần tử có thể đƣợc sử dụng ở đây để tăng việc sử dụng bộ nhớ). Tiêu chí phân chia đƣợc dựa trên hiệu suất, ví dụ: độ dài trung bình của chuỗi băm thay vì việc sử dụng bộ nhớ. Theo dõi độ dài chuỗi băm trung bình cung cấp thêm kiểm soát trực tiếp quá tìm kiếm trung bình và cập nhật thời gian so với theo dõi việc sử dụng bộ nhớ.

2.2. Kỹ thuật truy cập trên T- Tree

T- Tree đƣợc phát triển từ AVL Tree và B- Tree. T- Tree là một cây nhị phân với nhiều phần tử trong một nút. Hình 2.3 cho thấy một T- Tree và một nút của T- Tree đƣợc gọi là một T- Node. Vì T- Tree là một cây nhị phân nên nó vẫn giữ đƣợc bản chất tìm kiếm nhị phân tự nhiên của AVL- Tree. Ngoài ra, vì một T- Node chứa nhiều phần tử nên T- Tree có cập nhật tốt và đặc trững lƣu trữ của B- Tree. Sự di chuyển dữ liệu đƣợc yêu cầu cho việc chèn và xóa nhƣng nó thƣờng cần duy nhất với một nút đơn. Việc tái cân bằng đƣợc thực hiện sử dụng sự luân chuyển tƣơng tự với AVL- Tree nhƣng nó thực hiện thƣờng ít hơn so với AVL- Tree do khả năng di chuyển dữ liệu trong nút nội bộ.

Hình 2. 3. T- Tree

Có ba kiểu T Node khác nhau. Một T- Node mà có hai cây con đƣợc gọi là một nút nội bộ. Một T -Node mà có một con trỏ con rỗng và một con trỏ con không rỗng đƣợc gọi là nút nửa lá. Một T- Node mà có hai con trỏ con rỗng đƣợc gọi là một nút lá. Đối với mỗi nút nội bộ A có một lá tƣớng ứng (hoặc nửa lá) mà chứa giá trị dữ liệu đó là phần tử trƣớc với giá trị nhỏ nhất trong A và cũng có một lá (hoặc nửa lá) mà chứa phần tử tiếp sau với giá trị lớn nhất trong A. Giá trị phần tử trƣớc đƣợc gọi là cận Dƣới lớn nhất của nút nội bộ A và phần tử tiếp sau đƣợc gọi là cận trên nhỏ nhất của A, nhƣ trong Hình 2.4. Đối với một nút N và một giá trị X, nếu X nằm giữa phần tử nhỏ nhất của N và phần tử lớn nhất của N, khi đó gọi là N bao giá trị X. Từ khi dữ liệu trong một T Node đƣợc giữ trong thứ tự đƣợc sắp xếp, phần tử ngoài cùng bên trái của nó là phần tử nhỏ nhất trong nút và phần tử ngoài cùng bên phải là lớn nhất.

Hình 2. 4. Giá trị giới hạn của Nút A

Kết hợp với một T Tree là một đếm cực tiểu và một đếm cực đại. Các nút nội bộ giữ sự chiễm chỗ của chúng (ví dụ: số các phần tử dữ liệu trong một nút) trong vùng này. Các đếm cực tiểu và cực đại sẽ thƣờng khác nhau bởi chỉ một số lƣợng nhỏ, trên thứ tự của một hoặc hai phần tử mà các điểm rẽ ra để đủ với việc giảm đáng kể sự cần thiết đối với các phép quay cây. Với một kết hợp của việc chèn và xóa, các bit nhỏ của chỗ thêm này giảm số lƣợng dữ liệu truyền xuống các lá do chèn bị tràn và nó cũng giảm số lƣợng dữ liệu lấy từ lá do xóa bị tràn Dƣới. Do đó phải linh hoạt trong sự chiếm chỗ của các nút nội bộ cho

Một phần của tài liệu (LUẬN văn THẠC sĩ) một số kỹ thuật truy cập trong cơ sở dữ liệu trên bộ nhớ (Trang 27)