MongoDB 3.2

MongoDB 3.2 a Sitecore – Co je nového

Nedávno vyšla MongoDB 3.2. Několik článků nazpět jsem psal o MongoDB 3.0 a jeho fantastickém novém WiredTiteger storage enginu. Takže – vyplatí se upgradovat na 3.2? No… Samozřejmě!

S MongoDB 3.2 přichází řada nových zajímavých funkcionalit, mezi kterými nové možnosti storage enginů nebo spíše nové storage enginy, možnosti provozu a administrace nebo nové nástroje pro datovou analýzu. Nyní se ale podívejme na první dvě možnosti.

Storage Engines

Prvně ze všeho, všechny možnosti storage enginů jsou pouze dostupné pro Enterprise edici MongoDB. Nicméně, pokud chcete cokoli z toho vyzkoušet, můžete si stáhnout kopii bezplatně a bez dalších povinností přímo zde: https://www.mongodb.com/download-center#enterprise. Pro zkušební a testovací účely je celá Enterprise edice vskutku zdarma.

In-Memory storage engine

In-Memory storage engine běží kompletně v paměti. To znamená, že všechna data uložena v databázi nejsou persistentně uložena na disku, jsou pouze uložena v paměti. Asi jste již uhodli, že toto není nejlepší volba, pokud chcete uchovat data z vaší xDB déle než po dobu běhu vašeho serveru. Nicméně, pokud jste někdy provozovali Sitecore řešení pod vysokou zátěží, pak pravděpodobně víte, že serializace sessions do SQL Serveru je bolestivě pomalá. Nejen, že můžete ukládat vaše Private sessions (standardní .NET sessions) se Sitecore do MongoDB, ale nyní tak můžete činit kompletně v paměti. Toto vám dává fantastický výkon pro práci s distribucí těchto éterických dat napříč vaším delivery clusterem.

Pokud nemůžete žít bez toho, aby vaše sessions nebyly ztraceny při výpadku databáze, můžete replikovat databázi do pomalejší vrstvy, za použití pouhé standardní MongoDB replikace, která je bude persistentně ukládat na disk. To znamená, že budete mít primár pro rychlý zápis a čtení, a jeden nebo více sekundárů pro datovou persistenci. Pokud se stane, že váš rychlý stroj bude nedostupný, automatický failover zajistí bezproblémový přechod pro uživatele vašeho webu a žádné košíky nebudou ztraceny. To je skvělistické!

Pokud se ptáte, jak to zprovoznit na jednom stroji, abyste vše otestovali i s vaší starou dobrou instalací MongoDB pro xDB můžete udělat, jak popsáno dále.

V příkazové řádce spusťte standardní MongoDB pro xDB data, kde nastavíte Service Name a Service Display Name tak, abyste rozpoznali, která služba dělá co:

Dále pak můžete pokračovat v nastavení MongoDB repositáře pro vaše sessions:

Jak vidíte, musíte specifikovat datovou složku i pro In-Memory engine. To proto, že si zde In-Memomory engine ukládá metadata.

Posledním krokem je konfigurace Sitecore, aby ukládal sessions do MongoDB. A máme to – bleskově rychlé úložiště sessions pro Sitecore – HOTOVO!

Ještě jeden závěrečný komentář – In-Memory engine je zatím stále v beta fázi, takže se zatím nedoporučuje jeho nasazení do produkce.

Šifrovaný storage engine

Pokud se, stejně jako já, prakticky denně setkáváte s otázkami a obavami o soukromí uživatelských dat a strachem o umístění těchto firemních dat do veřejného cloudu, MongoDB 3.2 přináší řešení právě pro vás – Šifrování dat v klidu s novou možností pro WiredTiger storage engine. Můžete použít svoje klíče pomocí key manageru, který podporuje KMIP (Key Management Interoperability Protocol) nebo můžete použít lokální klíč, což je vhodné k použití pro testovací účely, avšak méně vhodné pro produkci.

Šifrování dat v klidu představuje daň na výkonu, kdy odebere několik procent oproti provozu “běžného” WiredTigeru, nicméně, (alespoň podle MongoDB) výkon by měl být alespoň srovnatelný nebo lepší než jiné šifrovací mechanismy pro data v klidu. Osobně jsem zatím neměl šanci toto otestovat, takže nemohu soudit.

Kombinace šifrování dat v klidu a zřízení TLS/SSL pro komunikaci nabízí již velmi solidní úroveň zabezpečení proti zneužití zákaznických dat.

Compass

Druhou věcí, kterou nacházím opravdu zajímavou, je aplikace MongoDB Compass, kterou můžete stáhnout odsud: https://www.mongodb.com/download-center#compass. Mnoho lidí, kteří pracují s MongoDB, používají Robomongo nebo MongoVue jako GUI pro databázi, namísto práce s čistou příkazovou řádkou. Lidé z MongoDB se rozhodli konečně dodat vlastní nástroj, který umožní zobrazit obsah databáze a provést na ní operace i bez psaní jakýchkoli příkazů.

MongoDB Compass
Pohled na MongoDB Compass, který zobrazuje informace o xDB Interactions datech Sitecore

Toto je dobré obzvláště tehdy, pokud se mají “operations” divize popasovat s “tím novým Mongem”, aniž by s ním měli jakoukoli zkušenost. Compass samozřejmě naprosto nenahrazuje zkušeného DBA, ale je skvělý k rychlému průniku do struktury a obsahu databáze a pochopení jejích principů.

Klidně se do toho pusťte a prozkoumejte MongoDB 3.2 se Sitecore 8.1 – mojí novou oblíbenou kombinaci 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *