MongoDB

MongoDB is populair geworden, zowel in de academische wereld als op professioneel vlak. Door het gebruik van dit databasesysteem is het mogelijk om op een zeer eenvoudige manier ongestructureerde data op te slaan. Over het algemeen moet dit type database zich in een gemakkelijk toegankelijke omgeving bevinden.
Voor het volledige artikel op MongoDB ...

Filter weergeven
Hostingfilters
A2 Themes & Host Me Filter

Operatie systeem

Schijfruimte

RAM-geheugen

Schijftype

CPU-kernen

Soort

Trustpilot Dream VPS
Partituur - 8.6
Dream VPS Logo
Dream VPS

Droom VPS

STARTER
$3.75 /Maandelijks

Recensies 7


Serverlocaties


Dream VPS Servers in Hong KongHong Kong Dream VPS Servers in Santa Clara Dream VPS Servers in New YorkVerenigde Staten Dream VPS Servers in LondonVerenigd Koningkrijk Dream VPS Servers in AmsterdamNederland Dream VPS Servers in FrankfurtDuitsland Dream VPS Servers in IsraelIsraël
Vergelijken
Partituur - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Maandelijks


Serverlocaties


Heroku Servers in United StatesVerenigde Staten
Vergelijken
Partituur - 0
Infra Networking Logo
Infra Networking

Infra-netwerken

ALFA
$4.19 /Maandelijks


Serverlocaties


Infra Networking Servers in JakartaIndonesië Infra Networking Servers in DallasVerenigde Staten Infra Networking Servers in DublinIerland Infra Networking Servers in LondonVerenigd Koningkrijk Infra Networking Servers in Frankfurt am MainDuitsland Infra Networking Servers in SingaporeSingapore Infra Networking Servers in AmsterdamNederland Infra Networking Servers in UruguayUruguay
Vergelijken

Hosting van MongoDB-databases

 

MongoDB

 

MongoDB is de afgelopen jaren populair geworden, zowel in de academische wereld als op professioneel vlak. Door het gebruik van dit databasesysteem is het mogelijk om op een zeer eenvoudige manier ongestructureerde data op te slaan.

 

Over het algemeen moet dit type database zich in een gemakkelijk toegankelijke omgeving bevinden, aangezien applicaties die deze database gebruiken dit doorgaans op fysiek verre locaties moeten doen. Gezien deze behoefte presenteert dit artikel een manier om basisbewerkingen op te slaan en uit te voeren in MongoDB met behulp van een webhostingservice. De bespreking van dit onderwerp is handig voor degenen die willen weten hoe MongoDB-databases in de cloud kunnen worden gemaakt en beheerd. Om oplossingen te bieden voor het beheer van dit type database, geeft het artikel ook grafische tools aan voor het beheer ervan. In het artikel zal de nadruk worden gelegd op technologieën voor het ontwikkelen van webapplicaties met behulp van de programmeertaal Java.

 

Om toegang te krijgen tot de database wordt een webservice ontwikkeld, die wordt gehost op een gratis host. Om de service te testen, zal een console-applicatie in Java-taal worden ontwikkeld. Ten slotte laat het artikel zien hoe u de MongoDB-webservice en -database kunt testen en controleren.

 

De term NoSQL betekent niet alleen SQL, dat wil zeggen niet alleen SQL. Andere betekenissen werden aanvankelijk voorgesteld, maar de meest aangenomen door de gemeenschap was deze. NoSQL-databases zijn ontstaan ​​om de opslag en verwerking van gegevens in grote volumes te vergemakkelijken en een structuur te bieden die een hoge schaalbaarheid mogelijk maakt.

 

Er zijn momenteel ongeveer 150 verschillende NoSQL-databases. MongoDB heeft nieuwe volgers gekregen dankzij zijn uitgebreide documentatie en betrokken gemeenschap.

 

De MongoDB-beweging begon begin 2009 en sindsdien zijn er meer functies en functies aan MongoDB toegevoegd, zoals ondersteuning zonder schema, eenvoudige replicatie, eenvoudige API, stuurprogramma's voor verschillende talen, manipulatietools, functie-updates en nog veel meer.

 

