sql >> Databasteknik >  >> NoSQL >> MongoDB

Integrationer och tjänster tillgängliga från MongoDB för molnet

MongoDB är ett dokumentdatalager som har funnits i över ett decennium. Under de senaste åren har MongoDB utvecklats till en mogen produkt som har alternativ i företagsklass som skalbarhet, säkerhet och motståndskraft. Men med den krävande molnrörelsen var det inte tillräckligt bra.

Molnresurser, som virtuella maskiner, behållare, serverlösa beräkningsresurser och databaser är för närvarande efterfrågade. Nuförtiden kan många mjukvarulösningar skapas på en bråkdel av den tid det brukade ta att distribuera på sin egen hårdvara. Det startade en trend och förändrade samtidigt marknadens förväntningar.

Men kvaliteten på en onlinetjänst är inte begränsad till enbart distribution. Ofta behöver användare ytterligare tjänster, integrationer eller extra funktioner som hjälper dem att utföra sitt arbete. Molnerbjudanden kan fortfarande vara mycket begränsade och kan orsaka fler problem än vad du kan vinna på automatiseringen och fjärrinfrastrukturen.

Så vad är MongoDB Inc.s inställning till detta vanliga problem?

Svaret var MongoDB Atlas, som ger interna tillägg som en del av en större moln-/automationsplattform. Med tillägg av tredjepartskomponenter har MongoDB blomstrat. I dagens blogg kommer vi att se vad de har för utvecklare och hur det kan hjälpa dig att hantera dina databehandlingsbehov.

De föremål vi kommer att utforska idag är...

  • MongoDB-diagram
  • MongoDB Stich
  • MongoDB Kubernetes-integrationer med Ops Manager
  • MongoDB Cloud-migrering
  • Fulltextsökning
  • MongoDB Data Lake (beta)

MongoDB-diagram

MongoDB Charts är en av tjänsterna som är tillgängliga via MongoDB Atlas-plattformen. Det ger helt enkelt ett enkelt sätt att visualisera dina data som lever i MongoDB. Du behöver inte flytta dina data till ett annat arkiv eller skriva din egen kod eftersom MongoDB Charts designades för att fungera med datadokument och göra det enkelt att visualisera dina data.

MongoDB-diagram gör att kommunicera dina data till en enkel process genom att tillhandahålla inbyggda verktyg för att enkelt dela och samarbeta kring visualiseringar. Datavisualisering är en nyckelkomponent för att ge en tydlig förståelse av dina data, belysa korrelationer mellan variabler och göra det enkelt att urskilja mönster och trender i din datauppsättning.

Här är några nyckelfunktioner som du kan använda i diagrammen.

Aggregation

Aggregationsramverk är en operativ process som manipulerar dokument i olika steg, bearbetar dem i enlighet med de angivna kriterierna och sedan returnerar de beräknade resultaten. Värden från flera dokument grupperas tillsammans, på vilka fler operationer kan utföras för att returnera matchande resultat.

MongoDB-diagram har inbyggd aggregeringsfunktion. Aggregation låter dig bearbeta dina insamlingsdata med en mängd olika mätvärden och utföra beräkningar som medelvärde och standardavvikelse.

Diagram ger sömlös integration med MongoDB Atlas. Du kan länka MongoDB-diagram till Atlas-projekt och snabbt komma igång med att visualisera dina Atlas-klusterdata.

Hantering av dokumentdata

MongoDB Charts förstår fördelarna med dokumentdatamodellen. Den hanterar dokumentbaserad data, inklusive fasta objekt och arrayer. Att använda en kapslad datastruktur ger flexibiliteten att strukturera dina data så som de passar för din applikation samtidigt som visualiseringsmöjligheterna bibehålls.

MongoDB Charts tillhandahåller inbyggd aggregeringsfunktion som låter dig bearbeta dina insamlingsdata med hjälp av en mängd olika mätvärden. Det är tillräckligt intuitivt för icke-utvecklare att använda, vilket möjliggör självbetjäningsdataanalys vilket gör det till ett utmärkt verktyg för dataanalysteam.

MongoDB Stitch

Har du hört talas om serverlös arkitektur?

Med Serverless komponerar du din applikation till individuella, autonoma funktioner. Varje funktion är värd för den serverlösa leverantören och kan skalas automatiskt när funktionssamtalsfrekvensen ökar eller minskar. Detta visar sig vara ett mycket kostnadseffektivt sätt att betala för datorresurser. Du betalar bara för de gånger som dina funktioner anropas, istället för att betala för att alltid ha din applikation på och väntar på förfrågningar på så många olika instanser.

MongoDB Stitch är en annorlunda MongoDB-tjänst som bara tar det som är mest användbart i molninfrastrukturmiljöerna. Det är en serverlös plattform som gör det möjligt för utvecklare att bygga applikationer utan att behöva konfigurera serverinfrastruktur. Stitch görs ovanpå MongoDB Atlas, vilket automatiskt integrerar anslutningen till din databas. Du kan ansluta till Stitch genom Stitch Client SDK, som är öppna för många av de plattformar som du utvecklar.

MongoDB Kubernetes-integrationer med Ops Manager

