Artykuł koncentruje się na strukturze metabazy (metamodelu) wykorzystywanej przez optymalizator zapytań bazujący na modelu kosztów projektowany dla obiektowych baz danych opartych o koncepcję SBA (Stack-Based Approach - podejście stosowe). We wprowadzeniu w skrócie omówione zostają podstawowe założenia SBA i języka SBQL (Stack-Based Query Language) oraz podstawy wspomnianego optymalizatora. Główna część artykułu dotyczy aspektów implementacyjnych metabazy, stanowiącej źródło informacji wykorzystywanych podczas optymalizacji przez model kosztów.
EN
The article is focused on the structure of the metabase (metamodel) employed by the dynamic query optimizer based on a cost model used in object databases basing on the SBA (Stack-Based Approach) concept. The introduction covers the fundamentals of SBA and SBQL (Stack-Based Query Language) and the basic of the optimizer. The main part of the paper covers the implementation aspects of the metabase being the source of information utilized by the cost model during the optimization process.
2
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Artykuł zawiera opis zaprojektowanego przez autorów w pełni przezroczystego systemu indeksowania dla obiektowej bazy danych opartej na stosowej architekturze (SBA, Stack-Based Architecture). Bazując na solidnym fundamencie SBA autorzy zaproponowali rozwiązania unikalne na polu indeksowania w rozproszonych obiektowych bazach danych. U podstaw zaimplementowanego systemu indeksowania leży moduł zarządzania indeksami oparty na autorskim mechanizmie automatycznych wyzwalaczy aktualizacji indeksów, który jest odpowiedzialny za utrzymanie zbieżności indeksów z danymi. Elastyczność opracowanego rozwiązania umożliwia m.in. optymalizacje przetwarzania predykatów selekcji opartych o dowolne deterministyczne wyrażenia kluczowe.
EN
The paper describes fully transparent indexing system for an object-oriented database based on SBA (Stack-Based Architecture). Relying on solid fundament (i.e. SBA) authors designed unique solutions in the area of indexing in distributed object databases. The engine of indexing is an indices management module based on automatic index update triggers responsible for maintaining the cohesion between indices and data. The flexibility of the designed solution enables optimisation of processing of selection predicates built using arbitrary deterministic expressions.
W artykule opisujemy uogólnione podejście do problemu automatycznej aktualizacji indeksów w reakcji na zmiany odpowiadających im danych. W celu umożliwienia tworzenia i przezroczystej konserwacji indeksów wspierających klucze oparte na dowolnych, deterministycznych i wolnych od efektów ubocznych wyrażeniach autorzy zaproponowali zastosowanie specjalnego rodzaju procedur wyzwalanych. Języki zapytań dla obiektowych modeli (klasy, dziedziczenie, polimorfizm, metody, itp.) pozwalają na łatwe definiowanie bardziej złożonych warunków selekcji. W celu zapewnienia pełnej przezroczystości indeksowania, mechanizmy aktualizacji indeksów wymagają znaczącej rewizji. Niewystarczająca kontrola poprawności indeksów może prowadzić do poważnych błędów podczas przetwarzania zapytań. Praca autorów jest oparta na architekturze stosowej SBA (Stack-Based Architecture) i została zaimplementowana w prototypowej obiektowej bazie danych ODRA (Object Database for Rapid Developmeni).
EN
We describe a generalized approach to the problem of the automatic index updating in response to modification of corresponding data. To enable creation and transparent maintenance of indices supporting keys defined using arbitrary, deterministic and side effects free expressions the authors propose applying a special kind of database triggers. Query language for object-oriented model (classes, inheritance, polymorphism, class methods, etc.) allows easy defining of more complex selection predicates; nevertheless, in order to provide full indexing transparency, index updating requires substantial revising. Inadequate index maintenance can lead to serious errors in query processing. The authors work is based on the Stack-Based Architecture (SBA) and has been implemented in the ODRA (Object Database for Rapid Applications Development) OODBMS prototype.
Artykuł prezentuje wyniki badań dotyczących implementacji otwartej platformy transportowej przeznaczonej do realizacji sieci grid utworzonej z obiektowych baz danych. Opisana implementacja jest oparta na wcześniej publikowanych założeniach. Prezentowanie zagadnienia obejmują: scentralizowaną architekturę sieci, w której działa platforma transportowa, wykorzystanie technologii JXTA do budowy wirtualnej sieci, podstawy budowy protokołu komunikacyjnego wraz z przykładem jego rozbudowy oraz zastosowanie platformy do integracji z zewnętrzną aplikacją użytkownika. Wszystkie opisane cechy działają w zrealizowanym prototypie.
EN
The paper presents the results of investigations concerning an open transport platform that can be used to build grid applications based on object-oriented databases. The described research has been focused on implementation of previously published project assumptions. The presented cases comprise: centralized architecture of a network for a transport platform, utilization of the JXTA technology for building a virtual network, foundations of a communication protocol for the network and an example of its application. An example of a transport platform integrated with an external user application is presented. All the described features are operating within the prototype.
W artykule przedstawiono pierwszy etap realizacji koncepcji DataGrid przy wykorzystaniu otwartej platformy transportowej opartej o sieć "każdy z każdym". Opisano część implementacyjną dotyczącą integracji obiektowych baz danych z istniejącym prototypem platformy transportowej. Prototypowe rozwiązanie daje możliwość realizacji sieci grid integrującej rozproszone obiektowe bazy danych.
EN
The paper presents the first stage of accomplishing a DataGrid concept by utilizing an open transport platform based on the peer--to-peer architecture. Implementation details concerning integration of object-oriented databases with the prototype of a transport platform are described. The prototype solution enables one to accomplish a grid network integrating distributed object-oriented data-bases.
The paper presents the concepts related to the design of query optimization methods for nested queries. The proposed methods are dedicated for queries having so called weakly dependent subqueries. A subquery is weakly dependent from its direct operator if it depends only on expressions typed by enumerations. We have successfully developed the weakly dependent subqueries method in the context of object-oriented database management systems based on Stack-Based Approach. Systems storing XML data which are queried using XQuery can be considered simplified object-oriented databases. For this reason we try to adopt SBQL query optimization methods to XQuery expressions.
7
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Recursive queries arę reąuired for many tasks of database applications. Among them we can mention Bill-Of-Material (BOM), various kinds of networks (transportation, telecommunication, etc.), processing semi-structured data (XML, RDF), and so on. The support for recursive queries in current query languages is limited and lacks of theoretical foundations. In particular, this concerns corresponding extensions of SQL in Oracle and DB2 systems. In this report we present recursive query processing capabilities for the object-oriented Stack-Based Query Language (SBQL) and compare them with similar capabilities in yariants of SQL. SBQL offers very powerful and flexible recursive querying capabilities due to the fact that recursive processing operators arę fully orthogonal to other features of this language. This report specifies corresponding SBQL constructs, such as transitive closures and fixed point equations. We compare them to other query languages, in particular to Datalog. We also present briefly optimization possibilities for recursive queries.
PL
Rekurencyjne zapytania są wymagane dla wielu zadań występujących w rzeczywistych aplikacjach baz danych. Wśród nich możemy wymienić rachunek materiałów (BOM), różne typy sieci (transportowa, telekomunikacyjna, itp.), przetwarzanie danych półstrukturalnych (XML, RDF) itd. Wspomaganie dla rekurencyjnych zapytań w obecnych językach zapytań jest ograniczone i pozbawione podstaw teoretycznych. W szczególności, dotyczy to odpowiednich rozszerzeń SQL w systemach Oracle i DB2. W raporcie przedstawiamy możliwości w zakresie rekurencyjnych zapytań w języku zorientowanym obiektowo Stack-Based Query Language (SBQL) i porównujemy je do podobnych możliwości w wariantach SQL. SBQL oferuje bardzo mocne i elastyczne możliwości w zakresie rekurencyjnych zapytań dzięki temu, że operatory służące do przetwarzania rekurencyjnego są całkowicie ortogonalne w stosunku do innych cech języka. Raport specyfikuje odpowiednie konstrukcje SBQL, takie jak tranzytywne domknięcia oraz równania stałopunktowe. Porównujemy je do innych języków zapytań, w szczególności do Datalogu. Na zakończenie prezentujemy krótko możliwości optymalizacji zapytań rekurencyjnych.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.