Mała, duża baza SQL

Microsoft Data Exchange jest specjalną wersją SQL Server 7.0, przeznaczoną do małych rozwiązań bazodanowych. Programiści mogą ją rozpowszechniać z własnymi aplikacjami.

Microsoft Data Exchange jest specjalną wersją SQL Server 7.0, przeznaczoną do małych rozwiązań bazodanowych. Programiści mogą ją rozpowszechniać z własnymi aplikacjami.

Udostępnione przez Microsoft oprogramowanie Microsoft Data Engine (MSDE) ma być alternatywą dla MS Access i bazy typu Jet. Jednak w odróżnieniu od Jet, MSDE nie jest bazą plikową, lecz kompletnym serwerem bazodanowym. MSDE jest bardziej stabilny i spełnia wymagania stawiane przed "dużym" serwerem bazy danych.

Współpraca z SQL

Microsoft Data Engine jest pełnym motorem bazy danych, w 100% zgodnym z MS SQL 7.0. Wykonuje niemal wszystkie polecenia T-SQL (Transact SQL).

Format baz danych MSDE i SQL 7.0 jest dokładnie taki sam. Gdy zachodzi potrzeba aktualizacji bazy MSDE do pełnego SQL 7.0, nie są wymagane żadne zmiany - należy po prostu plik bazy podłączyć do dużego serwera. Można korzystać z tych samych typów danych (także Unicode), procedur przechowywanych czy wyzwalaczy (triggerów).

W MSDE dostępne są także mechanizmy do tworzenia kopii zapasowej. Można wykorzystywać mechanizmy DTS, służące do transformacji danych między serwerami MSDE.

Jeżeli zachodzi potrzeba zainstalowania Service Pack do MSDE, można wykorzystać taki sam zestaw poprawek, jak w MS SQL 7.0.

Ograniczenia

MSDE wymaga, by baza danych nie była większa niż 2 GB - wraz z plikiem rejestrującym transakcje (log) i danymi przechowywanymi w bazie. Nie jest ograniczona natomiast liczba baz danych, których - tak jak w SQL 7.0 - może być 32 767.

Microsoft zaleca, aby z MSDE, podobnie jak SQL 7.0 Desktop Edition, nie korzystało więcej niż pięciu użytkowników jednocześnie. Nie oznacza to jednak, że po dołączeniu się kilku kolejnych oprogramowanie przestanie działać, lecz obniży się wydajność pracy serwera. Gdy liczba jednoczesnych użytkowników przekroczy 8, warto zastanowić się nad migracją do pełnej wersji SQL 7.0.

MSDE nie zawiera koordynatora rozproszonych transakcji (DTC). Serwer ten nie może brać udziału w rozproszonych transakcjach, a także w replikacji "transakcyjnej". Możliwe są wszystkie pozostałe sposoby replikacji - serwer MSDE może być zarówno subskrybentem replikacji typu push czy pull, jak i brać udział w replikacji typu merge. Jeżeli replikacja ma być dokonywana między pełnym serwerem SQL 7.0 a MSDE, konieczne jest posiadanie licencji typu CAL.

Motor bazy MSDE może wykorzystywać najwyżej dwa procesory pracujące w konfiguracji typu SMP.

MSDE nie zawiera prawie żadnych programów służących do zarządzania. Dostępne jest tylko narzędzie do wysyłania poleceń SQL z konsoli, program do zmiany standardowej strony kodowej, obowiązującej na serwerze, oraz narzędzia BCP do szybkiego kopiowania danych. Można natomiast bez problemu zarządzać serwerami MSDE z poziomu Enterprise Manager w SQL 7.0 Desktop lub Server Edition i kontrolować działanie MSDE z poziomu Access 2000.

Ponieważ MSDE jest rozpowszechniany z własnymi aplikacjami, pakiet nie zawiera pełnego programu instalacyjnego (w wypadku konieczności zmiany np. domyślnej ścieżki, w której ma być instalowany MSDE, wymagana jest ingerencja w specjalne skrypty konfigurujące instalację).

Wymagania i zastosowanie

MSDE, podobnie jak SQL 7.0, wymaga procesora w 100% zgodnego z Intel Pentium. Minimalne wymagania to Pentium 166 z 32 MB RAM. Jeśli zaś na tym samym komputerze ma pracować aplikacja bazodanowa, potrzebne jest co najmniej 64 MB.

MSDE, tak jak SQL 7.0, dynamicznie zarządza pamięcią.

W konfiguracji Pentium II 233 MHz z 128 MB RAM baza danych pracująca pod MSDE działa znacznie szybciej niż analogiczne rozwiązanie oparte na bazie Accessa. Jednak na słabszym sprzęcie - Pentium 200 MHz z 32 MB RAM - aplikacja Accessa pracuje szybciej!

MSDE może działać pod Windows 95/98/NT. Należy jednak podkreślić, że nie wszystkie protokoły sieciowe służące do komunikacji z SQL są dostępne dla Windows 95/98 (np. nie ma protokołu named pipes). Można natomiast korzystać z połączenia przez TCP/IP za pomocą serwera Microsoft Proxy Server. Pracując pod kontrolą Windows 95/98, MSDE symuluje usługi znane z Windows NT i nie jest możliwe stosowanie systemowych mechanizmów ochrony - aplikacja musi korzystać z logowania na MSDE.

MSDE zajmuje na dysku ok. 75 MB (wliczając w to standardowy rozmiar bazy master - 25 MB).

Ropowszechnianie

MSDE jest dostępne dla zarejestrowanych użytkowników Visual Studio, Visual Basic, Visual Fox Pro, Visual InterDev czy Visual C+ w wersji co najmniej Professional i może być rozprowadzane razem z ich produktami.

Microsoft Data Exchange, oprócz celów użytkowych, kwalifikuje się do tworzenia wersji demonstracyjnych dużych pakietów, wymagających pełnego SQL 7.0. Jest idealny także w sytuacjach, gdy programista chce mieć niewielką lokalną wersję motoru bazy danych. MSDE jest również częścią Office 2000 Developer Edition.

Różnice JET - MSDE SQL

  • MSDE spełnia wszystkie wymagania dotyczące transakcji (ACID), a zwłaszcza trwałości dokonanych zmian w bazie danych.

  • W bazie Jet właśnie komputer klienta zapisywał/odczytywał informacje z pliku MDB znajdującego się na serwerze plików. MSDE to serwer bazodanowy. Klient wysyła żądanie do serwera, ten realizuje daną operację i ewentualnie odsyła wynik.

  • Migracja między Jet a SQL wymaga zwykle dużych zmian w strukturze tabel i aplikacji. Natomiast migracja pomiędzy MSDE a SQL 7.0 nie sprawia kłopotów.

  • System haseł w MSDE naprawdę kontroluje dostęp do danych.

  • Jet nie obsługuje Unicode.

  • Jet w przeciwieństwie do MSDE nie pozwala na stosowanie wyzwalaczy ani procedur składowanych.

  • Programista nie ma wpływu na optymalizator zapytań wbudowanych w Jet. Natomiast w MSDE można sterować sposobem optymalizacji kwerend.