Database
 sql >> Baza danych >  >> RDS >> Database

Ograniczenie elastyczności danych w bazie danych NoSQL

Brak ograniczeń w bazie danych NoSQL oznacza pełną elastyczność danych. Na pierwszy rzut oka brzmi to zachęcająco, biorąc pod uwagę fakt, że oszczędza czas programowania, nie definiując żadnych kolumn ani typów danych w momencie tworzenia kolekcji. Ale ta duża elastyczność ma swoją cenę, zwłaszcza gdy baza danych jest wystarczająco duża, a niektóre dokumenty mogą zawierać nieprawidłowe wartości lub brakujące atrybuty, które trudno znaleźć w zapytaniach. To z kolei może zmienić zestaw wyników Twoich zapytań i ostatecznie zaszkodzić Twoim decyzjom biznesowym.

Z drugiej strony relacyjna baza danych wymaga zdefiniowanych tabel i kolumn przed rozpoczęciem dostępu do bazy danych. Ponieważ dane te są przechowywane w ścisłym formacie, nie ma możliwości wystąpienia złych wartości lub brakujących atrybutów i zwracają dokładne wyniki zapytania. Oczywiście, zapewnienie ścisłych reguł formatowania prawie całkowicie zabija jakąkolwiek elastyczność danych, którą miałeś i spowalnia możliwość dodawania, a tym samym zapytań, nowych danych.

Ograniczenie elastyczności danych

Ale nie martw się, możesz mieć to, co najlepsze z obu światów, używając wyzwalaczy NoSQL. W NosDB, bazie danych dokumentów NoSQL opartej na platformie .NET, możesz używać wyzwalaczy do sprawdzania poprawności danych i egzekwowania reguł danych zapewniających spójność formatu danych, bez względu na to, jak duża jest Twoja baza danych. Wyzwalacze to funkcje zarejestrowane w operacji bazy danych. Są one wykonywane w odpowiedzi na wykonywaną operację, stąd „uruchamianie” funkcji.

Aby użyć, po prostu utwórz klasę .NET i zaimplementuj Alachisoft.NosDB.Common.Triggers.IDatabaseTrigger z biblioteki NosDB Common znajdującej się w folderze instalacyjnym. Dostępne są dwie metody, ale będziemy używać tylko metody PreTrigger i pozostawić metodę PostTrigger bez zmian, ponieważ chcemy tylko zweryfikować nasze dane przed dodaniem ich do kolekcji. Oto przykładowy kod:

Ten kod zapewnia dwie rzeczy.

  • Zwróć „false”, aby odrzucić obiekt, jeśli brakuje nam atrybutu.
  • Zaktualizuj dokument JSON, jeśli go brakuje, domyślną wartością i zwróć „prawda”, aby zaakceptować dane.

Moglibyśmy również sprawdzić, czy atrybut ma dokładnie ten sam typ danych, czy nie, iw razie potrzeby odrzucić wprowadzanie danych.
Aby zarejestrować ten wyzwalacz w kolekcji, otwórz Studio zarządzania NosDB. Połącz się z klastrem i wybierz kolekcję z bazy danych. Rozwiń do „Kolekcje” i wywołaj menu kontekstowe, klikając prawym przyciskiem myszy Wyzwalacze CLR. Postępuj zgodnie z kreatorem rejestracji wyzwalacza. Aby uzyskać lepszy pomysł, spójrz na poniższy rysunek:

Ponieważ interesuje nas tylko sprawdzanie poprawności danych na każdej wstawce (jak pokazano w powyższym kodzie ) wystarczy zarejestrować wyzwalacz PreInsert. I to wszystko!

NosDB to baza danych typu Open Source i w 100% natywna baza danych .NET NoSQL (wydawana na licencji Apache 2.0). NosDB jest superszybki i skalowalny liniowo, pozwalając aplikacjom .NET na obsługę ekstremalnych obciążeń transakcyjnych (XTP) i działa w Visual Studio.

NosDB pomaga również przyspieszyć rozwój platformy .NET, zapewniając elastyczny schemat JSON. Dzięki JSON możesz szybko dostosować się do zmieniających się wymagań dotyczących danych, skracając w ten sposób czas wprowadzania na rynek.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najlepsze metody 10 do poprawy wydajności ETL za pomocą SSIS

  2. Proszę przestać używać tego antywzorca UPSERT

  3. Jak sprawić, by Twoja baza danych mówiła wieloma językami?

  4. Minimalizowanie wpływu poszerzenia kolumny TOŻSAMOŚĆ – część 4

  5. Znaczenie linii bazowych