Standardowa rodzina kolumn

Standardowa rodzina kolumn składa się z (unikalnego) klucza wiersza i pewnej liczby kolumn .

Standardowa rodzina kolumn to obiekt NoSQL , który zawiera kolumny powiązanych danych. Jest to krotka (para), która składa się z pary klucz-wartość , w której klucz jest odwzorowany na wartość będącą zbiorem kolumn. Analogicznie do relacyjnych baz danych, standardowa rodzina kolumn to „tabela”, w której każda para klucz-wartość jest „wierszem”. Każda kolumna jest krotką ( trójką ) składającą się z nazwy kolumny, wartości i znacznika czasu . W relacyjnej bazy danych , dane te zostałyby zgrupowane w tabeli z innymi niepowiązanymi danymi.

Standardowe rodziny kolumn to kontenery kolumn posortowane według ich nazw, do których można się odwoływać i sortować według klucza wiersza.

Korzyści

Dostęp do danych w rozproszonym magazynie danych byłby kosztowny (czasochłonny), gdyby zostały one zapisane w formie tabeli. Nieefektywne byłoby również odczytywanie wszystkich rodzin kolumn, które tworzyłyby wiersz w tabeli relacyjnej, i składanie ich razem w celu utworzenia wiersza, ponieważ dane dla niego są rozmieszczone w dużej liczbie węzłów . W związku z tym użytkownik uzyskuje dostęp tylko do wymaganych powiązanych informacji.

Na przykład tabela relacyjna może składać się z kolumn UID, imię, nazwisko, data urodzenia, płeć itp. W rozproszonym magazynie danych ta sama tabela zostałaby zaimplementowana poprzez utworzenie rodzin kolumn dla „UID, imię, nazwisko” , „data urodzenia, płeć” itp. Jeśli do zapytania w relacyjnej bazie danych potrzebne są tylko mężczyźni urodzeni w latach 1950-1960, należy przeczytać całą tabelę. W rozproszonym magazynie danych wystarczy dostęp tylko do drugiej standardowej rodziny kolumn, ponieważ reszta informacji jest nieistotna.

Sortowanie i zapytania

rozproszonych magazynach danych nie ma możliwości sortowania kolumn ani wykonywania dowolnych zapytań . Kolumny są sortowane podczas dodawania ich do rodziny kolumn. Sposób sortowania określa atrybut. Odbywa się to na przykład za pomocą CompareWith w Apache Cassandra , który może mieć następujące wartości:

  • Typ Ascii
  • Typ bajtów
  • Leksykalny typ UUIDT
  • Długi typ
  • CzasUUIDTyp
  • Typ UTF8

Możliwe jest również dodanie niektórych zdefiniowanych przez użytkownika atrybutów sortowania. Zastosowanie tego sposobu sortowania sprawia, że ​​proces ten jest niezwykle szybki.

Standardowe rodziny kolumn a wiersze

Standardowe rodziny kolumn mają charakter bezschematowy, więc każdy z ich „wierszy” może zawierać inną liczbę kolumn, a nawet różne nazwy kolumn mogą znajdować się w każdym wierszu. Są więc zupełnie inną koncepcją niż wiersze w systemach zarządzania relacyjnymi bazami danych (RDBMS) . Jest to jeden z powodów, dla których koncepcja ta nie jest trywialna dla doświadczonego eksperta RDBMS.

Przykłady

W notacji podobnej do JSON definicja rodziny kolumn wyglądałaby następująco:

  
       
       
         UserProfile  =  {  Cassandra  =  {  emailAddress  :  "[email protected]"  ,  wiek  :  20  },  TerryCho  =  {  emailAddress  :  "[email protected]"  ,  płeć  :  "mężczyzna"  },  Cath  =  {  emailAddress  :  "cath @apache.org"  ,  wiek  :  20 lat   ,  płeć  :  
 "kobieta"  ,  adres  :  "Seul"  },  } 

gdzie „Cassandra”, „TerryCho”, „Cath” odpowiadają kluczom wierszy; i „emailAddress”, „wiek”, „płeć”, „adres” odpowiadają nazwom kolumn.

Zobacz też

Linki zewnętrzne