Tối ưu hóa truy vấn cơ sở dữ liệu hướng đối tượng

4 645 3
Tối ưu hóa truy vấn cơ sở dữ liệu hướng đối tượng

Đang tải... (xem toàn văn)

Thông tin tài liệu

1 Tối ưu hóa truy vấn cơ sở dữ liệu hướng đối tượng Query Optimization in Object-Oriented Database NXB H. : ĐHCN, 2014 Số trang 70 tr. + Phạm Thị Chanh Đại học Công nghệ Luận văn ThS ngành: Hệ thống thông tin; Mã số: 60 48 01 04 Người hướng dẫn: PGS.TS Đoàn Văn Ban Năm bảo vệ: 2014 Keywords: Thuật toán tối ưu hóa; Cơ sở dữ liệu hướng đối tượng; Phương pháp hướng đối tượng Content Chúng ta đang sống trong một thời đại mới, thời đại của Công nghệ thông tin (CNTT). Công nghệ thông tin ngày một phát triển và trở thành một nhu cầu không thể thiếu trong mọi lĩnh vực của đời sống xã hội. CNTT là ngành quản lý công nghệ và mở ra nhiều lĩnh vực khác nhau như phần mềm máy tính, phần cứng máy tính, ngôn ngữ lập trình, ….Và cơ sở dữ liệu cũng là một lĩnh vực quan trọng của Công nghệ thông tin. Từ khi ra đời cho đến nay, những nghiên cứu về Cơ sở dữ liệu (CSDL) đã không ngừng phát triển và ngày càng trở nên cần thiết trong các ứng dụng về CNTT. CSDL đã trở thành một bộ phận chủ yếu không thể thiếu trong hầu hết các hệ thống thông tin. Hiện nay, các hệ thống thông tin hay các CSDL đều chủ yếu sử dụng một kiểu CSDL truyền thống đó là CSDL quan hệ, một trong những CSDL đã được phát triển và ứng dụng rộng rãi. Tuy nhiên với sự phát triển nhanh chóng của CNTT, CSDL quan hệ đã dần bộc lộ những yếu điểm và nhiều hạn chế, đặc biệt là trong việc xây dựng các ứng dụng cơ dữ liệu phức tạp, dữ liệu đa chiều, dữ liệu có nhiều mối quan hệ, hay các dữ liệu đa phương tiện như: hình ảnh, âm thanh, video,… Ngày nay, phương pháp hướng đối tượng được sử dụng rất phổ biến trong lĩnh vực phát triển phần mềm, vì cho phép lập trình viên tạo ra các đối tượng trong code trừu tượng hóa các đối tượng thực tế trong cuộc sống. Trong thế giới thực, đối tượng là thực thể tồn tại như con người, xe, máy tính,…Trong ngôn ngữ lập trình, đối tượng có thể là màn hình, điều khiển,…Kỹ thuật hướng đối tượng là kỹ thuật nhằm vào sự tương tác giữa các đối tượng. Mỗi đối tượng có những thuộc tính (thông tin lưu trữ), những phương thức xác định các chức năng của đối tượng và các đối tượng chỉ được tạo ra và tồn tại trên bộ nhớ chính, còn việc lưu trữ và tương tác dữ liệu dưới dạng các đối tượng trên bộ nhớ thứ cấp vẫn chủ yếu kế thừa từ mô hình quan hệ truyền thống. Hiện đã có rất nhiều kết quả nghiên cứu, cho phép chuyển đổi qua lại giữa các bảng trong mô hình quan hệ sang tập các đối tượng tương ứng. Mặc dù kế thừa được tính năng mạnh của hướng đối tượng, nhưng việc chuyển đổi qua lại này càng làm cho mã lệnh của chương trình phức tạp thêm, đồng thời hiệu suất chương trình cũng giảm đi rõ rệt. CSDL hướng đối tượng là giải pháp cho những hạn chế của CSDL quan hệ. Trong CSDL hướng đối tượng, dữ liệu được lưu trữ dưới dạng các đối tượng của ngôn ngữ lập trình nên cho phép lưu trữ được các dạng dữ liệu phức tạp, lượng thông tin lớn, đa chiều, đa quan hệ, hay có 2 thể mở rộng lưu trữ các dữ liệu đa phương tiện như hình ảnh, âm thanh, video. Trên thế giới, một số hệ quản trị cơ sở dữ liệu hướng đối tượng được phát triển bởi các nhà phân phối sản phẩm thương mại, tại các phòng nghiên cứu công nghệ và các Viện Đại học như: Gemstone, ObjectStores, IRIS, Orion, Extra, Oracle, Db4o,… Một mô hình dữ liệu đối tượng chuẩn ODMG đã được phát triển và dựa vào đó để thiết lập một số khái niệm cơ sở được gọi là mô hình hạt nhân cho mô hình CSDL hướng đối tượng. Mô hình hạt nhân đủ mạnh để thỏa mãn nhiều đòi hỏi của các ứng dụng mới, hơn nữa còn được dùng làm cơ sở để xác định những khác biệt chính giữa mô hình dữ liệu hướng đối tượng và các mô hình dữ liệu truyền thống khác. Hệ thống hướng đối tượng là tập các lớp đối tượng có mối quan hệ với nhau, trao đổi thông tin với nhau để thực hiện những nhiệm vụ đặt ra của bài toán ứng dụng trong thực tế. Một trong những hướng nghiên cứu quan trọng được đề cập trong các hệ thống CSDL hướng đối tượng là tối ưu hoá truy vấn hướng đối tượng. Với một câu truy vấn, sẽ tồn tại nhiều phương án mà hệ thống CSDL cho phép xử lý và đưa ra kết quả cuối cùng tương đương nhau, việc tối ưu hóa câu truy vấn sẽ cho chúng ta lựa chọn phương án nào có tổng thời gian thực hiện truy vấn hiệu quả hơn, tức là chọn phương án có chi phí ước lượng nhỏ nhất. Hiện nay, các nhà nghiên cứu đã đề xuất rất nhiều kỹ thuật tối ưu hoá truy vấn hướng đối tượng khả thi và đáp ứng được các yêu cầu này như: Scott Lee Vanderberg (1993), J. Fong (1997), C. Ramanathan and J. Hodges (1997), Clement Yu, Yi Zhang, Weiyi Meng, Wom Kim, Gaoming Wang, Tracy Pham and Son Daop (1997): Giới thiệu giải thuật chuyển đổi các truy vấn hướng đối tượng sang truy vấn quan hệ để tận dụng các kỹ thuật tối ưu hoá truy vấn đã có trên mô hình quan hệ; Jia Liang Han (1998): “Optimizing Relational Queries in Connection Hypergraph: Nested Queries, Views, and Binding Propagations”; Ullman and Jeffrey D. (1999), Lê Mạnh Thạnh và Hoàng Bảo Hùng (2009): Phương pháp tối ưu hóa truy vấn đối tượng bằng các phép biến đổi biểu thức đại số đối tượng OQL; Lê Mạnh Thạnh, Đoàn Văn Ban và Hoàng Bảo Hùng (2005): Phương pháp dùng ký pháp siêu đồ thị để biểu diễn và tối ưu hoá các truy vấn trong CSDL hướng đối tượng. Tuy nhiên đối với các truy vấn lồng, khi phân tích ước lượng chi phí của biểu thức đại số lồng thì việc định giá sẽ cho chi phí chưa đạt hiệu quả như mong muốn. Vì vậy, luận văn tập trung nghiên cứu việc làm phẳng các truy vấn con trong truy vấn lồng nhờ phương pháp dùng ký pháp siêu đồ thị để biểu diễn và tối ưu hoá các truy vấn trong CSDL hướng đối tượng. Từ đó, xây dựng thuật toán ước lượng chi phí xử lý truy vấn đối tượng trên cơ sở ước lượng các siêu cạnh trong siêu đồ thị để đạt được mức chi phí nhỏ hơn cho mỗi truy vấn. Chính vì lý do trên mà tôi chọn đề tài “TỐI ƢU HOÁ TRUY VẤN CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG” làm luận văn tốt nghiệp. Mục tiêu của luận văn là nghiên cứu các mô hình CSDL hướng đối tượng để giải bài toán tối ưu hóa truy vấn đối tượng. Đây là vấn đề luôn được các nhà khoa học quan tâm nghiên cứu. Trong khuôn khổ của luận văn, tôi tập trung nghiên cứu vào phương pháp tối ưu hóa truy vấn mà hay được sử dụng nhất đặc biệt là đối với các truy vấn lồng đó là sử dụng phương pháp siêu đồ thị. Nghiên cứu các đặc trưng trong mô hình dữ liệu hướng đối tượng; Tìm hiểu các kỹ thuật xử lý truy vấn, sự biểu diễn câu truy vấn bằng ngôn ngữ truy vấn đối tượng OQL; Giới thiệu ký pháp siêu đồ thị [10] trong biểu diễn truy vấn. Từ đó, sử dụng phương pháp này để tối ưu hóa truy vấn cho lớp các truy vấn lồng trong CSDL hướng đối tượng [3]. Với mục tiêu của luận văn như vậy, bố cục của luận văn gồm: phần mở đầu, ba chương nội dung và phần kết luận. Chƣơng 1: Giới thiệu các khái niệm, định nghĩa cơ bản như: lớp, đối tượng, định danh đối tượng trong mô hình CSDL hướng đối tượng; kế đến, trình bày sự mở rộng ngữ nghĩa của mô hình như hệ thống phân cấp và quan hệ kế thừa. Tìm hiểu kỹ thuật xử lý truy vấn và các thay đổi so với kỹ thuật xử lý truy vấn quan hệ. Để thực hiện được các câu truy vấn đối tượng một cách hiệu quả và tiếp tục nghiên cứu các vấn đề về tối ưu hoá truy vấn trong các CSDL hướng đối tượng, ngôn ngữ truy vấn OQL là ngôn ngữ truy vấn được chọn giới thiệu trong chương này. Chƣơng 2: Trình bày khái niệm siêu đồ thị kết nối đối tượng. Sau đó sử dụng ký pháp siêu đồ thị để biểu diễn truy vấn OQL. Xây dựng giải thuật khởi tạo siêu đồ thị trong các trường hợp 3 truy vấn đối tượng đơn và lồng. Đưa ra giải thuật ước lượng siêu cạnh cho các trường hợp tách biệt hay liên thông của các siêu đồ thị con hợp thành siêu đồ thị mà biểu diễn cho một truy vấn đối tượng lồng. Cuối chương, là mở rộng thuật toán tối ưu hóa truy vấn trên cơ sở xây dựng danh sách các bước thực thi câu truy vấn theo quy tắc có thứ tự loại bỏ siêu cạnh. Chƣơng 3: Giới thiệu về hệ quản trị CSDL đối tượng DB4O. Phát biểu bài toán quản lý nhân sự trong công ty, đó là bài toán được áp dụng trong các ví dụ cho thuật toán tối ưu hóa truy vấn. Đưa ra kết quả thực nghiệm cho bài toán tối ưu hóa truy vấn CSDL hướng đối tượng dựa trên siêu đồ thị. Cuối cùng là kết luận và hướng phát triển của đề tài. Nội dung cơ bản của luận văn đã được trình bày, thảo luận tại xêmina khoa học ở Bộ môn Hệ thống thông tin, khoa Công nghệ Thông tin, trường Đại học Công nghệ - Đại học Quốc gia Hà nội. References Tài liệu tiếng Việt [1] Đoàn Văn Ban (1999), “Một số tính chất của quá trình thừa kế kiểu trong mô hình cơ sở dữ liệu hướng đối tượng”, Tạp chí Tin học và điều khiển học, 15(3), tr.1-7. [2] Đoàn Văn Ban (2000), Tính đúng đắn của lược đồ cơ sở dữ liệu hướng đối tượng, Tạp chí Tin học và Điều khiển học, 16 (3), tr. 7– 15. [3] Lê Mạnh Thạnh, Hoàng Bảo Hùng (2010), “ Siêu đồ thị kết nối đối tượng – một cách tiếp cận trong tối ưu hóa câu truy vấn đối tượng lồng nhau”, Tạp chí khoa học, Đại học Huế, số 58. [4] Đoàn Văn Ban, Lê Mạnh Thạnh và Hoàng Bảo Hùng (2004), “Sự tương đương trong biểu diễn giữa ngôn ngữ truy vấn OQL và đại số đối tượng”, Tạp chí Tin học và Điều khiển học, T.20. S.3, tr. 257–269. [5] Lê Mạnh Thạnh, Hoàng Bảo Hùng (2009) “Phương pháp tối ưu hóa truy vấn đối tượng bằng các phép biến đổi biểu thức đại số đối tượng OQL”, Tạp chí khoa học, Đại học Huế, số 53. [6] Hoàng Bảo Hùng (2007), Truy vấn và tối ưu hoá truy vấn trong cơ sở dữ liệu hướng đối tượng, Luận án Tiến sĩ Toán học, Viện Công nghệ Thông tin, Viện Khoa học và Công nghệ Việt Nam, Hà Nội. [7] Hoàng Bảo Hùng (2001), Một vài vấn đề về tối ưu hoá truy vấn trong cơ sở dữ liệu hướng đối tượng, Luận văn tốt nghiệp Thạc Sĩ chuyên ngành Công nghệ thông tin, Đại học Bách khoa Hà Nội. [8] Lê Mạnh Thạnh, Hoàng Bảo Hùng (2006), “Mô hình ước lượng chi phí xử lý truy vấn đối tượng trong cơ sở dữ liệu hướng đối tượng”, Kỷ yếu Hội thảo Quốc gia, lần thứ VIII, Một số vấn đề chọn lọc về CNTT và truyền thông, chủ đề “Mã nguồn mở, 25/8-27/8/2005, Hải Phòng, Nhà xuất bản Khoa học và Kỹ thuật, Hà nội, tr. 568-579. [9] Lê Mạnh Thạnh, Đoàn Văn Ban, Hoàng Bảo Hùng (2005), “Phương pháp ước lượng các truy vấn lồng trong cơ sở dữ liệu hướng đối tượng bằng siêu đồ thị kết nối”, Chuyên san Tạp chí Bưu chính Viễn thông và Công nghệ thông tin, Các công trình nghiên cứu - Triển khai Viễn thông và Công nghệ thông tin, ISSN 0866-7039, 14, tr. 43–49. [10] Lê Mạnh Thạnh, Hoàng Bảo Hùng (2001), “Ngôn ngữ truy vấn hướng đối tượng và tối ưu hoá truy vấn trên cơ sở dữ liệu hướng đối tượng bằng phương pháp biến đổi đại số”, Hội nghị khoa học kỷ niệm 25 năm thành lập Viện Công nghệ thông tin, Hà Nội. [11] Đoàn Văn Ban, Nguyễn Thị Tĩnh, Giáo trình phân tích, thiết kế hệ thống hướngđối tượng bằng UML, Nhà xuất bản Đại học Sư Phạm 2011. 4 [12] Ullman, Jeffrey D. (1999), Nguyên lý các hệ cơ sở dữ liệu và cơ sở tri thức, Tập 1, 2, Trần Đức Quang biên dịch, Nhà xuất bản Thống kê. Tài liệu tiếng Anh [13] Caixue Lin, Object-Oriented Database Systems: A Survey, April 3, 2003, http://users.soe.ucsc.edu/~lcx/courses/cmps277/cmps277-project.pdf [14] Cattel R.G.G., Barry D.K. (2000), The Object Database Standard: ODMG 3.0, Morrgan Kaufmann, San Francisco, CA. [15] Francois Bancilhon, Guy Ferran (2007), ODMG-93: “The Odject Database Standard, O 2 Technology”, 2685 Marine Way - Suite 1220, Mountain View, California 94043. [16] Han, Jia Liang (1998), “Optimizing Relational Queries in Connection Hypergraph: Nested Queries, Views, and Binding Propagations”, The VLDB Journal, 7, pp.1-11. [17] A.Trigoni and G.M.Bierman (2001), “Inferring the Principal Type and the Schema Requirements of and OQL Query”, In 18 th British National Conference on Databases (BNCOD), pages.185-201. [18] Scott Lee Vanderberg (1993), Algebras for Object - Oriented Query Languages, A thesis submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy (Computer Sciences), at the University of Winconsin-Madison. [19] G.M. Bierman and A.Trigoni (2000), “Towards A Formal Type System For ODMG OQL”, Technical Report 497, University of Cambridge, Computer Laboratory. [20] A.Trigoni, Agathoniki (2002), Semantic Optimization of OQL Queries, Technical Report, Number 547, University of Cambridge, Computer Laboratory, USCAM-CL-TR-547, ISSN 1476-2986. [21] Won Kim (1991), Introduction to Object - Oriented Databases, Massachusetts Institute of Technology, 2th Ed. [22] Michael L. Horowitz, An Introduction to Object-Oriented Databases and Database Systems, Carnegie Mellon University, 1991. [23] Gardarin G., J R. Gruser and Z H. Tang (1995), “A Cost Model for Clustered Object- Oriented Databases”, Proceedings of the 21 st VLDB Conference, Switzerland, pp. 323 – 334. [24] Bierman G.M. and Trigoni A. (2000), Towards A Formal Type System For ODMG OQL, Technical Report 497, University of Cambridge, Computer Laboratory. [25] Elmasri Navathe (2007). Fundamentals Database Systems. 5 th Edition, the United States of America. [26] Yu, T.Clement, Meg, Weiyi (1998), “Principles of Databases Query Processing for Advanced Applications”, Morgan Kaufmann Publishers, Inc. San Francisco, California. [27] Cluet, Sophie and Moerkotte, Guido (1995). Nested Queries In Object Bases, In Fifth International Workshop on Database Programming Languages, Italy. [28] Vanderberg, Scott Lee (1993), Algebras for Object - Oriented Query Languages, Ph.D. Dissertation, University of Winconsin-Madison. [29] Jim Paterson, Stefan Edlich, Henrik Horning, and Reidar Horning (2006), “The Definitive Guide to db4o”. . 43–49. [10] Lê Mạnh Thạnh, Hoàng Bảo Hùng (2001), “Ngôn ngữ truy vấn hướng đối tượng và tối ưu hoá truy vấn trên cơ sở dữ liệu hướng đối tượng bằng phương pháp biến đổi đại số”, Hội nghị khoa học. lý truy vấn, sự biểu diễn câu truy vấn bằng ngôn ngữ truy vấn đối tượng OQL; Giới thiệu ký pháp siêu đồ thị [10] trong biểu diễn truy vấn. Từ đó, sử dụng phương pháp này để tối ưu hóa truy vấn. biến đổi biểu thức đại số đối tượng OQL”, Tạp chí khoa học, Đại học Huế, số 53. [6] Hoàng Bảo Hùng (2007), Truy vấn và tối ưu hoá truy vấn trong cơ sở dữ liệu hướng đối tượng, Luận án Tiến sĩ

Ngày đăng: 25/08/2015, 12:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan