Відповідь 1:

Привіт, Яш Макадія,

Дозвольте розповісти, що вони означають обидва, а не розрізняти їх.

Big Data - це концепція обробки (зберігання та обробки) великого обсягу даних. Коли я кажу великі, я маю на увазі гігабайти -> терабайт -> петабайт -> зетабайт тощо. З появою цієї концепції ми знайшли багато нових технологій, які або полегшують зберігання, або обробку цих даних розповсюдженим способом. Apache Hadoop - одна з тих ранніх технологій / фреймворків, які почали обробляти ці дані за допомогою таких підпроектів, як HDFS, MapReduce, вулик, свиня, HBase тощо.

Пізніше ми почали бачити деякі передові технології, такі як Storm, Spark, Cassandra, MongoDB, CouchBase DB і т.д., які дуже ефективно обробляли Big Data з великою легкістю та ефективністю.

NoSQL - Іноді його називають "не SQL" і багато разів називають "Не тільки SQL" відноситься до Баз даних, які можуть зберігати неформатовані, неструктуровані дані разом із структурованими даними. Можна сказати, що це похідна від концепції великих даних. Ця велика кількість даних не завжди надходить у форматі рядків Це можуть бути журнали, документи, плоскі файли тощо.

Кілька прикладів, про які я знаю:

База даних, Кассандра - стовпчасті бази даних

MongoDB, CouchBase DB - Бази даних документів (JSON)

CouchBase DB, Oracle NoSQL DB - пара ключ-значення


Відповідь 2:

Ми можемо почути більшу частину часу, коли NoSQL найкращий для Big Data через його масштабованість. Big Data - термін, що позначає великий обсяг даних, який може бути NoSQL, реляційною базою даних (базами даних на основі SQL) або будь-яким іншим форматом.

Витяг корисної інформації з великого обсягу даних є досить складним, і в той же час масштабованість також є важливим фактором. Здебільшого, розподілені сервери використовують для обробки великої кількості даних, ми можемо розширити сховище, додавши нові сервери, якщо дані швидко масштабуються. Обробляти ці декілька серверів непросто, для досягнення успіху в роботі Big Data нам потрібне спеціальне програмне забезпечення та алгоритми.

Зображення: Центр обробки даних, Джерело: Wikimedia Commons

Насправді, Apache Spark - це обчислювальна рамка кластера, яка може мати доступ до вузлів кластера на різних серверах. Тут використовується більше алгоритмів машинного навчання.

NoSQL (не тільки SQL) - це база даних, яка використовується для зберігання даних. На відміну від реляційних баз даних, NoSQL не використовує реляційні таблиці для зберігання даних. NoSQL використовує різні методи для зберігання таких даних, як сховище ключа, значення та графік. Порівняно з реляційними базами даних, NoSQL швидкий і масштабований.

Приклади NoSQL: MongoDB, RethinkDB та Apache Cassandra.