sql >> Database >  >> NoSQL >> MongoDB

Integraties en services beschikbaar van MongoDB voor de cloud

MongoDB is een documentgegevensopslag die al meer dan tien jaar bestaat. In de afgelopen jaren is MongoDB geëvolueerd tot een volwassen product met opties op ondernemingsniveau, zoals schaalbaarheid, beveiliging en veerkracht. Met de veeleisende wolkenbeweging was dat echter niet goed genoeg.

Er is momenteel veel vraag naar cloudbronnen, zoals virtuele machines, containers, serverloze computerbronnen en databases. Tegenwoordig kunnen veel softwareoplossingen worden ontwikkeld in een fractie van de tijd die nodig was om op de eigen hardware te implementeren. Het zette een trend in gang en veranderde tegelijkertijd de marktverwachtingen.

Maar de kwaliteit van een online service is niet beperkt tot alleen implementatie. Vaak hebben gebruikers aanvullende diensten, integraties of extra functies nodig die hen helpen hun werk te doen. Het cloudaanbod kan nog steeds zeer beperkt zijn en kan meer problemen veroorzaken dan wat u kunt winnen met de automatisering en de externe infrastructuur.

Dus wat is de benadering van MongoDB Inc. voor dit veelvoorkomende probleem?

Het antwoord was MongoDB Atlas, dat interne extensies biedt als onderdeel van een groter cloud-/automatiseringsplatform. Met de toevoeging van componenten van derden is MongoDB tot bloei gekomen. In de blog van vandaag gaan we zien wat ze voor ontwikkelaars hebben en hoe het u kan helpen om aan uw behoeften op het gebied van gegevensverwerking te voldoen.

De items die we vandaag gaan onderzoeken zijn...

  • MongoDB-grafieken
  • MongoDB-steek
  • MongoDB Kubernetes-integraties met Ops Manager
  • MongoDB Cloud-migratie
  • Zoeken in volledige tekst
  • MongoDB Data Lake (bèta)

MongoDB-grafieken

MongoDB Charts is een van de services die toegankelijk zijn via het MongoDB Atlas-platform. Het biedt eenvoudig een eenvoudige manier om uw gegevens in MongoDB te visualiseren. U hoeft uw gegevens niet naar een andere repository te verplaatsen of uw eigen code te schrijven, aangezien MongoDB Charts is ontworpen om met gegevensdocumenten te werken en het gemakkelijk maakt om uw gegevens te visualiseren.

MongoDB Charts maakt het communiceren van uw gegevens een eenvoudig proces door ingebouwde tools te bieden om eenvoudig visualisaties te delen en eraan samen te werken. Gegevensvisualisatie is een belangrijk onderdeel om een ​​duidelijk inzicht in uw gegevens te krijgen, correlaties tussen variabelen te benadrukken en het gemakkelijk te maken om patronen en trends binnen uw gegevensset te onderscheiden.

Hier zijn enkele belangrijke functies die u in de grafieken kunt gebruiken.

Aggregatie

Aggregatieraamwerk is een operationeel proces dat documenten in verschillende stadia manipuleert, verwerkt in overeenstemming met de opgegeven criteria en vervolgens de berekende resultaten retourneert. Waarden uit meerdere documenten worden gegroepeerd, waarop meer bewerkingen kunnen worden uitgevoerd om overeenkomende resultaten te retourneren.

MongoDB Charts biedt ingebouwde aggregatiefunctionaliteit. Met aggregatie kunt u uw verzamelingsgegevens verwerken aan de hand van verschillende statistieken en berekeningen uitvoeren zoals gemiddelde en standaarddeviatie.

Grafieken bieden naadloze integratie met MongoDB Atlas. U kunt MongoDB-diagrammen koppelen aan Atlas-projecten en snel aan de slag gaan met het visualiseren van uw Atlas-clustergegevens.

Documentgegevensverwerking

MongoDB Charts begrijpt van nature de voordelen van het Document Data Model. Het beheert op documenten gebaseerde gegevens, inclusief vaste objecten en arrays. Het gebruik van een geneste gegevensstructuur biedt de flexibiliteit om uw gegevens te structureren zoals deze bij uw toepassing passen, terwijl de visualisatiemogelijkheden behouden blijven.

