PHP i SQL Azure Udostępnij na: Facebook

Autor: Maciej Wilgucki

Opublikowano: 2011-04-26

Pobierz i uruchom

Przez ostatnie trzy części tego cyklu artykułów  poznawaliśmy mechanizmy przechowywania danych w Windows Azure. Były to bloby, kolejki oraz tabele. Mimo swoich niezaprzeczalnych zalet, mechanizmy te nie oferują jednej ważnej funkcjonalności. Nie są relacyjne. W przypadku aplikacji wymagających tej funkcjonalności, samodzielne tworzenie mechanizmów imitujących relacyjność mija się z celem. Na szczęście Windows Azure dostarcza nam SQL Azure Database, czyli relacyjną bazę danych w chmurze bazującą na SQL Server.

Implementacja

Korzystanie z SQL Azure nie różni się niczym od korzystania z SQL Server lub dowolnej innej bazy danych. Pracę z bazą danych w chmurze rozpoczniemy od utworzenia nowej bazy danych. W tym celu należy zalogować się na stronie azure.com do panelu administracyjnego (rys. 1).

Rys. 1. Logowanie do panelu administracyjnego.

Aby móc się zalogować do panelu, musimy posiadać identyfikator Windows Live ID. Jeśli takiego nie posiadamy, możemy go utworzyć na stronie logowania, klikając w przycisk Sign up. Po zalogowaniu się do panelu administracyjnego w górnym menu wybieramy opcję New Database Server (rys. 2).

Rys. 2. Tworzenie nowego serwera bazy danych.

Po wybraniu wskazanej opcji pojawią się trzy kolejne. Ponieważ interesuje nas tylko utworzenie bazy danych, pominiemy dwie pierwsze i od razu przejdziemy do ostatniej – Create a new SQL Azure Database (rys. 3).

Rys. 3. Tworzenie nowej bazy danych.

Kliknięcie w zaznaczoną (na rysunku 3) opcję spowoduje uruchomienie wizarda, który przeprowadzi nas przez proces tworzenia i konfiguracji bazy danych.

Pierwszym krokiem (rys. 4) będzie wybranie subskrypcji, do której baza danych zostanie dodana. Subskrypcja jest rodzajem konta, jakie założyliśmy w serwisie. Dokładny opis zakładania konta oraz rejestracji subskrypcji można znaleźć pod adresem https://www.microsoft.com/online/help/pl-pl/helphowto/f9a74cd3-c940-4946-9095-433708a74552.htm. Oprócz subskrypcji musimy jeszcze wskazać serwer dla naszej bazy danych. Jeśli nie utworzyliśmy żadnego serwera, wówczas wybieramy z listy rozwijanej opcję New server.

Rys. 4. Tworzenie bazy danych – krok 1.

Następnie (rys. 5) wybieramy region, w którym nasza baza danych będzie się znajdować.

Rys. 5. Tworzenie bazy danych – krok 2.

Musimy być ostrożni wybierając region, ponieważ od tego zależy jak szybko będziemy mogli się dostać do danych przechowywanych w bazie. Region powinien pokrywać się z umiejscowieniem aplikacji łączącej się do bazy. Niestety, w przypadku Polski najbliższym regionem, z jakiego możemy skorzystać, jest West Europe.

Następny etap to utworzenie konta administratora bazy danych (rys. 6).

Rys. 6. Tworzenie bazy danych – krok 3.

Kolejny krok to reguły firewalla (rys. 7). Domyślnie firewall nie pozwala na żadne połączenia do bazy danych. To my sami musimy wskazać, z jakich adresów IP chcemy się łączyć.

Rys. 7. Tworzenie bazy danych – krok 4.

Ostatnim krokiem jest nazwanie bazy oraz wskazanie jej rodzaju. Do wyboru mamy Web oraz Business – różnią się one od siebie pojemnością oraz ceną. W przypadku Web możemy utworzyć bazę o wielkości 1 lub 5GB. Business pozwala na utworzenie bazy o rozmiarach 10, 20, 30, 40 lub 50GB. Cena w pakiecie Pay-As-You-Go (płacimy tylko za wykorzystane zasoby chmury) wynosi 9,99 $ za 1GB bazy danych na miesiąc. Niestety, w przypadku bazy danych płacimy nie za aktualne wykorzystanie, a za zarezerwowane zasoby, tzn. że nawet jeśli nie osiągniemy limitu rozmiaru bazy, płacimy pełną kwotę.

Po kliknięciu w przycisk Finish nasza baza danych jest gotowa do użycia (możliwe, że reguły firewalla będą potrzebowały kilku minut na rozpropagowanie się). W panelu administracyjnym możemy zapoznać się ze wszystkimi informacjami na temat bazy danych oraz je zmodyfikować (rys. 8).

Rys. 8. Panel administracyjny.

Mamy już przygotowaną bazę danych, możemy przejść do tworzenia aplikacji. W tym celu należy uruchomić Eclipse i utworzyć nowy projekt Windows Azure PHP Project. Jako nazwę wpiszmy SQLAzureProject (rys. 9).

Rys. 9. Nowy projekt w Eclipse.

Po kliknięciu w Next zostaniemy przeniesieni do drugiego etapu tworzenia projektu (rys. 10), gdzie definiujemy połączenie z bazą danych. Jako host podajemy wartość znajdującą się w polu FullyQualified DNS Name w panelu administracyjnym (rys. 8), a jako nazwę i hasło użytkownika podajemy dane utworzonego administratora bazy danych (w produkcyjnej aplikacji powinniśmy utworzyć nowe konto użytkownika i z niego korzystać podczas łączenia się do bazy). Na koniec podajemy również nazwę bazy, do której będziemy się łączyć, i klikamy Next. Na kolejnym ekranie pozostawiamy domyślne ustawienia i klikamy Finish.

Rys. 10. Definiowanie połączenia z bazą danych.

Aby uniknąć niemiłej niespodzianki, na etapie definiowania połączenia do bazy danych (rys. 10) możemy przetestować połączenie, klikając w Test Connection.

Po utworzeniu projektu możemy zapoznać się z zawartością pliku SQLAzureSample.php. Jak zauważymy, korzystanie z SQL Azure niczym się nie różni od korzystania ze standardowej bazy danych.