Czym jest IBM Cloudant?

IBM Cloudant® jest bazą danych JSON opartą na mechanizmie Apache CouchDB i oferowaną w postaci w pełni zarządzanej usługi o wysokiej dostępności. Korzysta z samoopisujących się schematów przechowywania „dokumentów” JSON, które umożliwiają elastyczne i zwinne tworzenie aplikacji. Baza danych Cloudant zbudowana jest przy wykorzystaniu struktury klastrowej główny-główny (inaczej „bez klastra głównego”), która może obejmować wiele szaf, centrów przetwarzania danych, urządzeń lub wielu dostawców usług chmurowych.

Inaczej niż w tradycyjnych systemach bazodanowych, wszystkie repliki danych są dostępne zarówno do odczytu, jak i do zapisu. IBM Cloudant jest idealnym rozwiązaniem dla aplikacji mobilnych i WWW. Wszystko za sprawą funkcji replikacji i synchronizacji wzorowanych na mechanizmie CouchDB oraz architekturze nastawionej na dane offline. Dzięki niemu od początku masz dostęp do danych w urządzeniu lub przeglądarce i możesz synchronizować je z kopiami danych przechowywanymi w chmurze.  

Cloudant umożliwia również indeksowanie w czasie rzeczywistym na potrzeby analityki internetowej, wyszukiwanie pełnotekstowe ad hoc oraz obsługę zaawansowanych zapytań geoprzestrzennych. Funkcje te są realizowane w oparciu o standardy otwarte, w tym: Apache CouchDB, Apache Lucene, GeoJSON i inne.

Czym zarządza IBM Cloudant?

IBM Cloudant oferuje opcje udostępniania oprogramowania i sprzętu, zarządzania i skalowania oraz wsparcia technicznego. Użytkownik uzyskuje gwarantowaną wysoką dostępność i możliwość elastycznego skalowania zasobów sprzętowych w miarę zmian zapotrzebowania na przepustowość.

Czym jest Cloudant Local?

Zalecamy prowadzenie prac programistycznych z wykorzystaniem bazy danych Apache CouchDB™, która jest w pełni kompatybilna z technologią Cloudant. Jako że rozwiązanie jest tworzone w oparciu o zasoby Open Source, wszystkie główne funkcje są następnie udostępniane tej społeczności przez zespół ds. usługi Cloudant. Wdrażaj lokalnie, korzystając z bazy danych Apache CouchDB™ (odsyłacz prowadzi poza serwis IBM).

Czym jest składnica dokumentów lub składnica danych dokumentowych?

Składnica dokumentów (składnica danych dokumentowych) zawiera dane przedstawione w notacji JSON (JavaScript Object Notation) i ma cechę szczególną polegającą na tym, że każdy dokument sam w sobie jest złożoną strukturą danych. Dokumenty mogą zawierać zagnieżdżone struktury danych różnego typu, w tym inne obiekty. Użytkownicy dokumentowej bazy danych mogą kierować pytania o dane w tych złożonych strukturach, pobierając lub zmieniając części dokumentów (lub całe dokumenty) bez blokowania dostępu do bazy innym użytkownikom. Dokumenty są zapisywane i pobierane na podstawie kluczy głównych, które są unikalne dla poszczególnych dokumentów (podobnie jak klucze w składnicy typu klucz-wartość).

Dlaczego JSON?

Jedną z przyczyn, dla których programiści chętnie korzystają z notacji JSON, jest możliwość szybkiego modyfikowania schematu tak przedstawionych danych bez interwencji administratora bazy danych. JSON oferuje prosty, a zarazem elegancki model utrwalania obiektów Java™ lub JavaScript (dzięki ścisłemu powinowactwu notacji JSON z językiem JavaScript). Dzięki temu programiści mogą zbudować rozwiązanie w warstwie danych bez sięgania po rozbudowane rozwiązania do utrwalania obiektów, takie jak OpenJPA lub Hibernate. Wreszcie, notacja JSON pozwala na eleganckie modelowanie danych w sposób nieosiągalny dla relacyjnych baz danych: przechowywanie jednego dokumentu JSON reprezentującego obiekt ze świata rzeczywistego jest znacznie bardziej intuicyjne niż przechowywanie N wierszy w bazie relacyjnej jako obiektu znormalizowanego.

Czym Cloudant różni się od CouchDB?

