MongoDB je úložiště dat dokumentů, které existuje již více než deset let. V posledních několika letech se MongoDB vyvinul ve vyspělý produkt, který nabízí možnosti podnikové úrovně, jako je škálovatelnost, zabezpečení a odolnost. S náročným pohybem mraků to však nebylo dost dobré.
Cloudové zdroje, jako jsou virtuální stroje, kontejnery, výpočetní zdroje bez serveru a databáze, jsou v současnosti velmi žádané. V dnešní době lze mnoho softwarových řešení vytvořit za zlomek času, který trvalo nasazení na vlastní hardware. Nastartoval trend a zároveň změnil očekávání trhů.
Kvalita online služby se však neomezuje pouze na nasazení. Uživatelé často potřebují další služby, integrace nebo další funkce, které jim pomohou při práci. Cloudové nabídky mohou být stále velmi omezené a mohou způsobit více problémů, než jaké můžete získat z automatizace a vzdálené infrastruktury.
Jaký je tedy přístup společnosti MongoDB Inc. k tomuto běžnému problému?
Odpovědí byl MongoDB Atlas, který přináší interní rozšíření jako součást větší cloudové/automatizační platformy. S přidáním komponent třetích stran MongoDB vzkvétal. V dnešním blogu se podíváme na to, co mají vývojáře a jak vám to může pomoci vyřešit vaše potřeby zpracování dat.
Položky, které dnes prozkoumáme, jsou...
- Grafy MongoDB
- MongoDB Stich
- Integrace MongoDB Kubernetes s Ops Manager
- Migrace MongoDB Cloud
- Fulltextové vyhledávání
- MongoDB Data Lake (beta)
Grafy MongoDB
MongoDB Charts je jednou ze služeb přístupných prostřednictvím platformy MongoDB Atlas. Jednoduše poskytuje snadný způsob, jak vizualizovat vaše data žijící v MongoDB. Nemusíte přesouvat data do jiného úložiště nebo psát svůj vlastní kód, protože MongoDB Charts byl navržen tak, aby pracoval s datovými dokumenty a usnadnil vizualizaci vašich dat.
MongoDB Charts činí z komunikace vašich dat přímočarý proces tím, že poskytuje vestavěné nástroje pro snadné sdílení a spolupráci na vizualizacích. Vizualizace dat je klíčovou součástí pro jasné pochopení vašich dat, zvýraznění korelací mezi proměnnými a usnadnění rozpoznání vzorců a trendů ve vaší datové sadě.
Zde jsou některé klíčové funkce, které můžete v grafech použít.
Agregace
Agregační rámec je operační proces, který manipuluje s dokumenty v různých fázích, zpracovává je v souladu s poskytnutými kritérii a poté vrací vypočítané výsledky. Hodnoty z více dokumentů jsou seskupeny, na kterých lze provést více operací, aby se vrátily odpovídající výsledky.
MongoDB Charts poskytuje vestavěnou funkci agregace. Agregace vám umožňuje zpracovávat údaje o shromažďování dat podle různých metrik a provádět výpočty, jako je průměr a standardní odchylka.
Grafy poskytují bezproblémovou integraci s MongoDB Atlas. Můžete propojit MongoDB Charts s projekty Atlas a rychle začít vizualizovat data clusteru Atlas.
Zpracování dat dokumentů
MongoDB Charts nativně rozumí výhodám datového modelu dokumentu. Spravuje data založená na dokumentech, včetně pevných objektů a polí. Použití vnořené datové struktury poskytuje flexibilitu při strukturování dat tak, jak se hodí pro vaši aplikaci, při zachování možností vizualizace.
MongoDB Charts poskytuje vestavěnou funkci agregace, která vám umožňuje zpracovávat data ze sbírky pomocí různých metrik. Je dostatečně intuitivní, aby jej mohli používat i nevývojáři, což umožňuje samoobslužnou analýzu dat, což z něj dělá skvělý nástroj pro týmy pro analýzu dat.
MongoDB Stitch
Slyšeli jste o architektuře bez serveru?
S Serverless skládáte svou aplikaci do jednotlivých, autonomních funkcí. Každá funkce je hostována poskytovatelem bez serveru a lze ji automaticky škálovat podle toho, jak se frekvence volání funkcí zvyšuje nebo snižuje. To se ukazuje jako velmi nákladově efektivní způsob platby za výpočetní zdroje. Platíte pouze za časy, kdy jsou vaše funkce volány, místo abyste platili za to, že máte aplikaci vždy zapnutou a čekáte na požadavky na tolika různých instancích.
MongoDB Stitch je jiný druh služby MongoDB, která obsahuje pouze to, co je nejužitečnější prostředí cloudové infrastruktury. Jedná se o bezserverovou platformu, která umožňuje vývojářům vytvářet aplikace, aniž by museli nastavovat serverovou infrastrukturu. Stitch je vytvořen na vrcholu MongoDB Atlas a automaticky integruje připojení k vaší databázi. Ke Stitch se můžete připojit prostřednictvím sad Stitch Client SDK, které jsou otevřené pro mnoho platforem, které vyvíjíte.
Integrace MongoDB Kubernetes s Ops Manager
Ops Manager je platforma pro správu clusterů MongoDB, kterou provozujete na své vlastní infrastruktuře. Možnosti Ops Manageru zahrnují monitorování, upozorňování, zotavení po havárii, škálování, nasazení a upgrade sad replik a sdílených clusterů a dalších produktů MongoDB. V roce 2018 MongoDB představil beta integraci s Kubernetes.
Operátor MongoDB Enterprise Operator je kompatibilní s Kubernetes v1.11 a vyšší. Byl testován proti Openshift 3.11. Tento operátor vyžaduje Správce operací nebo Cloud Manager. Když v tomto dokumentu odkazujeme na „Ops Manager“, můžete nahradit „Cloud Manager“. Funkce je stejná.
Instalace je poměrně jednoduchá a vyžaduje
- Instalace MongoDB Enterprise Operator. To lze provést pomocí kormidla nebo souboru YAML.
- Shromážděte vlastnosti správce operací.
- Vytvořte a použijte soubor Kubernetes ConfigMap
- Vytvořte tajný objekt Kubernetes, který bude ukládat klíč API správce Ops
V tomto základním příkladu použijeme soubor YAML:
kubectl apply -f crds.yaml
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/master/mongodb-enterprise.yaml
Dalším krokem je získání následujících informací, které budeme používat v souboru ConfigMap. Vše, co lze nalézt ve správci operací.
- Základní adresa URL. Základní adresa URL je adresa URL vašeho správce operací nebo správce cloudu.
- ID projektu. ID projektu správce operací, do kterého operátor Kubernetes nasadí.
- Uživatel. Stávající uživatelské jméno Správce operací
- Veřejný klíč API. Používá se operátorem Kubernetes k připojení ke koncovému bodu REST API Ops Manager
Nyní, když jsme získali potřebné konfigurační informace Ops Manager, potřebujeme vytvořit soubor Kubernetes ConfigMap pro Kubernetes. Pro účely cvičení můžeme tento soubor nazvat project.yaml.
apiVersion: v1
kind: ConfigMap
metadata:
name:<<Name>>
namespace: mongodb
data:
projectId:<<Project ID>>
baseUrl: <<OpsManager URL>>
Dalším krokem je vytvoření ConfigMap do Kubernetes a tajného souboru
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>>"
Jakmile budeme mít, můžeme nasadit náš první cluster
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>>
Podrobnější pokyny naleznete v dokumentaci MongoDB.
Migrace MongoDB Cloud
Služba Atlas Live Migration Service může migrovat vaše data z vašeho stávajícího prostředí, ať už se jedná o AWS, Azure, GCP nebo on-prem, do MongoDB Atlas, globální cloudové databáze pro MongoDB.
Migrace se provádí prostřednictvím vyhrazené replikační služby. Proces Atlas Live Migration streamuje data přes aplikační server řízený MongoDB.
Živá migrace funguje tak, že udržuje cluster v MongoDB Atlas synchronizovaný s vaší zdrojovou databází. Během tohoto procesu může vaše aplikace pokračovat ve čtení a zápisu z vaší zdrojové databáze. Protože proces sleduje nadcházející změny, všechny budou replikovány a migraci lze provést online. Sami se rozhodnete, kdy změnit nastavení připojení aplikace a provést přerušení. Aby byl proces méně náchylný, Atlas poskytuje možnost Validate, která kontroluje přístup k IP adresám, konfiguraci SSL, CA atd.
Celotextové vyhledávání
Fulltextové vyhledávání je další cloudová služba poskytovaná MongoDB a je dostupná pouze v MongoDB Atlas. Nasazení mimo Atlas MongoDB mohou používat textové indexování. Atlas Full-Text Search je postaven na Open Source Apache Lucene. Lucene je výkonná knihovna pro textové vyhledávání. Lucene má vlastní syntaxi dotazu pro dotazování na jeho indexy. Je to základ populárních systémů, jako je Elasticsearch a Apache Solr. Umožňuje vytvářet index pro fulltextové vyhledávání, je to vyhledávání, ukládání a čtení. Je plně integrován do Atlas MongoDB, takže není třeba zajišťovat nebo spravovat žádné další systémy ani infrastrukturu.
MongoDB Data Lake (beta)
Poslední cloudová funkce MongoDB, kterou bychom rádi zmínili v MongoDB Data Lake. Je to poměrně nová služba, která řeší populární koncept datových jezer. Datové jezero je rozsáhlý fond nezpracovaných dat, jehož účel zatím není definován. Místo umístění dat do účelového úložiště dat je přesunete do datového jezera v původním formátu. To eliminuje počáteční náklady na přijímání dat, jako je transformace. Jakmile jsou data umístěna do.
Použití Atlas Data Lake ke zpracování vašich dat S3 do clusterů Atlas vám umožňuje dotazovat se na data uložená ve vašich segmentech AWS S3 pomocí Mongo Shell, MongoDB Compass a jakéhokoli ovladače MongoDB.
Existují však určitá omezení. Následující funkce zatím nefungují, jako je monitorování Data Lakes pomocí monitorovacích nástrojů Atlas, podpora jednoho účtu S3 AWS, omezení IP whitelist a účtu AWS a bezpečnostních skupin AWS nebo žádná možnost přidávat indexy.