MongoDB Charts biedt ingebouwde aggregatiefunctionaliteit waarmee u uw verzamelingsgegevens kunt verwerken met behulp van verschillende statistieken. Het is intuïtief genoeg voor niet-ontwikkelaars om te gebruiken, waardoor self-service data-analyse mogelijk is, waardoor het een geweldig hulpmiddel is voor data-analyseteams.

MongoDB-steek

Heb je wel eens gehoord van serverloze architectuur?

Met Serverless stel je je applicatie samen in individuele, autonome functies. Elke functie wordt gehost door de serverloze provider en kan automatisch worden geschaald naarmate de frequentie van functieaanroepen toeneemt of afneemt. Dit blijkt een zeer kosteneffectieve manier van betalen voor computerbronnen. U betaalt alleen voor de tijden dat uw functies worden aangeroepen, in plaats van te betalen om uw applicatie altijd aan te hebben en te wachten op verzoeken op zoveel verschillende instanties.

MongoDB Stitch is een ander soort MongoDB-service die alleen gebruikt wat het handigst is in de cloudinfrastructuuromgevingen. Het is een serverloos platform waarmee ontwikkelaars applicaties kunnen bouwen zonder een serverinfrastructuur te hoeven opzetten. Stitch wordt gemaakt bovenop MongoDB Atlas en integreert automatisch de verbinding met uw database. U kunt verbinding maken met Stitch via de Stitch Client SDK's, die open staan ​​voor veel van de platforms die u ontwikkelt.

MongoDB Kubernetes-integraties met Ops Manager

Ops Manager is een beheerplatform voor MongoDB-clusters die u op uw eigen infrastructuur uitvoert. De mogelijkheden van Ops Manager omvatten monitoring, waarschuwingen, noodherstel, schalen, implementeren en upgraden van replicasets en shard-clusters en andere MongoDB-producten. In 2018 introduceerde MongoDB bèta-integratie met Kubernetes.

De MongoDB Enterprise Operator is compatibel met Kubernetes v1.11 en hoger. Het is getest tegen Openshift 3.11. Deze Operator vereist Ops Manager of Cloud Manager. Wanneer we in dit document verwijzen naar "Ops Manager", kunt u "Cloud Manager" vervangen. De functionaliteit is hetzelfde.

De installatie is vrij eenvoudig en vereist

  • De MongoDB Enterprise Operator installeren. Dit kan worden gedaan via helm of YAML-bestand.
  • Verzamel Ops Manager-eigenschappen.
  • Een Kubernetes ConfigMap-bestand maken en toepassen
  • Maak het geheime Kubernetes-object waarin de Ops Manager API-sleutel wordt opgeslagen

In dit basisvoorbeeld gaan we het YAML-bestand gebruiken:

kubectl apply -f crds.yaml
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/master/mongodb-enterprise.yaml

De volgende stap is het verkrijgen van de volgende informatie die we gaan gebruiken in het ConfigMap-bestand. Alles wat je kunt vinden in de ops manager.

  • Basis-URL. Basis-URL is de URL van uw Ops Manager of Cloud Manager.
  • Project-ID. De id van een Ops Manager-project waarin de Kubernetes-operator zal implementeren.
  • Gebruiker. Een bestaande Ops Manager-gebruikersnaam
  • Openbare API-sleutel. Gebruikt door de Kubernetes-operator om verbinding te maken met het Ops Manager REST API-eindpunt

Nu we de benodigde configuratie-informatie voor Ops Manager hebben verkregen, moeten we een Kubernetes ConfigMap-bestand voor de Kubernetes maken. Voor oefeningsdoeleinden kunnen we dit bestand project.yaml noemen.

apiVersion: v1

kind: ConfigMap

metadata:

  name:<<Name>>

  namespace: mongodb

data:

  projectId:<<Project ID>>

  baseUrl: <<OpsManager URL>>

De volgende stap is het maken van ConfigMap naar Kubernetes en een geheim bestand