De NoSQL-databasegroep bestaat uit toepassingsgerichte databases die grote hoeveelheden gegevens beheren, schaalbaarheidsfuncties, REST-protocol, MapReduce (lees BOX 1) en andere krachtige functies toepassen.

 

BOX 1: MapReduce

 

MapReduce is een programmeermodel dat door Google is geïntroduceerd met als doel het ondersteunen van parallelle verwerking van datasets verspreid over meerdere computers (cluster). De werking van dit model is gebaseerd op twee kenmerken: kaart en verkleinen. Om zoekconsolidaties uit te voeren waarvan de gegevens zijn geclusterd, stuurt de aanvrager zijn zoekopdracht naar meerdere computers tegelijk.

 

Op dit moment wordt de mapping (kaart) gemaakt tussen de aanvrager en het cluster, waarna de gegevens die het resultaat zijn van de zoekopdracht worden gegroepeerd (verkleinen) om het zoekresultaat te genereren dat aan de aanvrager moet worden geleverd.

 

Het acroniem REST staat voor Representational state transfer. Het is een techniek die veel wordt gebruikt in systemen voor gedistribueerde gegevensmanipulatie (CRUD) die alleen HTTP-oproepen gebruiken. Dit type oproep vereenvoudigt het programmeren, waardoor taken op laag niveau worden geabstraheerd aan de programmeur, waardoor de implementatie van verschillende routines in webservices mogelijk wordt. De gemaakte oproepen zijn in feite voor het invoegen van gegevens (POST), het opvragen van gegevens (GET), het bijwerken van gegevens (PUT) en het verwijderen van gegevens (DELETE).

 

MongoDB

 

Het eerste waar u aan moet denken als u met NoSQL begint, is vergelijkend. Omdat we niet anders konden dan praten, gaan we naar de vergelijking van de belangrijkste termen met betrekking tot relationele banken.

In MongoDB kan elk document volledig verschillen van een ander document in dezelfde verzameling, wat niet het geval is in het relationele model. Gewoonlijk worden de gegevens geschreven in BSON-indeling (Binary JSON).

 

Om de stappen in de volgende sectie te volgen, is het niet nodig om MongoDB op de lokale computer te hebben geïnstalleerd.

 

Installatie op de lokale computer is alleen bedoeld om sneller en eenvoudiger te testen. Als de lezer MongoDB op zijn computer wil installeren en manipuleren, zijn hier enkele initiële commando's die handig kunnen zijn. Om de service (daemon) uit te voeren, moet u rekening houden met het volgende commando: / mongo. Terwijl de service draait, kunnen we de opdrachtinterpreter starten: / mongo, de basisopdrachten voor het weergeven van databases zijn: show DBS of show databases. Gebruik om een ​​database te kiezen (als deze niet bestaat, wordt de database sqlMagazine aangemaakt): gebruik sqlMagazine. Het is belangrijk om te weten dat hoofdletters en kleine letters verschillen, wees voorzichtig met dit detail.

 

MongoDB-hulpprogramma's

 

Na zoveel opdrachten hebben we al een basis om verder te gaan. Het kennen van de commando's is essentieel om applicaties te ontwikkelen, maar voor administratie zijn er andere grafische tools die goede bondgenoten zijn. De figuren 1 en 2 zijn bijvoorbeeld vastgelegd vanuit de MongoHub-software.

 

Er zijn andere tools om MongoDB te benaderen, zoals RockMongo en MongoVUE. De RockMongo-tool heeft andere services nodig (PHP en Apache), naast het activeren van de MongoDB-module in de PHP-configuratie. Deze tool wordt standaard in OpenShift gebruikt, dus het is goed om er kennis van te hebben.

 

De MongoVUE-tool is alleen voor computers met Microsoft Windows-besturingssystemen. Het biedt goede eigenschappen.

 

Voor gebruikers van Apple-besturingssystemen (Mac OS 10.6.x of hoger) is er de MongoHub-tool. Hoewel er een specifieke website is voor deze tool.

 

