Keyspace (распределенное хранилище данных) - Keyspace (distributed data store)

Пример ключевого пространства с несколькими семействами столбцов.

А пространство клавиш (или же ключевое пространство) в NoSQL хранилище данных это объект, который объединяет все семейства колонн дизайна.[1][2] Это самая внешняя группа данных в хранилище данных.[3] Он напоминает схема концепция в Системы управления реляционными базами данных.[4] Обычно на каждое приложение приходится одно пространство ключей.

Структура

Пространство ключей может содержать семейства колонн или же супер столбцы. Каждый суперсолбец содержит одно или несколько семейств столбцов, а каждое семейство столбцов содержит как минимум один столбец. Ключевое пространство - это высшая абстракция в распределенное хранилище данных. Это фундаментально для сохранения структурной эвристики при динамическом поиске данных.[5] Алгоритмы протокола множественной ретрансляции интегрированы в простую структуру.[6]

Сравнение с системами реляционных баз данных

Ключевое пространство имеет такое же значение, как и схема есть в базе данных. Однако в отличие от схемы, она не предусматривает какой-либо конкретной конструкции, как это известно в модель сущность-связь широко используется в реляционные модели данных. Например, содержимым пространства ключей могут быть семейства столбцов, каждое из которых имеет разное количество столбцов, или даже разные столбцы. Итак, семейства столбцов, которые так или иначе связаны с ряд Концепция в реляционных базах данных не предусматривает какой-либо фиксированной структуры. Единственная черта, которая одинакова для схемы, заключается в том, что она также содержит ряд «объектов», которыми являются таблицы в системах РСУБД, а здесь семейства столбцов или суперсолбцы.

Таким образом, в распределенных хранилищах данных вся нагрузка по обработке строк, которые могут даже измениться от обновления хранилища данных к обновлению, лежит на плечах программистов.

Примеры

В качестве примера мы показываем несколько семейств столбцов в пространстве ключей. В Сравнить с ключевое слово определяет способ сравнения столбцов. В этом примере UTF-8 стандарт был выбран. Существуют и другие способы сравнения, например AsciiType, BytesType, LongType, TimeUUIDType.

<Ключевое пространство Имя ="DeliciousClone">  <KeysCachedFraction>0.01</KeysCachedFraction>   CompareWith ="UTF8Type" Имя =«Пользователи»/>   CompareWith ="UTF8Type" Имя =«Закладки»/>   CompareWith ="UTF8Type" Имя =«Теги»/>   CompareWith ="UTF8Type" Имя =«Пользовательские теги»/>   CompareWith ="UTF8Type" CompareSubcolumnsWith ="TimeUUIDType" ColumnType ="Супер" Имя =«Пользовательские закладки»/></Keyspace>

Другой пример показывает упрощенный Twitter клонировать модель данных:

<Ключевое пространство Имя =«TwitterClone»>  <KeysCachedFraction>0.01</KeysCachedFraction>   CompareWith ="UTF8Type" Имя =«Пользователи» />   CompareWith ="UTF8Type" Имя ="UserAudits" />   CompareWith ="UTF8Type" CompareSubcolumnsWith ="TimeUUIDType" ColumnType ="Супер" Имя =«Отношения с пользователями» />   CompareWith ="UTF8Type" Имя =«Имена пользователей» />   CompareWith ="UTF8Type" Имя =«Статусы» />   CompareWith ="UTF8Type" Имя =«StatusAudits» />   CompareWith ="UTF8Type" CompareSubcolumnsWith ="TimeUUIDType" ColumnType ="Супер" Имя =«СтатусОтношения» /></Keyspace>

Рекомендации

  1. ^ Рональд Мэтис (18 марта 2010 г.). «Установка и использование Apache Cassandra с Java, часть 2 (модель данных): пространства ключей». http://www.sodeso.nl/: Sodeso - Решения для разработки программного обеспечения. Получено 2011-03-28. Пространства ключей снова довольно просты, с точки зрения СУБД вы можете сравнить это со своей схемой, обычно у вас есть по одному на приложение. Пространство ключей содержит семейства ColumnFamilies. Обратите внимание, однако, что между ColumnFamilies нет никакой связи. Это просто отдельные контейнеры.
  2. ^ «Обзор: Терминология / Аббревиатуры: Ключевое пространство». http://wiki.apache.org/cassandra/API: Кассандра Вики. Получено 2011-03-31. [Ключевое пространство] Содержит несколько семейств столбцов.
  3. ^ Арин Саркисян (23.08.2010). «WTF - это суперстолбец? Введение в модель данных Cassandra». http://arin.me/blog/: Блог Арина Саркисяна. Архивировано из оригинал 31 декабря 2010 г.. Получено 2011-03-25. Ключевое пространство - это самая внешняя группа ваших данных. Все ваши ColumnFamily находятся внутри Keyspace. Ваше пространство ключей, вероятно, будет названо в честь вашего приложения.
  4. ^ Гай Харрисон (23.08.2010). «Играя с Кассандрой и Оракулом». Терминология в NoSQL. http://guyharrison.squarespace.com/: Веб-биты Гая Харрисона. Получено 2011-03-25. В Кассандре:
    • Keyspace похож на схему
    • ColumnFamily примерно похожа на таблицу
    Это может сбивать с толку, так как каждая база данных NoSQL использует термины по-разному друг от друга, и все они используют термины иначе, чем РСУБД.
  5. ^ Феджин; и другие. (2009). «Расширяемое хеширование - метод быстрого доступа к динамическим файлам». Транзакции ACM в системах баз данных. 41 (3): 315–344.
  6. ^ Фу; и другие. «Проблемы безопасности и решения протоколов управления ключами в многозвенной ретрансляционной сети». Операции IEICE по коммуникациям. 94 (5): 1295–1302.

внешняя ссылка