Почему использование NoSQL по Осуществленным Представлениям?

Был большой разговор недавно о NoSQL.

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

С Осуществленными Представлениями однако, можно сохранить данные нормализованными, все же сохранить его как единственное табличное представление по тем же причинам, почему Вы использовали бы NoSQL.

По сути, почему кто-то использовал бы NoSQL по Осуществленным Представлениям?

11
задан JustinT 9 April 2010 в 13:45
поделиться

2 ответа

Одна из причин заключается в том, что материализованные представления будут плохо работать в ситуации OLTP, когда имеется большое количество INSERT по сравнению с SELECT.

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

Таким образом, хотя материализованные представления могут помочь при чтении, они ничего не делают для ускорения записи.

6
ответ дан 3 December 2019 в 10:03
поделиться

NoSQL не предназначен для повышения производительности вашей базы данных SQL. Речь идет о рассмотрении вариантов, отличных от хранилища SQL по умолчанию, когда нет особой причины для хранения данных в SQL вообще.

Если у вас есть установленная база данных SQL с хорошо продуманной схемой, и ваше единственное новое требование - повышение производительности, добавление индексов и представлений, безусловно, является правильным подходом.

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

4
ответ дан 3 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: