Может ли кто-нибудь сказать мне, каковы последствия при попытке использовать обычную базу данных в качестве хранилища данных?
Я понимаю, что хранилище данных известно тем, что хранит данные в более структурированном виде, но каковы последствия использования стандартной базы данных для достижения того же результата? Можно ли просто создать обычную таблицу базы данных со структурированными данными, как если бы она находилась в хранилище данных?
@SamM Просто обычная база данных, такая как MS SQL Server или Oracle.
Что вы понимаете под «хранилищем данных»? :-)
Проблема не в структуре данных, а в оптимизации.
Базы данных OLTP, такие как SQLS, оптимизированы для надежной записи транзакций. Они хранят данные в виде записей и широко используют дисковый ввод-вывод.
Базы данных бизнес-аналитики, такие как Redshift или Teradata, оптимизированы для запроса данных. Они хранят данные в виде столбцов и часто находятся только в памяти (без дискового ввода-вывода).
В результате традиционные базы данных лучше справляются с получением данных, в то время как базы данных бизнес-аналитики лучше справляются с получением данных (обе платформы пытаются смягчить свои недостатки, поэтому разница размывается).
На практике вы можете использовать обычные базы данных, такие как SQLS, для создания хранилища данных без каких-либо проблем, если только ваши потребности не являются особыми:
Вы также можете комбинировать обе платформы. Импортируйте, обрабатывайте, интегрируйте и храните данные в обычной базе данных, а затем преобразуйте их в звездообразную схему (размерную модель) и опубликуйте в базе данных бизнес-аналитики (т.е. сохраните нормализованные данные в SQLS и опубликуйте звездную схему в Redshift).
Если вы собираетесь импортировать данные в инструменты бизнес-аналитики, такие как Tableau или PowerBI, вы можете безопасно использовать любую традиционную базу данных, поскольку они полагаются на свои внутренние механизмы, а использование базы данных бизнес-аналитики не даст вам никаких преимуществ.
хранилища данных также будут иметь избыточные или повторяющиеся данные в них, а не совсем то, что вы ищете в обычной базе данных
Что вы имеете в виду под «обычной базой данных»?