Choć usługa Cloudant jest kompatybilna z Apache CouchDB na poziomie interfejsu API, główna różnica funkcjonalna między tymi rozwiązaniami polega na obecności w usłudze Cloudant dodatkowej warstwy technologii Open Source służących do wyszukiwania pełnotekstowego i indeksowania geoprzestrzennego. Przedsiębiorstwo IBM opracowało również własne systemy monitorowania i zarządzania operacyjnego, aby zapewnić wysoką dostępność i wydajność usługi. Poza tym inżynierowie odpowiedzialni za Cloudant zajmują się bieżącym monitoringiem bazy danych i utrzymaniem infrastruktury, tak by klienci mogli poświęcić więcej czasu na tworzenie aplikacji, nie tracąc go na zarządzanie bazą danych.  

Apache CouchDB — będąc niezawodną alternatywą dla komercyjnych baz danych zorientowanych na dokumenty — jest aktywnym projektem Open Source, co chroni klientów przed przywiązaniem do jednego dostawcy. Ścieżka migracji między Cloudant i CouchDB jest prosta w obu kierunkach. Systemy te korzystają ze wspólnego protokołu replikacji, co pozwala programistom na wyjątkowo łatwe synchronizowanie kopii danych w bazie Cloudant ze zdalną instancją CouchDB (lub odwrotnie).  

Projekt Apache CouchDB został wprowadzony do inkubatora Apache Incubator w lutym 2008 roku, a w listopadzie tego samego roku uzyskał status Apache Top-level Project. Odwiedź stronę http://couchdb.apache.org/, by pobrać materiały, zapoznać się z dokumentacją i odkryć sposoby wykorzystania rozwiązania Apache CouchDB. 

Dokumentacja zawiera opis różnic między punktami końcowymi API usług Cloudant i CouchDB.

Czym jest architektura Offline First?

Architektura dająca preferencje danym lokalnym i pracy bez połączenia — inaczej Offline First — to sposób budowania aplikacji tak, by doskonale działały również bez połączenia z Internetem. Zamiast traktować brak połączenia jako stan błędu, aplikacja z założenia umożliwia użytkownikom interaktywną pracę w trybie offline. Korzystając z rozwiązania Cloudant Mobile Sync, aplikacje mobilne mogą gromadzić i odczytywać dane nawet wtedy, gdy łączność sieciowa jest niedostępna. Po przywróceniu połączenia dane zostaną zsynchronizowane z bazą IBM Cloudant.  

Cloudant bezproblemowo współpracuje z usługami Hoodie i PouchDB. Hoodie to należące do kategorii Open Source zaplecze Node.js dla aplikacji działających w modelu Offline First. PouchDB to należąca do kategorii Open Source baza danych JavaScript, która działa w przeglądarkach WWW i może synchronizować się z usługą Cloudant. Współpraca ta pozwala na płynną replikację i synchronizację pomiędzy dowolnymi składnicami danych implementującymi protokół replikacji CouchDB oraz realizację nieskończenie wielu pomysłów na architekturę aplikacje Offline First. Dowiedz się więcej o architekturze Offline First.

Jak skonstruowany jest model cen usługi Cloudant?

Z usługi Cloudant można korzystać na podstawie jednego z dwóch planów: Lite i Standard. Plan Lite jest bezterminowo bezpłatny, oferuje 1 GB miejsca na dane i ograniczoną przepustowość. Plan Standard podzielony jest na cztery poziomy i umożliwia wybór przepustowości. 

Cena usługi Cloudant zależy od dwóch głównych miar:

  • udostępnionej przepustowości
  • ilości danych

Udostępniona przepustowość wyrażona jest w liczbie operacji na sekundę, osobno dla każdej z trzech klas żądań: wyszukiwań, zapisów i zapytań. Wyszukiwania są prostymi odczytami dokumentów, zapisy obejmują zapis w dokumentach i indeksach, a zapytania to dowolne odczyty indeksów Cloudant. Szczegółowe informacje o tym, które żądania API zaliczane są do poszczególnych klas, można znaleźć w aktualnej dokumentacji usługi Cloudant. Do ilości danych wliczają się zarówno dane główne, jak i indeksy.

Czy dostępne są biblioteki klienckie dla popularnych języków programowania, np. Java, Python i Node.js?

Wystarczy kilka minut, by rozpocząć korzystanie z bazy Cloudant

Zarządzana usługa bazodanowa NoSQL, dzięki której dane znajdują się tam, gdzie akurat powinny się znajdować — i są łatwo dostępne w trybie online i offline.