Выбор типа базы данных для хранения информации о продукте - PullRequest
0 голосов
/ 22 апреля 2019

Я работаю над проектом по разработке базы данных, где нам нужно хранить данные о продукте и делать их доступными через REST API. Конечная цель - сделать данные о продукте доступными для нескольких компаний, которые намереваются использовать данные о продуктах на разных платформах электронной коммерции. Хранилище данных, в котором мы будем хранить данные о продукте, не будет прямым источником ни для одной из платформ электронной коммерции. Это просто централизованное хранилище, которое будет использоваться компаниями, использующими его для переноса данных на свои собственные платформы электронной коммерции.

Данные о продукте будут включать атрибуты продукта, такие как размер, цвет, вес и т. Д., В форме пар ключ / значение, которые различаются в зависимости от продукта (продукт 1 может иметь 10 атрибутов, а продукт 2 может иметь 37 атрибутов, ни один из которых не совпадает с продуктом 1), и он будет включать в себя изображения, технические характеристики продукта, таблицы безопасности материалов и информацию о таксономии. Мы также собираемся хранить информацию о продавце, который продает продукт.

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

Product Table: ID (PK), UPC, Description, VendorID (FK), SegmentID (FK), CategoryID (FK), TypeID (FK), SubTypeID (FK), DateAdded, DateLastModified,

Vendor Table: ID (PK), Name, Address, Description, DateAdded, DateLastModified

Segment Table: ID (PK), Description, DateAdded, DateLastModified

и т. Д. И т. Д. *

Часть, с которой я борюсь, это Атрибуты. Должны ли атрибуты находиться в поле таблицы продукта в формате XML или в отдельной таблице со столбцами ключ / значение?

Является ли реляционная база данных правильным подходом или вместо нее следует использовать базу данных NoSQL, например MongoDB?

Будет несколько сотен тысяч товаров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...