Een account aanmaken om de applicatie te hosten

 

Het doel is om de database beschikbaar te maken op het web en de toegang ertoe mogelijk te maken door een applicatie die ook op het web staat of door een applicatie die op een andere computer is geïnstalleerd. De gekozen dienst voor het hosten van de database was OpenShift. Hierin kan de gebruiker maximaal drie applicaties maken en in elk daarvan is het mogelijk om verschillende services te maken, zoals onder andere Java-, PHP-, Phyton- en Ruby-applicaties.

 

Als u meer applicaties op hetzelfde account wilt maken of zelfs andere services en schaalbaarheidsbronnen wilt inhuren, moet u een betaald account aanmaken. OpenShift biedt een platform als een service aan, te herkennen aan het acroniem PaaS. Laten we de nodige stappen doorlopen om een ​​account aan te maken.

 

In eerste instantie moet de gebruiker naar het OpenShift-poortadres gaan en de optie kiezen. Het registratiescherm verschijnt, zoals weergegeven in afbeelding.

 

mongodb

 

Voer gewoon de gegevens in en klik op & ldquo; Aanmelden & rdquo ;. Er wordt een e-mail gestuurd om de registratie te bevestigen, het is noodzakelijk om op de link in deze e-mail te klikken om de registratie te activeren en om de applicaties te maken.

 

Bij het openen van uw OpenShift-account is het mogelijk om de gewenste services aan te maken, instructies worden ook aangeboden om toegang te krijgen tot applicaties via de opdrachtregel, gebruik de JBossDeveloper Studio IDE en een groot aantal andere bronnen. Om dit stap voor stap te vergemakkelijken, zullen we de applicatie automatisch aanmaken nadat we deze lokaal hebben ontwikkeld.

Sommige instellingen moeten worden gemaakt in ons OpenShift-account. Nadat we toegang hebben gekregen tot het account, moeten we naar de & ldquo; Instellingen & rdquo; sectie, zoals weergegeven in figuur.

 

mongodb

 

In het tekstvak & ldquo; Domeinnaam & rdquo; we moeten de naam van het gewenste domein typen, in deze test typen we & ldquo; SQL magazine & rdquo ;. Deze naam (maximaal aantal tekens is 16) is vrij te kiezen, maar het is belangrijk omdat deze wordt gebruikt in ons Java-project. Klik vervolgens op & ldquo; Opslaan & rdquo; optie.

 

Na het voltooien van deze stap kunnen we terugkeren naar de & ldquo; Applicaties & rdquo; tabblad en klik op de & ldquo; Maak nu uw eerste applicatie & rdquo; optie. Er verschijnt een lijst met verschillende services die we kunnen maken. Laten we kiezen voor & ldquo; JBoss Application Server 7 & rdquo ;. Vervolgens wordt het venster voor het kiezen van de toepassingsnaam weergegeven

 

Deze naam is ook vrij om te kiezen, maar het moet een gemakkelijke naam zijn om te onthouden, aangezien we deze meteen nodig hebben. Voor deze test typen we & ldquo; MongoDB & rdquo ;.

 

De volgende stap is om te klikken op & ldquo; Toepassing maken & rdquo ;. Dit proces kan een paar seconden of zelfs minuten duren, wacht tot het proces is voltooid. Nu kunnen we terugkeren naar de & ldquo; Applicaties & rdquo; tab en klik op de aangemaakte applicatie.

 

Op dit punt gaan we MongoDB toevoegen aan onze applicatie. Om dit te doen, klikt u gewoon op de applicatie, in dit voorbeeld & ldquo; mongodb & rdquo; en klik vervolgens op & ldquo; MongoDB 2.4 toevoegen & rdquo;,. Als u een venster met informatie en instructies opent, klikt u op de link & ldquo; Doorgaan naar de overzichtspagina van de applicatie & rdquo; wordt weergegeven, waarop moet worden geklikt, dan is het mogelijk om op & ldquo; MongoDB 2.4 toevoegen & rdquo; te klikken.

 