kubectl apply -f my-project.yaml

kubectl -n mongodb create secret generic <<Name of credentials>> --from-literal="user=<<User>>" --from-literal="publicApiKey=<<public-api-key>>"

Zodra we die hebben, kunnen we ons eerste cluster inzetten

apiVersion: mongodb.com/v1

kind: MongoDbReplicaSet

metadata:

  name: <<Replica set name>>

  namespace: mongodb

spec:

  members: 3

  version: 4.2.0



  persistent: false



  project: <<Name value specified in metadata.name of ConfigMap file>>

  credentials: <<Name of credentials secret>>

Ga voor meer gedetailleerde instructies naar de MongoDB-documentatie.

MongoDB Cloud-migratie

De Atlas Live Migration Service kan uw gegevens migreren vanuit uw bestaande omgeving, of het nu op AWS, Azure, GCP of op locatie is, naar MongoDB Atlas, de wereldwijde clouddatabase voor MongoDB.

De migratie gebeurt via een speciale replicatieservice. Atlas Live Migration-proces streamt gegevens via een MongoDB-gestuurde applicatieserver.

Live-migratie werkt door een cluster in MongoDB Atlas gesynchroniseerd te houden met uw brondatabase. Tijdens dit proces kan uw toepassing blijven lezen en schrijven vanuit uw brondatabase. Aangezien het proces toekomstige veranderingen in de gaten houdt, wordt alles gerepliceerd en kan de migratie online worden uitgevoerd. U bepaalt wanneer u de verbindingsinstelling van de toepassing wilt wijzigen en omschakeling wilt uitvoeren. Om het proces minder gevoelig te maken, biedt Atlas de optie Valideren waarmee IP-toegang, SSL-configuratie, CA, enz. op de witte lijst wordt gecontroleerd.

Zoeken in volledige tekst

Zoeken in volledige tekst is een andere servicecloudservice die wordt aangeboden door MongoDB en is alleen beschikbaar in MongoDB Atlas. Niet-Atlas MongoDB-implementaties kunnen tekstindexering gebruiken. Atlas Full-Text Search is gebouwd op Open Source Apache Lucene. Lucene is een krachtige tekstzoekbibliotheek. Lucene heeft een aangepaste querysyntaxis voor het doorzoeken van de indexen. Het is een fundament van populaire systemen zoals Elasticsearch en Apache Solr. Hiermee kunt u een index maken voor zoeken in volledige tekst, zoeken, opslaan en lezen. Het is volledig geïntegreerd in Atlas MongoDB, dus er zijn geen extra systemen of infrastructuur om in te richten of te beheren.

MongoDB Data Lake (bèta)

De laatste MongoDB-cloudfunctie die we willen noemen in MongoDB Data Lake. Het is een vrij nieuwe service die zich richt op het populaire concept van datameren. Een data lake is een enorme verzameling ruwe data waarvan het doel nog niet is gedefinieerd. In plaats van gegevens in een speciaal gebouwde gegevensopslag te plaatsen, verplaatst u deze in de oorspronkelijke indeling naar een gegevensmeer. Dit elimineert de initiële kosten van gegevensopname, zoals transformatie. Zodra de gegevens in de .

Als u Atlas Data Lake gebruikt om uw S3-gegevens op te nemen in Atlas-clusters, kunt u gegevens opvragen die zijn opgeslagen in uw AWS S3-buckets met behulp van de Mongo Shell, MongoDB Compass en een willekeurig MongoDB-stuurprogramma.

Er zijn echter enkele beperkingen. De volgende functies werken nog niet, zoals het monitoren van Data Lakes met Atlas-monitoringtools, ondersteuning voor één S3 AWS-account, IP-whitelist en AWS-account en beperkingen voor AWS-beveiligingsgroepen of geen mogelijkheid om indexen toe te voegen.


  1. Hoe update/upsert ik een document in Mongoose?

  2. Time-outopties voor MongoDB-client begrijpen

  3. Hoe delen van een hiërarchie (boom) van gegevens in Redis-cache ongeldig te maken?

  4. Zoek document met array dat een specifieke waarde bevat