В этой статье будет рассказано, что такое NOSQL, его плюсы и минусы. И более глубокий анализ NOSQL Cassandra.

Тема I: NOSQL:

Что такое NOSQL?
Некоторые люди могут подумать, что это не SQL, однако на самом деле это «не только SQL». У NOSQL есть шесть важных атрибутов.
1. Отсутствие схемы
2. Архитектура без общего доступа
3. Эластичность: простота расширения емкости, загрузки и отсутствие простоев.
4 .Шардинг
5. Асинхронная репликация
6. BASE вместо ACID:

КИСЛОТА:

ACID (Atomicity, Consistency, Isolation, Durability) — это набор свойств транзакций базы данных, предназначенных для гарантии достоверности даже в случае ошибок, сбоев питания и т. д.

Теорема CAP:

мы все знаем, что распределенная система не может выполнить все эти атрибуты. И всякий раз, когда мы называем систему «распределенной системой», она как минимум имеет атрибут P.

  • Согласованность: атрибут достигается транзакцией традиционной системы управления реляционными базами данных (RDBMS).
  • Доступность. Служба может быть «всегда включена» и возвращать запрос в течение ограниченного времени всякий раз, когда клиенты отправляют запрос.
  • Допуск к разделению: кластер продолжает функционировать, даже если существует «раздел» (разрыв связи) между двумя узлами (оба узла работают, но не могут обмениваться данными). Чтобы добиться этого, обычно мы отказываемся от консистентности.BASE:

«Bв основном, Aдоступно,Sв частом состоянии, Eв конечном итоге непротиворечиво»
Это своего рода расширение КАП. Основная идея заключается в том, что даже если мы не можем достичь строгой согласованности, по крайней мере, мы должны достичь согласованности в конечном итоге.

  • В основном доступно
  • Мягкое состояние: допустимо для асинхронного режима в течение некоторых периодов времени.

В конечном счете непротиворечивый. В какой-то момент он может быть несогласованным, но в конце концов он будет последовательным.

Дефект базы данных NoSQL:

  1. Нелегко перенести по той причине, что разные NOSQL имеют собственный API. В отличие от СУБД, у которых у всех один и тот же API «SQL».
  2. Без ACID. Неотъемлемая часть СУБД.
  3. Нет присоединения

Тема II: Кассандра

  • Система хранения ключей-значений: высокая производительность.
  • Распределенная сетевая служба (основная точка):Cassandra — это не БД, а распределенная сетевая служба, состоящая из множества узлов данных. Используйте структуру цикла P2P.
  • Высокая масштабируемость: добавьте новый компьютер в новый кластер, и мы сможем увеличить его емкость. Кроме того, нам не нужно перезагружать весь процесс.
  • Несколько центров обработки данных: чтобы избежать эффекта, когда один центр обработки данных выходит из строя.
  • Поиск по диапазону: по той причине, что это система хранения ключей и значений, поэтому клиент может искать определенный диапазон данных, задав диапазон ключа.
  • Сосредоточьтесь на точке доступа:
  • CQL (язык запросов Cassandra): это более простой способ управления данными, когда пользователь знаком с SQL.

Приложение Кассандры:

Метод I: объединить Hadoop и Cassandra. Поместите данные в Hadoop и используйте процесс Map/Reduce, чтобы справиться с данными. А затем вставьте данные в Cassandra. Пример, Мой проект «Поисковик Твиттера»