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