Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:dydaktyka:ztb:2010:projekty:nosql_couch:start [2010/06/30 01:09]
ztb2010
pl:dydaktyka:ztb:2010:projekty:nosql_couch:start [2019/06/27 15:50]
Linia 1: Linia 1:
-Sebastian Nanek 
  
-snanek //​posiadający konto w domenie// gmail.com 
- 
-//Wstępna wersja wstępu do projektu.// 
- 
-====== Praca z CouchDB ====== 
- 
-1. Instalacja pakietu CouchDB w systemie operacyjnym GNU/Linux Ubuntu: 
- 
-''​$sudo aptitude install couchdb''​ 
- 
-2. Uruchomienie CouchDB z poziomu konta superużytkownika:​ 
- 
-''​$ sudo couchdb''​ 
-''​Apache CouchDB is running as process 31654. Time to relax.''​ 
- 
-Alternatywnie,​ można program uruchamiać z poziomu konta zwykłego użytkownika,​ wcześniej upewniając się, że użytkownik będzie miał dostęp do zapisu w katalogu /​var/​lib/​couchdb/​0.8.0 (lub innym, odpowiadającym ustawieniom CouchDB i lokalnemu środowisku systemowemu). 
- 
-3. Sprawdzenie poprawności instalacji 
- 
- 
-3.a. Z konsoli 
- 
-''​$curl -X PUT http://​127.0.0.1:​5984/​albums''​ 
-''​{"​ok":​true}''​ 
- 
-3.b. Przy użyciu przeglądarki internetowej 
- 
-Wejście na stronę www: 
- 
-''​http://​localhost:​5984/''​ 
- 
-zwraca: 
- 
-''​{"​couchdb":"​Welcome","​version":"​0.8.0-incubating"​}''​ 
- 
-====== Podsumowanie ====== 
- 
-======= Zalety ​ ======= 
- 
-  * wersjonowanie dokumentów dostępne "od ręki" 
-  * komunikacja poprzez łatwy w implementacji i wykorzystaniu protokół http (mechanizm REST [2])  
-  * dane przekazywane w "​lekkiej"​ formie plików YAML 
- 
-======= Wady======= ​ 
- 
-  * brak wbudowanych mechanizmów autoryzacji oraz list kontroli dostępu, konieczność wykorzystania zabezpieczeń na poziomie protokołów komunikacyjnych [3] 
-  * konieczność budowania własnych rozwiązań,​ które mają na celu zabezpieczanie nieautoryzowanego dostępu do bazy danych 
-  * trudności z łączeniem danych wielu rekordów (brak skutecznego odpowiednika operatorów typu JOIN) 
- 
-======= ​ Możliwości wykorzystania======= ​ 
- 
-  * aplikacje internetowe korzystające ze sporej ilości dokumentów o zmiennej strukturze (np. portale internetowe) [1] 
-  * oprogramowanie,​ które wymaga dostępności wszystkich wersji i historii zmian danego dokumentu lub rekordu 
- 
-======= Kiedy stosować? ======= 
- 
-  * Struktura danych przechowywanych w aplikacji ma charakter "​drzewiasty"​ - tj. nie ma, lub występują w ograniczonym stopniu relacje pomiędzy rekordami przechowywanymi w bazie danych. Przykładem typu wpisu, którego przechowywanie w formie, w jakiej odbywa się to w CouchDB jest rekord pacjenta - zawiera on tablice z diagnozami, stosowanymi terapiami, ale nie ma powiązania z innymi rekordami w bazie danych. 
-  * W przypadku replikacji bazy danych, ważniejsza jest dostępność danych i łatwość ich replikacji od spójności informacji pomiędzy serwerami. Taka sytuacja ma często miejsce w przypadku witryn internetowych i ogólnie oprogramowania,​ w którym przeważają operacje odczytu nad operacjami zapisu. 
-====== Projekt ====== 
- 
-Celem projektu jest napisanie prostej aplikacji w oparciu o zorientowany na dokumenty system zarządzania bazami danych //​CouchDB//​. Aplikacja będzie umożliwiała wzorców tworzenie serii dokumentów (//​formularzy//​),​ a następnie tworzenie samych dokumentów (//​rekordów//​) w formie podobnej, jak można to robić np. w programach do zarządzania dokumentami. 
- 
-Całość zostanie zaimplementowana w języku //Ruby//, z wykorzystaniem mikroframeworka do tworzenia aplikacji internetowych //​SinatraRB//​[4]. W tym przypadku framework zapewni w zasadzie jedynie funkcjonalność dynamicznego serwera http i mapowania adresów na odpowiednie akcje. Do komunikacji zostanie wykorzystana przykładowa biblioteka klienta, pochodząca z wiki twórców CouchDB[4]. 
- 
-Aby uprościć tworzenie warstwy widoku aplikacji, zostaną wykorzystane następujące biblioteki: 
- 
-  * BluePrintCSS 
-  * jQuery 
-  * jQueryUI 
- 
-====== Bibliografia ====== 
- 
-  * [0] http://​couchdb.apache.org/​ 
-  * [1] http://​en.wikipedia.org/​wiki/​Document-oriented_database 
-  * [2] http://​en.wikipedia.org/​wiki/​Representational_State_Transfer 
-  * [3] http://​britg.com/​2008/​09/​23/​accessing-couchdb-admin-without-exposing-it-to-a-public-port/​ 
-  * [4] http://​www.sinatrarb.com/​ 
-  * [5] http://​wiki.apache.org/​couchdb/​Getting_started_with_Ruby 
-  * [6] http://​news.cnet.com/​8301-13846_3-10412528-62.html?​tag=mncol;​title 
-  * [7] http://​news.cnet.com/​8301-13846_3-10451248-62.html 
-  * [8] http://​s3.amazonaws.com/​data.tumblr.com/​tumblr_kzjk0rvrer1qb4af9o1_1280.png?​AWSAccessKeyId=0RYTHV9YYQ4W5Q3HQMG2&​Expires=1276519367&​Signature=Gy20aGtjIZbbUGgNA4yIPagxTl4%3D 
pl/dydaktyka/ztb/2010/projekty/nosql_couch/start.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0