..


Рекламные ссылки

Использование с Кассандрой PHPCassa

Статья написана Чиро Кардоне
Страница 1 из 4

Целью данной статьи является показать, как использовать Кассандра в нашем PHP-приложений.
Кассандра проекта в Facebook с целью разъединения от MySQL для хранения сообщений в папке Входящие.

Кассандра принадлежит к семейству продуктов NoSQL, а именно те ​​программные решения, которые хранят данные с помощью SQL-синтаксиса и концепция отношения, так что это не СУБД, но распределенная база данных, предназначенная для работы в кластере, а также управлять большими объемами данных. Вместо того чтобы использовать понятия таблицы, кортеж и отношение, Кассандра использует колонки-ориентированный подход реализуется через использование Hash и Array, в котором хранится информация в виде {ключ: значение}.

Насколько развита

Кассандра в настоящее время проект Apache разработан java6 поэтому полностью портативной, имея лишь требование установить JRE.

Кассандра проекта

Основные черты Кассандры являются:

  1. Децентрализация: база данных распределена на том же узле в кластере. Есть узкие места в сети, или точках останова.
  2. Эластичность: пропускная способность чтения / записи растет линейно с добавлением новых машин (узлы) в кластер без простоев или прерывания работы приложений.
  3. Отказоустойчивость: Данные автоматически реплицируются на узлах. Он поддерживает репликацию нескольких центров обработки данных. Не удалось узлы могут быть заменены без остановки.
  4. "Прочность" Кассандра предназначен для приложений, где потеря данных имеет решающее значение и должны падать, даже если всего центра обработки данных решает проблему потери данных через механизм синхронизации на основе commitlog.
  5. Гибкость: можно выбрать обновления для каждой стратегии, чтобы исправить ситуацию, репликация может быть синхронным или асинхронным.

Чтобы получить все эти преимущества, тем не менее, разработчики были вынуждены отказаться от управления транзакциями.

Модель данных

Столбцы (колонки) являются низкий уровень организации данных в Кассандра, являются кортежи, которые содержат название, значение и временную метку. Они часто представляют в качестве примера обозначения JSON:






 {



  



 "Имя": "Имя",



  



 "Значение": "Кира"



  



 "Штамп времени": 123456789







 }



Имя и значение массивы байтов расположены как UTF-8 строк. Ключ / значение пары "ярлыки, как" с метки. Кассандра использует метки, чтобы посмотреть, что самое последнее значение (помните, мы говорим о кластере), а затем чтобы урегулировать конфликты.

Колонке колонке организованы в семьях, которые сродни таблицу в реляционной базе данных. Колонке семейство содержит упорядоченный список столбцов, которые можно ссылаться по их именам. Каждый столбец семьи сохраняется в отдельный файл и файл устроен строк (строк).

Семейств столбцов, в свою очередь сгруппированы в keyspaces, как правило, по одному на приложение. Менее используемые superColumns, специальные столбцы, которые содержат в себе другие столбцы.

Типичный размер 4-Кассандра Поэтому следующим образом:

 



 Пространство ключей -> Колонка семья -> Семья строки колонки -> Столбцы -> Значения

 
В случае, если мы добавим SuperColumns:
 



 Пространство ключей -> Колонка Супер семья -> Семья Супер Колонка Row -> Super Columns -> Столбцы -> Значения

 

Вот представление JSON из простой нотации:






 Пользователи {



  



 "Кира": {



    



 "Ник": "Ci83"



    



 "Имя": "Кардон"



  



 }







 }



и более сложные использует supercolumns





 Пользователи {



  



 "Кира": {



    



 "Навыки": {



      



 "Java": "Великий"



      



 "PHP", "отлично"



    



 },



    



 "Реестр": {



      



 "Ник": "Ci83"



      



 "Имя": "Кардон"



    



 }



  



 }







 }



В пространство ключей "Пользователи" определен как ключ "Кира" supercolonne с двумя "навыки" и "реестр", каждая из которых содержит пары ключ / значение.

В той же категории ...
E-Learning
Linux (курс) Linux (курс)
Полное руководство по открытым исходным кодом системы. От 49 €.
MySQL (курс) MySQL (курс)
Управление с открытым исходным кодом базы данных. С 39 €.
PHP (курс) PHP (курс)
Полный курс для создания динамических веб-сайтов. От 49 €.
Рекламные ссылки