Database
 sql >> база данни >  >> RDS >> Database

Ограничаване на гъвкавостта на данните в NoSQL база данни

Липсата на ограничения в NoSQL база данни означава пълна гъвкавост на данните. Това звучи привлекателно в началото, като се има предвид факта, че спестява време за разработка, като не дефинира никакви колони или типове данни към момента на създаване на вашите колекции. Но тази голяма гъвкавост идва с цена, особено когато вашата база данни нараства достатъчно голяма и някои от документите може да съдържат лоши стойности или липсващи атрибути, които е трудно да се намерят от заявки. Това от своя страна може да промени набора от резултати от вашите заявки и в крайна сметка да навреди на бизнес решенията ви.

От друга страна релационната база данни изисква дефинирани таблици и колони, преди да започнете да осъществявате достъп до вашата база данни. Тъй като тези данни се съхраняват в строг формат, няма възможност за лоши стойности или липсващи атрибути и връща точни резултати от заявката. Разбира се, осигуряването на строги правила за формат почти напълно убива всякаква гъвкавост на данните, която сте имали, и забавя възможността за добавяне и следователно заявка за нови данни.

Ограничаване на гъвкавостта на данните

Но не се притеснявайте, че можете да имате най-доброто от двата свята, като използвате тригери NoSQL. В NosDB, базирана на .NET NoSQL документна база данни, можете да използвате тригери, за да потвърдите вашите данни и да наложите правила за данни, гарантиращи последователност на формата на данните, без значение колко голяма става вашата база данни. Тригерите са функции, регистрирани спрямо операция на база данни. Те се изпълняват в отговор на извършената операция, като по този начин „задействат“ функцията.

За да използвате, просто създайте .NET клас и имплементирайте Alachisoft.NosDB.Common.Triggers.IDatabaseTrigger от библиотеката NosDB Common, която се намира в инсталационната папка. Има два налични метода, но ще използваме само метода PreTrigger и ще оставим метода PostTrigger такъв, какъвто е, тъй като просто искаме да потвърдим данните си, преди да ги добавим в колекцията. Ето примерен код:

Този код гарантира две неща.

  • Върнете „false“, за да отхвърлите обект, ако имаме липсващ атрибут.
  • Актуализирайте JSON документ, ако липсва, със стойност по подразбиране и върнете „true“, за да приемете данните.

Бихме могли също да проверим дали даден атрибут е от точния тип данни или не и да отхвърлим въвеждането на данни, ако е необходимо.
За да регистрирате този тригер с колекция, отворете NosDB Management Studio. Свържете се с клъстер и изберете колекция от база данни. Разширете до „Колекции“ и изведете контекстното меню, като щракнете с десния бутон върху CLR Triggers. Следвайте съветника за регистрация на тригера. Разгледайте следната фигура за по-добра идея:

Тъй като ние се интересуваме само от валидиране на данните за всяка вложка (както е показано от кода по-горе ) трябва само да регистрирате тригера PreInsert. И това е!

NosDB е с отворен код и 100% естествена .NET NoSQL база данни (издадена под лиценза Apache 2.0). NosDB е супер бърз и линейно мащабируем, позволявайки на вашите .NET приложения да се справят с екстремни транзакционни натоварвания (XTP) и работи във Visual Studio.

NosDB също ви помага да ускорите разработката на .NET, като предоставя гъвкава JSON схема. С JSON можете бързо да се приспособите към променящите се изисквания за данни, като по този начин намалите времето си за излизане на пазара.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SCD тип 1

  2. Работете със Salesforce.com в Alpha Anywhere

  3. Създаване на планове за поддръжка на база данни

  4. Премахване на проследяващи файлове с ADRCI

  5. Пренаписване на заявки за подобряване на производителността