Lära sig CouchDB

{title}

Traditionella databasesystem har funnits under en stor tid på marknaden och naturligtvis har de varit mycket effektiva, eftersom de genom sin mycket lång livslängd har nått mognad och stabilitet som inte kan ifrågasättas.
Problemet är att nu med ökad användning av data och dess alltmer komplexa karaktär, blir traditionella strukturer alltmer komplicerade och därmed blir deras prestanda lidande, både inom produktionsområdet och på nivå med applikationsutveckling
För närvarande har den kraft som tas av icke-relationella system eller NoSQL, som de också är kända, löst några av dessa komplexiteter som visas med traditionella eller relationella system.
COUCHDB OCH HTTP: s kraft
CouchDB är ett av de nya lagren av icke-relationella system, men dess struktur skiljer sig mycket från tjänster som till exempel MongoDB . Detta beror på att det baserar all sin administration på ett resande API och endast kommunicerar via HTTP .
Med det ovanstående måste vi snabbt dra slutsatsen att tack vare användningen av HTTP har vi alla dess metoder för att kunna göra vårt arbete som POST, GET, PUT DELETE, där vi med dessa fyra protokollverktyg kan få allt att fungera efter vår smak.
Håll oss avslappnad
Det ultimata målet med CouchDB är att vi kan slappna av, även om det låter som något som inte är meningsfullt, tre viktiga områden som förstärker begreppet lågt problem när vi använder detta datalagringssystem. Låt oss se vad det betyder:
gränssnitt

Genom att hantera HTTP som sin form av kommunikation är skapandet av applikationer som vi kan använda CouchDB med låg komplexitet, eftersom alla ramar för närvarande har möjligheter att ansluta till REST- tjänster, så vi kommer att förlora mindre tid och därför våra leveranser De kommer att vara mer avslappnade.
Sätt i produktion

I allmänhet när vi försöker ta miljön från utveckling till produktion, uppstår alltid ett problem, eller vi måste göra fler saker än väntat, även om det alltid kommer att finnas fel som gör våra liv komplicerade. CouchDB förväntas misslyckas och kunna hantera dem på egen hand, på detta sätt även om problemen uppstår kommer vi att veta att CouchDB kommer att stödja oss genom att sänka stressnivån.
klättra

Systemens skalbarhet är en annan viktig punkt, eftersom när vi växer behöver vi mer kraft och i det att CouchDB hjälper oss, eftersom det är mycket enkelt att underhålla på flera servrar eftersom dess arkitektur gör att vi kan njuta av mångsidighet när det gäller datakällor och deras synkronisering.
INSTALLATION
Det första vi behöver för att börja arbeta med CouchDB är att installera det på vårt system, för detta måste vi först veta att vi har möjlighet att installera det på Linux, MAC och Windows, så vi har många plattformar att välja den vi gillar mest eller som våra tjänster bygger på.
Linux är installationen lika enkel som att placera följande kommando på konsolen eller terminalen på Debian- baserade system, som Ubuntu eller Mint :

 sudo apt-get install couchdb 
När installationen är klar tenderar tjänsten att startas automatiskt, om detta inte är fallet, bör vi veta att det är i /etc/init.d/couchdb, så på den vägen kan vi skriva .Start och det räcker.
I Mac är det en mycket enkel process också särskilt om vi använder homebrew eftersom vi bara behöver skriva följande i terminalen eller konsolen:
 brygga installera couchdb 
När den har installerats för att starta tjänsten måste vi bara skriva couchdb i vår konsol och tjänsten startar utan problem.
För att installera på Windows måste vi ladda ner paketet med installationsprogrammet från den officiella webbplatsen för projektet, här kommer vi också att ha filerna för de andra systemen.

{title}


När vi har fått filen måste vi köra den och följa dess procedur. Detta gör att vi kan installera den som en tjänst eller som en applikation, något av alternativen som är giltiga för vårt bruk.
TESTA VÅR INSTALLATION
Nu när vi har installerat och startat tjänsten måste vi göra brandtestet för att veta om det fungerar korrekt, för detta i vår webbläsare måste vi gå till följande rutt:
 http: / /127.0.0.1:5984/_utils/index.html 