Klik vervolgens op & ldquo; Cartridge toevoegen & rdquo ;. Dit proces kan ook enkele seconden duren. Er verschijnt dan een scherm met belangrijke informatie om toegang te krijgen tot de database, het is belangrijk om deze informatie vast te leggen, aangezien deze in de volgende stappen zal worden gebruikt. De informatie is gebruikersnaam, wachtwoord en databasenaam.

 

Op dit moment beschikken we al over een server (JBoss Application Server) en een NoSQL-database (MongoDB). Maak nu gewoon een webservice om toegang te krijgen tot deze bank en een project om toegang te krijgen tot deze webservice.

 

Applicatie ontwikkeling

 

In principe hebben we twee applicaties en een database. De eerste applicatie is verantwoordelijk voor het aanvragen van de database. Deze applicatie zal als een heel eenvoudig voorbeeld dienen, alleen om de werking van de webservice te testen. De tweede applicatie (webservice) is verantwoordelijk voor het ontvangen van verzoeken van de eerste en voor toegang tot de database.

 

Laten we naar de eerste applicatie gaan. De vereisten zijn Eclipse Kepler en twee API-bibliotheken (Application Program Interface) Jersey (jersey-client en jersey-core). Om de stap-voor-stap die hier wordt beschreven te vergemakkelijken en te vereenvoudigen, zullen we een Java-applicatie maken in Eclipse Kepler.

 

De afbeeldingen om de stap voor stap te illustreren, werden verkregen met het Mac OS 10.9.3-besturingssysteem, maar de lezer kan Microsoft Windows of zelfs een Linux-distributie gebruiken.

 

Binnen Eclipse-toegang: Bestand, Nieuw, Project. Kies in het volgende venster & ldquo; Java Project & rdquo; en klik op & ldquo; Volgende & rdquo ;. Voer vervolgens een naam in voor het project en kies de optie & ldquo; Voltooien & rdquo ;.

Nu moeten we een klasse in het project maken. Om dit te doen, klikt u met de rechtermuisknop op & ldquo; src & rdquo ;, & ldquo; New & rdquo ;, & ldquo; Class & rdquo ;.

 

Op het volgende scherm moeten we een naam voor de klas typen en de optie & ldquo; Maak de hoofdmethode & rdquo; & ldquo; public static void main (String [] args) & rdquo ;, en klik op & ldquo; Finish & rdquo ;,

Dit Java-project heeft tot doel informatie vast te leggen in een MongoDB-database die op internet wordt gehost. Het type hosting dat wordt gebruikt, maakt externe toegang tot de database mogelijk, dat wil zeggen dat toepassingen van overal toegang hebben tot de databaseserver, maar het is noodzakelijk om poorten op de lokale computer om te leiden.

 

Aangezien dit een zeer complexe aangelegenheid kan worden als het gaat om computers waarop wij geen controle hebben of zelfs computers die toegang moeten blijven hebben tot lokale poorten, of zelfs als het gaat om mobiele apparaten, is poortomleiding niet de beste manier. Op deze manier krijgt ons Java-project toegang tot de database via een webservice.

 

Voordat we de codes invoeren, moeten we twee bibliotheken toevoegen om met webservices te werken. De twee bibliotheken die we zullen gebruiken, zijn afkomstig van de Jersey 1.18 API. Om ze na het downloaden aan het project toe te voegen, kopieert u ze naar de projectmap, klikt u met de rechtermuisknop op de projectnaam en kiest u eigenschappen.

 

Selecteer in het venster "Eigenschappen" de optie "Java-bouwpad" en vervolgens "Bibliotheken". Klik vervolgens op & ldquo; Externe pot toevoegen & rdquo ;.

 

Nu we de Jersey API aan ons project hebben toegevoegd, kunnen we een beetje coderen.

 

