Recenzje 7
Lokalizacje serwerów
Lokalizacje serwerów
Lokalizacje serwerów
Hosting baz danych MongoDB
W ostatnich latach MongoDB stało się popularne zarówno w środowisku akademickim, jak i zawodowym. Zastosowanie tego systemu bazodanowego umożliwia przechowywanie nieustrukturyzowanych danych w bardzo prosty sposób.
Zasadniczo ten typ bazy danych musi znajdować się w łatwo dostępnym środowisku, ponieważ aplikacje korzystające z tej bazy danych muszą to robić w fizycznie odległych lokalizacjach. Biorąc pod uwagę tę potrzebę, w tym artykule przedstawiono sposób przechowywania i wykonywania podstawowych operacji w MongoDB przy użyciu usługi hostingowej. Dyskusja na ten temat jest przydatna dla tych, którzy chcą wiedzieć, jak tworzyć bazy danych MongoDB i zarządzać nimi w chmurze. Aby zaoferować rozwiązania do zarządzania tego typu bazą danych, w artykule wskazano również narzędzia graficzne do jej administrowania. W całym artykule nacisk zostanie położony na technologie tworzenia aplikacji internetowych z wykorzystaniem języka programowania Java.
Aby uzyskać dostęp do bazy danych, zostanie opracowana usługa internetowa, która będzie hostowana na wolnym hoście. W celu przetestowania usługi zostanie opracowana aplikacja konsolowa w języku Java. Na koniec artykuł pokazuje, jak testować i monitorować usługę internetową i bazę danych MongoDB.
Termin NoSQL oznacza nie tylko SQL, czyli nie tylko SQL. Początkowo zaproponowano inne znaczenia, ale społeczność najczęściej przyjęła to. Pojawiły się bazy danych NoSQL, aby ułatwić przechowywanie i przetwarzanie danych w dużych ilościach, oferując strukturę, która umożliwia wysoką skalowalność.
Obecnie istnieje około 150 różnych baz danych NoSQL. MongoDB zyskuje nowych obserwujących dzięki obszernej dokumentacji i zaangażowanej społeczności.
Ruch MongoDB rozpoczął się na początku 2009 roku i od tego czasu do MongoDB dodano więcej funkcji i funkcji, takich jak obsługa bez schematu, łatwa replikacja, prosty interfejs API, sterowniki dla różnych języków, narzędzia do manipulacji, aktualizacje funkcji i wiele innych.
Grupa baz danych NoSQL składa się z baz danych zorientowanych na aplikacje, które zarządzają dużymi ilościami danych, przyjmują funkcje skalowalności, protokół REST, MapReduce (czytaj BOX 1) i inne funkcje o wysokiej wydajności.
RAMKA 1: MapReduce
MapReduce to model programowania wprowadzony przez Google w celu obsługi równoległego przetwarzania zbiorów danych rozproszonych na kilku komputerach (klaster). Działanie tego modelu opiera się na dwóch funkcjach: mapowaniu i redukcji. W celu przeprowadzenia konsolidacji wyszukiwania, których dane są zgrupowane, żądający wysyła swoje wyszukiwanie do kilku komputerów jednocześnie.
W tym momencie następuje mapowanie (mapowanie) pomiędzy requesterem a klastrem, następnie dane wynikające z wyszukiwania są grupowane (zmniejszane) generując wynik wyszukiwania, który ma być dostarczony do requestera.
Akronim REST oznacza Reprezentacyjny transfer stanu. Jest to technika szeroko stosowana w systemach rozproszonej manipulacji danymi (CRUD) wykorzystująca tylko wywołania HTTP. Ten typ wywołania upraszcza programowanie, abstrahując zadania niskiego poziomu dla programisty, umożliwiając implementację różnych procedur w usługach internetowych. Wykonywane wywołania dotyczą głównie wstawiania danych (POST), zapytań o dane (GET), aktualizacji danych (PUT) i usuwania danych (DELETE).
MongoDB
Pierwszą rzeczą, o której należy pomyśleć, zaczynając od NoSQL, jest porównanie. Ponieważ nie mogliśmy nie rozmawiać, przechodzimy do porównania głównych pojęć w odniesieniu do banków relacyjnych.
W MongoDB każdy dokument może całkowicie różnić się od innego dokumentu w tej samej kolekcji, co nie jest prawdą w modelu relacyjnym. Zwykle dane są zapisywane w formacie BSON (binarny JSON).
Aby wykonać kroki przedstawione w następnej sekcji, nie jest konieczne zainstalowanie MongoDB na komputerze lokalnym.
Instalacja na komputerze lokalnym służy jedynie do szybszego i prostszego testowania. Jeśli czytelnik chce zainstalować MongoDB na swoim komputerze i nim manipulować, oto kilka początkowych poleceń, które mogą być przydatne. Aby uruchomić usługę (demona), należy rozważyć następujące polecenie: / mongo. Po uruchomieniu usługi możemy uruchomić interpreter poleceń: / mongo, podstawowe polecenia do listowania baz danych to: show DBS lub show databases. Aby wybrać zastosowanie bazy danych (jeśli nie istnieje, baza danych zostanie utworzona sqlMagazine): użyj sqlMagazine, ważne jest, aby być świadomym faktu, że duże i małe litery są różne, uważaj na ten szczegół.
Narzędzia MongoDB
Po tylu poleceniach mamy już bazę do ruszenia do przodu. Znajomość poleceń jest niezbędna do tworzenia aplikacji, jednak dla administracji istnieją inne narzędzia graficzne, które są dobrymi sprzymierzeńcami. Na przykład rysunki 1 i 2 zostały przechwycone z oprogramowania MongoHub.
Istnieją inne narzędzia dostępu do MongoDB, takie jak RockMongo i MongoVUE. Narzędzie RockMongo wymaga innych usług (PHP i Apache), poza aktywacją modułu MongoDB w konfiguracji PHP. To narzędzie jest przyjęte jako standard w OpenShift, dlatego warto mieć o nim wiedzę.
Narzędzie MongoVUE jest przeznaczone tylko dla komputerów z systemem operacyjnym Microsoft Windows. Oferuje dobre funkcje.
Dla użytkowników systemu operacyjnego Apple (Mac OS 10.6.x lub nowszy) dostępne jest narzędzie MongoHub. Chociaż istnieje specjalna witryna internetowa dla tego narzędzia.
Utworzenie konta do hostowania aplikacji
Celem jest udostępnienie bazy danych w sieci i umożliwienie dostępu do niej aplikacji, która również znajduje się w sieci lub aplikacji zainstalowanej na innym komputerze. Usługą wybraną do hostowania bazy danych był OpenShift. W ten sposób użytkownik może stworzyć do trzech aplikacji, aw każdej z nich można stworzyć kilka usług, takich jak m.in. aplikacje Java, PHP, Phyton, Ruby.
Jeśli chcesz tworzyć więcej aplikacji na tym samym koncie lub nawet wynajmować inne usługi i zasoby skalowalności, musisz utworzyć konto płatne. OpenShift oferuje platformę jako usługę, oznaczoną akronimem PaaS. Przejdźmy przez niezbędne kroki, aby utworzyć konto.
Początkowo użytkownik musi przejść do adresu portu OpenShift: i wybrać opcję. Pojawi się ekran rejestracji, jak pokazano na rysunku.
Po prostu wprowadź dane i kliknij „Zarejestruj się”. Wiadomość e-mail zostanie wysłana w celu potwierdzenia rejestracji, konieczne jest kliknięcie linku w tej wiadomości e-mail, aby aktywować rejestrację i być a do tworzenia aplikacji.
Uzyskując dostęp do konta OpenShift, można utworzyć żądane usługi, oferowane są również instrukcje dostępu do aplikacji za pomocą wiersza poleceń, użyj JBossDeveloper Studio IDE i wiele innych zasobów. Aby ułatwić to krok po kroku, stworzymy aplikację automatycznie po opracowaniu jej lokalnie.
Niektóre ustawienia należy wprowadzić na naszym koncie OpenShift. Po uzyskaniu dostępu do konta musimy przejść do & bdquo; Ustawienia & rdquo; sekcję, jak pokazano na rysunku.
W polu tekstowym & bdquo; Nazwa domeny & rdquo; musimy wpisać nazwę żądanej domeny, w tym teście wpisujemy & bdquo; magazyn SQL & rdquo ;. Ta nazwa (maksymalna liczba znaków to 16) jest dowolna, jednak jest ważna, ponieważ będzie używana w naszym projekcie Java. Następnie kliknij przycisk & bdquo; Zapisz & rdquo; opcja.
Po wykonaniu tego kroku możemy wrócić do & bdquo; Aplikacje & rdquo; i kliknij przycisk „Utwórz teraz swoją pierwszą aplikację”. opcja. Pojawi się lista z różnymi usługami, które możemy stworzyć. Wybierzmy & bdquo; JBoss Application Server 7 & rdquo ;. Następnie wyświetli się okno wyboru nazwy aplikacji
Ta nazwa również jest do wyboru, jednak powinna być łatwa do zapamiętania, ponieważ będziemy jej potrzebować od razu. W tym teście wpisujemy & bdquo; MongoDB & rdquo ;.
Następnym krokiem jest kliknięcie & bdquo; Utwórz aplikację & rdquo ;. Ten proces może potrwać kilka sekund lub nawet minut, poczekaj, aż proces się zakończy. Teraz możemy wrócić do & bdquo; Aplikacje & rdquo; i kliknij utworzoną aplikację.
W tym momencie dodamy MongoDB do naszej aplikacji. Aby to zrobić, po prostu kliknij aplikację, w tym przykładzie & bdquo; mongodb & rdquo; a następnie kliknij & bdquo; Dodaj MongoDB 2.4 & rdquo;,. Jeśli otworzysz okno z informacjami i instrukcjami, link & bdquo; Przejdź do strony przeglądu aplikacji & rdquo; zostanie wyświetlony, który należy kliknąć, wtedy będzie można kliknąć opcję & bdquo; Dodaj MongoDB 2.4 & rdquo ;.
Następnie kliknij & bdquo; Dodaj wkład & rdquo ;. Ten proces może również zająć kilka sekund. Pojawi się ekran z ważnymi informacjami dotyczącymi dostępu do bazy danych, ważne jest, aby zapisać te informacje, ponieważ zostaną one użyte w następnych krokach. Informacje to nazwa użytkownika, hasło i nazwa bazy danych.
W tej chwili mamy już do dyspozycji serwer (JBoss Application Server) oraz bazę danych NoSQL (MongoDB). Teraz wystarczy utworzyć usługę internetową, aby uzyskać dostęp do tego banku i projekt, aby uzyskać dostęp do tej usługi internetowej.
Rozwój aplikacji
Zasadniczo będziemy mieć dwie aplikacje i bazę danych. Pierwsza aplikacja będzie odpowiedzialna za wysyłanie zapytań do bazy danych. Ta aplikacja posłuży jako bardzo prosty przykład, aby przetestować działanie serwisu internetowego. Druga aplikacja (usługa sieciowa) będzie odpowiedzialna za odbieranie żądań od pierwszej i uzyskiwanie dostępu do bazy danych.
Przejdźmy do pierwszej aplikacji. Jego wymagania wstępne to Eclipse Kepler i dwie biblioteki API (interfejs programu aplikacji) Jersey (klient-koszulka i rdzeń koszulki). Aby ułatwić i uprościć krok po kroku opisany tutaj, stworzymy aplikację Java w Eclipse Kepler.
Obrazy ilustrujące krok po kroku zostały uzyskane przy użyciu systemu operacyjnego Mac OS 10.9.3, jednak czytelnik może korzystać z systemu Microsoft Windows lub nawet dystrybucji Linuksa.
W ramach Eclipse dostęp do: Plik, Nowy, Projekt. W następnym oknie wybierz & bdquo; Projekt Java & rdquo; i kliknij przycisk & bdquo; Dalej & rdquo ;. Następnie wprowadź nazwę projektu i wybierz opcję & bdquo; Zakończ & rdquo ;.
Teraz musimy stworzyć klasę w projekcie. Aby to zrobić, kliknij prawym przyciskiem myszy & bdquo; src & rdquo ;, & bdquo; New & rdquo ;, & bdquo; Class & rdquo ;.
Na następnym ekranie musimy wpisać nazwę klasy i zaznaczyć opcję & bdquo; Utwórz główną metodę & rdquo; & bdquo; public static void main (String [] args) & rdquo; i kliknij & bdquo; Finish & rdquo ;,
Ten projekt Java ma na celu rejestrowanie informacji w bazie danych MongoDB, która będzie hostowana w Internecie. Zastosowany typ hostingu umożliwia zewnętrzny dostęp do bazy danych, czyli aplikacje z dowolnego miejsca mogą uzyskać dostęp do serwera bazy danych, jednak konieczne jest przekierowanie portów na komputerze lokalnym.
Ponieważ może to stać się bardzo złożoną rzeczą, jeśli chodzi o komputery poza naszą kontrolą, a nawet komputery, które muszą nadal uzyskiwać dostęp do portów lokalnych, a nawet w przypadku urządzeń mobilnych, przekierowanie portów nie jest najlepszym sposobem. W ten sposób nasz projekt Java uzyska dostęp do bazy danych za pośrednictwem usługi internetowej.
Przed wprowadzeniem kodów dodajmy dwie biblioteki do pracy z usługami internetowymi. Dwie biblioteki, których będziemy używać, pochodzą z interfejsu API Jersey 1.18. Aby dodać je do projektu, po pobraniu wystarczy skopiować je do folderu projektu i kliknąć prawym przyciskiem myszy nazwę projektu i wybrać właściwości.
W oknie „Właściwości” wybierz opcję „Ścieżka budowania Java”, a następnie „Biblioteki”. Następnie kliknij & bdquo; Dodaj zewnętrzny słoik & rdquo ;.
Teraz, gdy mamy dodane Jersey API do naszego projektu, możemy trochę kodować.
W tym początkowym fragmencie kodu właśnie tworzymy klienta URL. W pierwszych wierszach (3 i 4) mamy import do użycia metod & bdquo; Jersey & rdquo; biblioteka. W liniach 9 i 10 tworzymy obiekt do połączenia z adresem URL usługi sieciowej. Zwróć uwagę, że adres URL usługi internetowej składa się z pełnej nazwy naszego konta OpenShift wraz ze słowami reszta i post, co oznacza, że usługa internetowa ma lokalizację dla metod zwaną rest i metodą zwaną post. Następnie utwórzmy informacje, które zostaną przesłane do bazy danych
Celem fragmentu kodu przedstawionego na tej liście jest złożenie ciągu znaków zgodnych ze standardem JSON, który ma zostać wysłany do bazy danych MongoDB. Na koniec plik do wysłania na serwer. Teraz przejdźmy do ostatniego fragmentu kodu projektu Java.
Ten fragment kodu będzie wymagał kolejnego importu dla naszego projektu.
Wysyłam do chmury
Możemy teraz wysłać naszą usługę internetową do OpenShift. W Eclipse wybierz perspektywę JBoss i kliknij OpenShift Application.
Wymagane będą dane logowania do konta (adres e-mail i hasło) zdefiniowane podczas rejestracji. Po prostu wprowadź dane swojego konta i kliknij „Dalej”. Przy pierwszym połączeniu zostaniesz poproszony o utworzenie kluczy SSH.
musimy zaznaczyć opcję & bdquo; Użyj istniejącej aplikacji & rdquo ;. Zaznaczenie tej opcji spowoduje wyświetlenie ekranu wyboru utworzonej wcześniej aplikacji. Wybierz aplikację i kliknij „Dalej”.
Na następnym ekranie zostaniesz zapytany, czy chcemy utworzyć projekt do wysłania na nasz serwer, czy użyć istniejącego projektu. Użyjemy istniejącego projektu, w tym przypadku naszej nowo opracowanej usługi internetowej. Aby to zrobić, usuń zaznaczenie opcji & bdquo; Utwórz nowy projekt & rdquo;, kliknij & bdquo; Przeglądaj & rdquo; i wybierz projekt jboss-as-helloworld-rs.
Sfinalizuj proces. Zostaniesz poproszony o potwierdzenie użycia klucza SSH, kliknij & bdquo; Tak & rdquo ;. Ponownie & bdquo; Tak & rdquo; aby potwierdzić wysłanie usługi internetowej. Po tym kroku możemy opublikować naszą usługę internetową. Aby to zrobić, przejdź do Eclipse i otwórz zakładkę „Serwery”, kliknij, aby rozwinąć kartę serwera, w tym przypadku „mongodb at OpenShift”. Pojawi się nazwa naszej usługi internetowej jboss-as-helloworld-rs, kliknij ją prawym przyciskiem myszy i wybierz opcję & bdquo; Pełna publikacja & rdquo; lub & bdquo; Pełna publikacja & rdquo ;.
Sprawdź, czy aplikacja została już zbudowana na serwerze OpenShift. Aby to zrobić, przejdź do przeglądarki i uzyskaj dostęp do swojego konta OpenShift w sekcji & bdquo; Aplikacje & rdquo; i kliknij aplikację. W przykładzie w tym samouczku & ldquo; mongodb & rdquo; i potwierdź, że został już zbudowany.
Jeśli trwa to zbyt długo (ponad trzy minuty), może być konieczne ponowne uruchomienie aplikacji. Aby to zrobić, użyj odpowiedniej ikony po prawej stronie ekranu.
Testy końcowe
Teraz, gdy mamy do dyspozycji serwer z MongoDB, projekt wysyłania danych na serwer oraz usługę sieciową łączącą te dwa elementy, możemy rozpocząć testy.
Ważnym sprzymierzeńcem w sprawdzaniu działania jest Rock Mongo. Można go aktywować w OpenShift w bardzo prosty sposób, po prostu kliknij & bdquo; Dodaj Rock Mongo 1.1 & rdquo; w & bdquo; Aplikacja & rdquo; patka.
Inną ważną funkcją są & bdquo; pliki ogona & rdquo ;, które można aktywować na konsoli. Przejdź do konsoli Eclipse i kliknij OpenShift Explorer, rozwiń wszystkie opcje, aż dojdziesz do aplikacji, w naszym przypadku & bdquo; mongodb & rdquo ;. Kliknij prawym przyciskiem myszy i wybierz & bdquo; Pliki ogonowe & rdquo; opcja.