Так что мне было интересно, у меня есть один недостаток NoSQL: если мое внешнее приложение когда-либо радикально изменится, мне будет ужасно время переделывать мою базу данных. Это связано с тем, что при разработке NoSQL в первую очередь учитывается внешний интерфейс. Итак, если передняя часть меняется, меняется и бэкэнд (по крайней мере, это общая идея)
Итак, моя идея заключается в том, было бы разумно хранить все мои ОРИГИНАЛЬНЫЕ / ЧИСТЫЕ копии документов в нескольких корневых коллекциях. А затем создайте коллекции «представлений», которые будут вызывать мои приложения. Что мне нравится в этом, так это то, что мои данные всегда являются "SQL" в корневом каталоге, если мне когда-либо понадобится изменить мой внешний интерфейс. Но на самом деле мои «просмотры» - это то, что будет использовать мое приложение.
Это очень похоже на таблицы измерений / справочных таблиц и таблицы фактов, которые используют люди.
Еще раз важная причина для этой идеи: если мой интерфейс резко изменится, тогда мне нужно будет проделать серьезную работу по преобразованию этих «представлений» в другие «представления». Где, как я предполагал, вы бы просто удалили свои старые «представления» и создали новые «представления», используя справочные таблицы «sql» / «root».
Я понимаю? :) Я не использовал NoSQL (но сейчас я что-то создаю с его помощью, так что мой мозг все еще борется с SQL для NoSQL, ха-ха). Так что, если это «чувак, не беспокойся об этом», тогда ты тоже можешь дать это в качестве ответа, ха-ха