Keyspace (распределенное хранилище данных)
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|

Пространство ключей (или пространство ключей ) в NoSQL хранилище данных — это объект, объединяющий все семейства столбцов проекта. [1] [2] Это самая внешняя группа данных в хранилище данных. [3] Это напоминает концепцию схемы в системах управления реляционными базами данных . [4] Обычно для каждого приложения имеется одно пространство ключей.
Структура
[ редактировать ]Пространство ключей может содержать семейства столбцов или суперстолбцы . Каждый суперстолбец содержит одно или несколько семейств столбцов, а каждое семейство столбцов содержит хотя бы один столбец. Пространство ключей — это высшая абстракция в распределенном хранилище данных . Это имеет основополагающее значение для сохранения структурной эвристики при динамическом поиске данных. [5] Алгоритмы нескольких протоколов ретрансляции интегрированы в простую структуру. [6]
Сравнение с системами реляционных баз данных
[ редактировать ]Пространство ключей имеет такое же значение, как и схема в базе данных. Однако в отличие от схемы она не предусматривает какой-либо конкретной структуры, как это известно в модели «сущность-связь», широко используемой в реляционных моделях данных . Например, содержимым пространства ключей могут быть семейства столбцов, каждое из которых имеет разное количество столбцов или даже разные столбцы. Таким образом, семейства столбцов, которые так или иначе связаны с концепцией строк в реляционных базах данных, не предусматривают какой-либо фиксированной структуры. Единственное, что характерно для схемы, это то, что она также содержит ряд «объектов», которыми являются таблицы в системах РСУБД, а в данном случае — семейства столбцов или суперстолбцы.
Таким образом, в распределенных хранилищах данных вся бремя обработки строк, которые могут даже меняться от обновления хранилища данных к обновлению, ложится на плечи программистов.
Примеры
[ редактировать ]В качестве примера мы показываем несколько семейств столбцов в пространстве ключей. CompareWith
Ключевое слово определяет, как производится сравнение столбцов. В примере UTF-8 выбран стандарт . Существуют и другие способы сравнения, например AsciiType
, BytesType
, LongType
, TimeUUIDType
.
<Keyspace Name="DeliciousClone">
<KeysCachedFraction>0.01</KeysCachedFraction>
<ColumnFamily CompareWith="UTF8Type" Name="Users"/>
<ColumnFamily CompareWith="UTF8Type" Name="Bookmarks"/>
<ColumnFamily CompareWith="UTF8Type" Name="Tags"/>
<ColumnFamily CompareWith="UTF8Type" Name="UserTags"/>
<ColumnFamily CompareWith="UTF8Type" CompareSubcolumnsWith="TimeUUIDType" ColumnType="Super" Name="UserBookmarks"/>
</Keyspace>
Другой пример показывает упрощенную модель данных клона Twitter :
<Keyspace Name="TwitterClone">
<KeysCachedFraction>0.01</KeysCachedFraction>
<ColumnFamily CompareWith="UTF8Type" Name="Users" />
<ColumnFamily CompareWith="UTF8Type" Name="UserAudits" />
<ColumnFamily CompareWith="UTF8Type" CompareSubcolumnsWith="TimeUUIDType" ColumnType="Super" Name="UserRelationships" />
<ColumnFamily CompareWith="UTF8Type" Name="Usernames" />
<ColumnFamily CompareWith="UTF8Type" Name="Statuses" />
<ColumnFamily CompareWith="UTF8Type" Name="StatusAudits" />
<ColumnFamily CompareWith="UTF8Type" CompareSubcolumnsWith="TimeUUIDType" ColumnType="Super" Name="StatusRelationships" />
</Keyspace>
Ссылки
[ редактировать ]- ^ Рональд Мэтис (18 марта 2010 г.). «Установка и использование Apache Cassandra с Java, часть 2 (модель данных): пространства ключей» . Sodeso - Решения для разработки программного обеспечения. Архивировано из оригинала 3 февраля 2014 г. Проверено 28 марта 2011 г.
Пространства ключей снова довольно просты: с точки зрения СУБД вы можете сравнить их со своей схемой, обычно у вас есть одно пространство для каждого приложения. Пространство ключей содержит ColumnFamilies. Однако обратите внимание: между ColumnFamilies нет никакой связи. Это просто отдельные контейнеры.
- ^ «Обзор: Терминология/Сокращения: пространство ключей» . Кассандра Вики. Архивировано из оригинала 23 июля 2013 г. Проверено 31 марта 2011 г.
[Пространство ключей] Содержит несколько семейств столбцов.
- ^ Арин Саркисян (23 августа 2010 г.). «Что за суперстолбец? Введение в модель данных Cassandra» . Блог Арина Саркисяна. Архивировано из оригинала 31 декабря 2010 г. Проверено 25 марта 2011 г.
Пространство ключей — это самая внешняя группа ваших данных. Все ваши ColumnFamily находятся внутри пространства ключей. Ваше пространство ключей, вероятно, будет названо в честь вашего приложения.
- ^ Гай Харрисон (23 августа 2010 г.). «Играем с Кассандрой и Оракулом» . Терминология в NoSQL. Части Интернета Гая Харрисона . Проверено 25 марта 2011 г.
В Кассандре:
Это может сбивать с толку, поскольку каждая база данных NoSQL использует термины по-разному, и все они используют термины иначе, чем СУБД.- Пространство ключей похоже на схему
- ColumnFamily примерно похож на таблицу
- ^ Феджин; и др. (2009). «Расширяемое хеширование — метод быстрого доступа к динамическим файлам». Транзакции ACM в системах баз данных . 41 (3): 315–344.
- ^ Фу; и др. «Проблемы безопасности и решения протоколов управления ключами в многоскачковой ретрансляционной сети». Транзакции IEICE по коммуникациям . 94 (5): 1295–1302.