Wirtualny pośrednik

Firma OpenLink oferuje Virtuoso - motor wirtualnej bazy danych. Produkt stanowi połączenie serwera bazy danych i oprogramowania typu middleware.

Firma OpenLink oferuje Virtuoso - motor wirtualnej bazy danych. Produkt stanowi połączenie serwera bazy danych i oprogramowania typu middleware.

Duże organizacje posługują się zazwyczaj kilkoma systemami zarządzania bazami danych, poczynając od baz danych dla PC - FoxPro, Access czy Paradox, a kończąc na produktach największych dostawców: Oracle'a, Informixa, Sybase'a. Próba połączenia ich w całość to domena oprogramowania zwanego middleware. Jednak dostęp do danych w niejednorodnym środowisku, a zarządzanie danymi to dwa różne zagadnienia.

Właściwości funkcjonalne większości aplikacji są ściśle powiązane z właściwościami baz danych tzw. zaplecza. Domyślnie przyjmuje się, że bazy spełniają wymogi standardu SQL-92, choć w praktyce okazuje się, że producenci baz danych wspierają SQL-92 na różnym poziomie. Z uwagi na to, że bazę danych i sprzęt, na którym będzie działać, wybiera się dopiero w ostatnim etapie projektowania systemu, programista ma spore kłopoty z tworzeniem aplikacji, jeśli nie chce lub nie może kontentować się "minimalnym wspólnym mianownikiem" standardu SQL-92.

Wirtuoz baz danych

Firma OpenLink wprowadziła na rynek produkt Virtuoso, będący połączeniem pakietu middleware i serwera bazy danych, oferowanego jako motor wirtualnej bazy danych (VDMS).

OpenLink jest znany przede wszystkim jako dostawca sterowników ODBC i JDBC do baz danych prawie wszystkich dostawców tych produktów. Wykorzystując wiedzę w tej dziedzinie, firma dołączyła do menedżera sterowników motor małej relacyjnej bazy danych SQL-92, odpowiadającej temu standardowi na wysokim poziomie zgodności.

Oryginalna aplikacja sięgająca do danych w bazie wysyła do niej wywołanie ODBC, URL zgodny z JDBC lub wywołuje sesję OLE DB. Virtuoso przetwarza każde z tych wywołań na jednolity format ODBC lub UDBC (Universal Database Connectivity) i przesyła do bazy współpracującej z systemem.

Dostęp dynamiczny czy statyczny

Dynamiczny dostęp do aktualnych danych zawsze był celem użytkowników, natomiast nie był zbyt często realizowany przez administratora bazy. Z powodu konieczności zapewnienia integralności transakcji przez blokowanie rekordów bazy w czasie zapisu danych, akceptowano pewne opóźnienie między zapisem danych do bazy a ich dostępnością do odczytu. Często stroi się bazę (np. dzięki możliwościom optymistycznego lub pesymistycznego blokowania rekordów) tak, aby zapewnić odpowiednią wydajność aplikacji transakcyjnych, nie biorąc pod uwagę wymagań użytkowników. Ten aspekt dostępu do danych spowodował dynamiczny rozwój hurtowni danych, które jednak zapewniają dostęp do danych raczej statycznych, np. za ostatni tydzień lub dzień.

Tymczasem wymagania użytkowników rosną. Sprzedawca posługujący się Internetem musi mieć aktualny katalog z dokładnością do godziny. Firma zaś oferująca płatny dostęp do notowań giełdowych lub kursów walutowych nie może sobie pozwolić na opóźnienia przekraczające sekundę. Istnieje więc coraz większe zapotrzebowanie na rozwiązania dostarczające prosto i szybko dynamiczną zawartość baz danych.

Niepotrzebny schemat bazy

OpenLink uprościł problem dostępu do danych, oferując wirtualną bazę zamiast pakietu middleware, łączącego dane z wielu baz. Wbudowany w Virtuoso motor bazy danych ma taki sam analizator składniowy i optymalizator jak typowe relacyjne bazy danych. Jednak zamiast opracowywać zapytania SQL, tworzy optymalizowane wywołania ODBC lub UDBC do konkretnych produktów, zarządzających w tle danymi.

Programista nie musi zajmować się szczegółowym schematem poszczególnych baz, obsługiwanych przez Virtuoso. Wystarczy, że określi, jakie dane są potrzebne. Wysoko optymalizowane wywołania bazy tworzone przez Virtuoso dostarczą te dane szybciej niż rodzime sterowniki do bazy (tak twierdzi OpenLink).

Podobnie jak inne relacyjne bazy danych, Virtuoso zapewnia skrolowalne kursory (struktury do czasowego zapamiętywania wyników zapytania do bazy), korzysta z możliwości sprzętu równoległego, optymalizuje operacje łączenia tabel, wykonuje operacje dwufazowego potwierdzania (lub wycofywania) transakcji oraz ma wbudowany język do tworzenia składowanych procedur.

Produkt jest przeznaczony przede wszystkim do tworzenia nowych aplikacji internetowych, korzystających z danych zapisanych w wielu formatach i pod różnymi systemami zarządzania bazami danych.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200