SQL и NoSQL Analogy для нетехнических

Я работаю с третьим клиентом, который будет использовать как SQL, так и NoSQL-решение (часто SQL Server и Mongo). Последние два клиента, с которыми я работал, понимали большую техническую информацию, поэтому для них имели смысл такие фразы, как реляционная база данных или хранилище документов. Я склонен использовать банковскую обработку как пример SQL и хранилище блогов в качестве примера NoSQL, который - до этого момента - имел смысл для моих клиентов. Когда клиенты думают о таких примерах, как транзакции и "живые каналы", которые могут составлять сотни тысяч символов, иногда они могут отдать предпочтение обоим решениям.

Этот другой клиент, блестящий в своем бизнесе, не обладает таким техническим краем (он выдающийся харизматический лидер, так что я никоим образом не форма и форма не унижаю его, поскольку у всех нас есть свои сильные стороны). Мне любопытно, если кто-нибудь здесь должен был объяснить эти концепции баз данных незнакомым с ними людям с технической точки зрения и какие аналогии вы использовали для объяснения того, как каждый процесс работает отдельно и как они будут работать вместе?

Ответ 1

Базы данных NoSQL (или схемы, или хранилища документов, или что-то-вы) хранят информацию, подобную рецептам в книге. Когда вы хотите знать, как сделать торт, вы переходите к этому рецепту, и вся информация о том, как сделать этот торт (ингредиенты, приготовление, смешивание, выпечка, отделка и т.д.), Находится на одной странице.

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

Не было бы лучше, если бы магазин был организован по рецепту, так что вы могли бы пойти в одно место в магазине и захватить все, что вам нужно, с одного места? Разумеется, вы найдете ингредиенты, такие как яйца, в 50 разных местах, поэтому при хранении полки немного накладных расходов, но с точки зрения потребителя было намного проще/быстрее найти то, что они искали.

Ответ 2

Нет такой вещи, как noSQL. Существует только целая куча новых технологий баз данных с совершенно разными философиями и прецедентами, и все, что у них общего, - это вещи, которые они также имеют вместе с базами данных SQL. Но когда вы действительно хотите спросить, ", как я могу объяснить гетерогенную стратегию хранения нетехническому человеку), я бы использовал метафору офиса.

В вашем офисе полны листы бумаги различной информации. Но вы не храните все это одинаково:

  • Некоторые из них хранятся в вашем файловом кабинете.
  • Некоторые из них лежат на вашем столе.
  • Некоторые прикреплены к вашей плате.

Зачем ты это делаешь? Потому что каждый вид информации имеет разные характеристики доступа. Ваш пин-код заполнен данными, для которых вам нужен быстрый доступ (например, memcached). В вашем кабинете полно данных, которые вы редко смотрите или меняете, но которые могут стать очень важными в будущем. Он также очень организован для оптимизации поиска (например, реляционной базы данных). На вашем столе полны данные, на которые в данный момент вам нужен быстрый доступ. Существует не так много заказов, потому что строгий порядок вещей на вашем столе будет препятствовать вашей производительности (например, хранение документов).

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