Ops Manager är en hanteringsplattform för MongoDB-kluster som du kör på din egen infrastruktur. Funktionerna hos Ops Manager inkluderar övervakning, varning, katastrofåterställning, skalning, driftsättning och uppgradering av replikuppsättningar och sönderdelade kluster och andra MongoDB-produkter. Under 2018 introducerade MongoDB beta-integration med Kubernetes.

MongoDB Enterprise Operator är kompatibel med Kubernetes v1.11 och senare. Den har testats mot Openshift 3.11. Denna operatör kräver Ops Manager eller Cloud Manager. I det här dokumentet, när vi hänvisar till "Ops Manager", kan du ersätta "Cloud Manager". Funktionaliteten är densamma.

Installationen är ganska enkel och kräver

  • Installera MongoDB Enterprise Operator. Detta kan göras via rodret eller YAML-filen.
  • Samla egenskaper för Ops Manager.
  • Skapa och använd en Kubernetes ConfigMap-fil
  • Skapa det hemliga Kubernetes-objektet som lagrar Ops Manager API-nyckeln

I detta grundläggande exempel kommer vi att använda YAML-filen:

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

Nästa steg är att skaffa följande information som vi kommer att använda i ConfigMap File. Allt det kan hittas i operationshanteraren.

  • Baswebbadress. Bas-url är webbadressen till din Ops Manager eller Cloud Manager.
  • Projekt-id. Id för ett Ops Manager-projekt som Kubernetes-operatören kommer att distribuera till.
  • Användare. Ett befintligt användarnamn för Ops Manager
  • Offentlig API-nyckel. Används av Kubernetes-operatören för att ansluta till Ops Manager REST API-slutpunkt

Nu när vi har skaffat den nödvändiga Ops Manager-konfigurationsinformationen behöver vi skapa en Kubernetes ConfigMap-fil för Kubernetes. För träningsändamål kan vi kalla den här filen project.yaml.

apiVersion: v1

kind: ConfigMap

metadata:

  name:<<Name>>

  namespace: mongodb

data:

  projectId:<<Project ID>>

  baseUrl: <<OpsManager URL>>

Nästa steg är att skapa ConfigMap till Kubernetes och en hemlig fil

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>>"

När vi har det kan vi distribuera vårt första kluster

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>>

För mer detaljerade instruktioner, besök MongoDB-dokumentationen.

MongoDB Cloud-migrering

Atlas Live Migration Service kan migrera din data från din befintliga miljö oavsett om det är på AWS, Azure, GCP eller lokalt till MongoDB Atlas, den globala molndatabasen för MongoDB.

Migreringen görs via en dedikerad replikeringstjänst. Atlas Live Migration process strömmar data genom en MongoDB-kontrollerad applikationsserver.

Livemigrering fungerar genom att hålla ett kluster i MongoDB Atlas synkroniserat med din källdatabas. Under denna process kan din applikation fortsätta att läsa och skriva från din källdatabas. Eftersom processen övervakar kommande förändringar kommer alla att replikeras och migreringen kan göras online. Du bestämmer när du vill ändra applikationens anslutningsinställning och göra cutover. För att göra processen mindre benägen tillhandahåller Atlas Validate-alternativet som kontrollerar vitlista IP-åtkomst, SSL-konfiguration, CA, etc.

Fulltextsökning

Fulltextsökning är en annan tjänstmolntjänst som tillhandahålls av MongoDB och är endast tillgänglig i MongoDB Atlas. Icke-Atlas MongoDB-distributioner kan använda textindexering. Atlas Full-Text Search bygger på Apache Lucene med öppen källkod. Lucene är ett kraftfullt textsökningsbibliotek. Lucene har en anpassad frågesyntax för att söka efter dess index. Det är en grund för populära system som Elasticsearch och Apache Solr. Det gör det möjligt att skapa ett index för fulltextsökning, det är att söka, spara och läsa. Det är helt integrerat i Atlas MongoDB så det finns inga ytterligare system eller infrastruktur att tillhandahålla eller hantera.

MongoDB Data Lake (beta)

Den sista MongoDB molnfunktionen vi skulle vilja nämna i MongoDB Data Lake. Det är en ganska ny tjänst som tar itu med det populära konceptet med datasjöar. En datasjö är en stor pool av rådata, vars syfte ännu inte är definierat. Istället för att placera data i ett specialbyggt datalager, flyttar du det till en datasjö i dess ursprungliga format. Detta eliminerar förskottskostnaderna för dataintag, som transformation. När data väl har placerats i.

Om du använder Atlas Data Lake för att mata in dina S3-data i Atlas-kluster kan du söka efter data som lagras i dina AWS S3-hinkar med Mongo Shell, MongoDB Compass och valfri MongoDB-drivrutin.

Det finns dock vissa begränsningar. Följande funktioner fungerar inte ännu som att övervaka Data Lakes med Atlas övervakningsverktyg, stöd för enstaka S3 AWS-konton, IP-vitlista och AWS-konto och AWS-säkerhetsgruppers begränsningar eller ingen möjlighet att lägga till index.


  1. Ta bort specifika objekt från array med MongoDB

  2. Redis under klassisk ASP(VBScript)

  3. Hur lagrar man i Redis sorterad uppsättning med tidsstämpel på serversidan som poäng?

  4. Java-klient för att ansluta ElasticCache Redis Cache Node