In dit eerste codefragment maken we slechts een URL-client. In de eerste regels (3 en 4) hebben we de import om de methoden van de & ldquo; Jersey & rdquo; bibliotheek. In regel 9 en 10 maken we een object om verbinding te maken met de webservice-URL. Merk op dat de webservice-URL bestaat uit de volledige naam van ons OpenShift-account, samen met het woord rest en post, wat aangeeft dat de webservice een locatie heeft voor de methoden, genaamd rest en een methode genaamd post. Laten we vervolgens wat informatie maken om naar de database te sturen

 

Het doel van het codefragment dat in deze lijst wordt gepresenteerd, is om een ​​reeks tekens samen te stellen die voldoen aan de JSON-standaard en naar de MongoDB-database worden verzonden. Ten slotte moet het bestand naar de server worden verzonden. Laten we nu naar het laatste codefragment van het Java-project gaan.

 

Dit codefragment heeft nog een import nodig voor ons project.

 

Verzenden naar de cloud

 

We kunnen onze webservice nu naar OpenShift sturen. Kies binnen Eclipse het JBoss-perspectief en klik op OpenShift-applicatie.

 

Accountreferenties (e-mail en wachtwoord) die tijdens de registratie zijn gedefinieerd, worden gevraagd. Voer gewoon uw accountgegevens in en klik op "Volgende". De eerste keer dat u verbinding maakt, wordt u gevraagd om SSH-sleutels te maken.

 

we moeten de optie & ldquo; Gebruik bestaande applicatie & rdquo ;. Door deze optie aan te vinken, wordt het scherm weergegeven waarin u de eerder gemaakte applicatie kunt kiezen. Kies de applicatie en klik op "Volgende".

 

Op het volgende scherm wordt u gevraagd of we een project willen maken om naar onze server te verzenden of een bestaand project willen gebruiken. We gebruiken een bestaand project, in dit geval onze nieuw ontwikkelde webservice. Om dit te doen, schakelt u de optie & ldquo; Maak een nieuw project & rdquo ;, klik op & ldquo; Verken & rdquo; en kies het jboss-as-helloworld-rs-project.

 

Rond het proces af. U wordt gevraagd om bevestiging om de SSH-sleutel te gebruiken, klik op & ldquo; Ja & rdquo ;. Nogmaals & ldquo; Ja & rdquo; om het verzenden van de webservice te bevestigen. Na deze stap kunnen we onze webservice publiceren. Om dit te doen, ga naar Eclipse en open het tabblad "Servers", klik om het tabblad server uit te vouwen, in dit geval "mongodb at OpenShift". De naam van onze webservice jboss-as-helloworld-rs zal verschijnen, klik er met de rechtermuisknop op en kies de optie & ldquo; Volledige publicatie & rdquo; of & ldquo; Volledig publiceren & rdquo ;.

 

Controleer of de applicatie al op de OpenShift-server is gebouwd. Om dit te doen, gaat u naar de browser en opent u uw OpenShift-account op de & ldquo; Applicaties & rdquo; tab en klik op de applicatie. In het voorbeeld in deze tutorial, & ldquo; mongodb & rdquo ;, en bevestig dat het al is gebouwd.

 

Als het te lang duurt (meer dan drie minuten), kan het nodig zijn om de applicatie opnieuw te starten. Gebruik hiervoor het overeenkomstige pictogram aan de rechterkant van het scherm.

 

Laatste tests

 

Nu we een server met MongoDB tot onze beschikking hebben, een project om data naar de server te sturen en een webservice om die twee bij elkaar te brengen, kunnen we gaan testen.

 

Een belangrijke bondgenoot om de werking te controleren is Rock Mongo. Het kan heel eenvoudig in OpenShift worden geactiveerd, klik gewoon op & ldquo; Voeg Rock Mongo 1.1 toe & rdquo; in de & ldquo; Applicaties & rdquo; tabblad.

 

Een andere belangrijke functie zijn de & ldquo; Tail-bestanden & rdquo ;, die op de console kunnen worden geactiveerd. Navigeer naar de Eclipse-console en klik op OpenShift Explorer, vouw alle opties uit totdat je de applicatie bereikt, in ons geval & ldquo; mongodb & rdquo ;. Klik met de rechtermuisknop en kies de & ldquo; Staartvijlen & rdquo; optie.