Neexistence omezení v databázi NoSQL znamená úplnou flexibilitu dat. To zní na první pohled lákavě vzhledem ke skutečnosti, že to šetří čas na vývoj tím, že v době vzniku vašich kolekcí nedefinujete žádné sloupce ani datové typy. Tato flexibilita však něco stojí, zvláště když se vaše databáze dostatečně rozroste a některé dokumenty mohou obsahovat špatné hodnoty nebo chybějící atributy, které je obtížné najít z dotazů. To zase může změnit sadu výsledků vašich dotazů a v konečném důsledku poškodit vaše obchodní rozhodnutí.
Na druhou stranu relační databáze vyžaduje definované tabulky a sloupce, než začnete přistupovat k databázi. Vzhledem k tomu, že tato data jsou uložena ve striktním formátu, není možné, aby byly nějaké špatné hodnoty nebo chybějící atributy, a vrací přesné výsledky dotazu. Samozřejmě, zajištění přísných pravidel formátu do značné míry zcela zabíjí veškerou flexibilitu dat, kterou jste měli, a zpomaluje možnost přidávat, a tedy dotazovat se na nová data.
Omezení flexibility dat
Ale nebojte se, že můžete mít to nejlepší z obou světů pomocí spouštěčů NoSQL. V NosDB, databázi dokumentů NoSQL založené na .NET, můžete použít spouštěče k ověření vašich dat a vynucení datových pravidel zajišťujících konzistenci formátu dat bez ohledu na to, jak velká bude vaše databáze. Spouštěče jsou funkce registrované proti operaci databáze. Jsou prováděny v reakci na prováděnou operaci, tedy „spouštění“ funkce.
Chcete-li použít, jednoduše vytvořte třídu .NET a implementujte Alachisoft.NosDB.Common.Triggers.IDatabaseTrigger z knihovny NosDB Common, která se nachází v instalační složce. K dispozici jsou dvě metody, ale my budeme používat pouze metodu PreTrigger a metodu PostTrigger necháme tak, jak je, protože chceme naše data před přidáním do kolekce pouze ověřit. Zde je příklad kódu:
Tento kód zajišťuje dvě věci.
- Pokud máme chybějící atribut, vraťte hodnotu „false“ pro odmítnutí objektu.
- Aktualizujte dokument JSON, pokud chybí, výchozí hodnotou a vraťte hodnotu „true“, aby byla data přijata.
Můžeme také zkontrolovat, zda má atribut přesný datový typ nebo ne, a odmítnout zadání dat podle potřeby.
Chcete-li zaregistrovat tento spouštěč do kolekce, otevřete NosDB Management Studio. Připojte se ke klastru a vyberte kolekci z databáze. Rozbalte položku „Sbírky“ a kliknutím pravým tlačítkem myši na Spouštěče CLR vyvolejte kontextovou nabídku. Postupujte podle průvodce registrací spouště. Pro lepší představu se podívejte na následující obrázek:
Protože nás zajímá pouze ověření dat na každé vložce (jak je uvedeno v kódu výše ) stačí zaregistrovat aktivační událost PreInsert. A je to!
NosDB je Open Source a 100% nativní databáze .NET NoSQL (vydaná pod licencí Apache 2.0). NosDB je super rychlý a lineárně škálovatelný, což umožňuje vašim .NET aplikacím zvládat extrémní transakční zatížení (XTP) a funguje ve Visual Studiu.
NosDB vám také pomáhá urychlit vývoj .NET tím, že poskytuje flexibilní schéma JSON. S JSON se můžete rychle přizpůsobit měnícím se požadavkům na data, a tím zkrátit dobu uvedení na trh.