När vi väl är där ska vi se något liknande följande:

{title}


På höger sida av denna skärm har vi dessutom flera länkar som hjälper oss, till exempel en verifierare av installationen, och direkt tillgång till länkar med den officiella dokumentationen vid tvivel.

{title}


Det vi såg är webbgränssnittet som heter Futon, och det ansvarar för att ge oss administrationen på ett visuellt och vänligt sätt för tjänsten. För att skapa en ny databas måste vi bara klicka på alternativet Skapa databas, detta tar oss till ett litet gränssnitt där vi definierar dess namn, vilket vi kan se i följande bild:

{title}

$config[ads_text5] not found
När processen är över kan vi få tillgång till vår databas och lägga till dokument, vilket skulle vara ett slags ekvivalent med posterna i Relationsdatabasesystemen.
När vi skapar ett dokument kommer vi omedelbart att ha en _id och vi kan lägga till alla fält som vi behöver utan att behöva följa en struktur eller en kontur, låt oss se detta i följande bild:

{title}


Om vi ​​klickar på fliken som säger källa, ser vi att det här dokumentet faktiskt är en JSON, vilket ger oss större mångsidighet eftersom nästan alla språk har bibliotek som gör att vi kan manipulera den här typen av data.

$config[ads_text5] not found

{title}


SÄKERHET AV VÅRA TJÄNST
När du installerar CouchDB startar det i ett administratörsläge utan lösenord, vilket är fördelaktigt eftersom det gör att vi kan börja använda tjänsten direkt, men det är väldigt osäkert eftersom alla som kan komma åt vår utrustning kan se våra dokument.
Futon berättar det här längst ner till höger där det säger att vi är i Admin Party! -Läget och ger oss direkt en länk för att korrigera det.

{title}


Genom att klicka på Fix this kan vi definiera användarna med deras namn och lösenord som kan komma åt tjänsten. Som vi ser i följande bild när vi lägger in referenser och accepterar kommer vi redan att ha vårt första säkerhetslager i det med några enkla steg.

$config[ads_text6] not found

{title}


DATA MODELLER
Eftersom vi har haft lite övning, låt oss gå tillbaka till teorin ett ögonblick eftersom vi på det här sättet har en grund för att lägga till bättre kunskap. Som sagt, CouchDB har inte ett schema och struktur, det betyder att vi kan skapa stora samlingar eller grupper av dokument men varje dokument kan ha unika element och detta gör inte databasen mindre hanterbar.
Tvärtom, denna struktur är det som ger det en fördel framför relationella system eftersom vi kan använda data utan att känna till dem och ändå kunna få dem att fungera inom vårt system. Till exempel ett kontaktdatablad, föreställ dig att vi får en första kontakt med data:
 Namn: Företag 1 Telefon: 4445566 Mail: 
Men vad händer om vi har ett annat företag som kontaktar oss, och det har flera kontakter, i ett relationellt system har vi två alternativ: Vi kan lägga till flera poster eller ändra strukturen och lägga till fler fält, i CouchDB skapar vi bara ett nytt dokument med en annan struktur men som är under samma kontaktdatabas till exempel:
 Namn: Företag 2 Telefon: 6667788 Skype: 8889900 Mail: 
Om vi ​​tillämpar detta på CouchDB ska det se ut så här i vårt Futon- gränssnitt:

{title}


Som vi ser har vi använt samma databas i installationsexemplet och utan att behöva konfigurera någonting har vi lagt till olika fält och även så vår databas fungerar utan problem. Här ligger dess makt eftersom vi kan hantera verkliga situationer och förändringar dynamiskt. I teoretisk aspekt har vi sett hur dessa nya hanterare fungerar som inte är beroende av scheman, vilket ger oss möjligheten att göra mer dynamiska applikationer och som inte beror på ständiga förändringar för att anpassa oss.
Med detta avslutar vi denna tutorial, vi har tagit våra första steg i NoSQL- världen som CouchDB presenterar oss, det mest intressanta är webbgränssnittet som erbjuds oss eftersom till skillnad från tjänster som MongoDB där allt är via konsol, gränssnittets vänlighet Det hjälper oss att utveckla våra applikationer och vår kunskap snabbare.