Объясните, как будто я пять: SQL (реляционные) и NO SQL (нереляционные) базы данных - PullRequest
0 голосов
/ 07 августа 2020

Если бы мне пришлось объяснить SQL и NO SQL студенту колледжа в течение 1 минуты:

Вы ведь знакомы с электронной таблицей Excel? Это SQL:

id, name, age, weight
1, Adam, 20, 150
2, Bob, 30, 160
...

А теперь представьте, если бы вы не знали заранее имена столбцов и хотели бы гибко добавлять новые позже. Это НЕТ. *

выберите * из людей, у которых возраст> 20

SQL обычно будет запускать один сервер со всеми данными в одной базе данных и использовать индекс по возрасту столбец для фильтрации данных.

NO SQL будет обычно работать в кластере параллельно, с распределением данных по нескольким серверам, где каждый из них фильтрует свои локальные данные о возрасте (MAP), и затем центральный сервер объединяет результаты (УМЕНЬШИТЬ)

Это хорошее объяснение высокого уровня?

1 Ответ

2 голосов
/ 07 августа 2020

Если бы мне пришлось объяснять этот топи c, как будто вам пять, это бы go было бы примерно так: я бы посадил вас на стол и получил игрушку-сортировщик формы.

  • SQL: Игрушка имеет УЖЕ ОПРЕДЕЛЕННЫЕ отверстия формы, в которые могут входить ТОЛЬКО указанные c формы. Это также означает, что могут быть вставлены только те фигуры, которые проходят через отверстия фигур, поэтому мы можем быть уверены, что будут вставлены только те фигуры, которые, по нашему мнению, должны быть вставлены. Когда мы хотим получить фигуры, мы должны вытащить их через те же отверстия, что может потребовать немного больше усилий. В SQL таблицы уже определены, и могут быть вставлены только данные, которые согласованы с определением таблицы, а в SQL мы, вероятно, сделаем много объединений между таблицами, чтобы получить желаемый результат, что может потребовать больше времени и производительность.

Тогда я бы избавился от поверхности с отверстиями формы, так что это будет просто пластик c коробка с большим отверстием (пластик c с отверстиями формы

  • Нет SQL игрушка не имеет поверхности с отверстиями, которые должны соответствовать форме go, но вместо этого имеет большое отверстие. Это означает, что вы можете разместить все, не заботясь о том, совмещено ли оно с какой-то УЖЕ ОПРЕДЕЛЕННОЙ формой. Это означает, что мы можем поместить внутрь все, что захотим, потому что нет УЖЕ ОПРЕДЕЛЕННЫХ фигур, которые можно только вставить. Кроме того, когда мы хотим получить все формы, мы можем просто перевернуть коробку вверх дном, и все формы выпадут. В базах данных No SQL мы не следуем определениям при вставке данных и не выполняем объединения, поэтому требуется меньше времени и производительности.
...