@StoneHeart
Я бы пошел сюда с EAV и MVC полностью.
@Bill Karvin
Вот некоторые из недостатков EAV:
No way to make a column mandatory (equivalent of NOT NULL). No way to use SQL data types to validate entries. No way to ensure that attribute names are spelled consistently. No way to put a foreign key on the values of any given attribute, e.g.
для таблицы поиска.
blockquote>Все те вещи, которые вы упомянули здесь:
- проверка данных
- атрибуты имен проверка орфографии
- обязательные столбцы / поля
- обработка уничтожения зависимых атрибутов
по-моему
На мой взгляд, использование базы данных таким образом - это например, используя камень, чтобы забить гвоздь. Вы можете сделать это с помощью скалы, но не можете ли вы использовать молоток, который более точно и специально разработан для такого рода деятельности?
Получение результатов в обычном табличном макете является сложным и дорогой, потому что для получения атрибутов из нескольких строк вам нужно сделать JOIN для каждого атрибута.
blockquote>Эта проблема может быть решена путем создания нескольких запросов на частичные данные и обработки их в табличной компоновке с вашим приложением , Даже если у вас есть 600 ГБ данных о продукте, вы можете обрабатывать его партиями, если вам нужны данные из каждой отдельной строки в этой таблице.
Далее. Если вы хотите улучшить производительность запросов, вы можете выбрать определенные операции, например, например отчет или глобальный текстовый поиск и подготовить для них индексные таблицы, которые будут хранить требуемые данные и будут периодически обновляться, скажем каждые 30 минут.
Вам даже не нужно беспокоиться о стоимости дополнительных данных хранения, потому что каждый день он дешевле и дешевле.
Если вы все равно будете обеспокоены эксплуатацией операций, выполняемых приложением, вы всегда можете использовать Erlang, C ++, Go Language для предварительной обработки данных, а затем просто обработайте оптимизированные данные в главном приложении.
Попробуйте удалить GameService у провайдеров, как у вас providedIn: 'root'
. И HttpClient там тоже не нужен
Хорошо, проблема была в том, что я пытался установить локально эту библиотеку, но когда я писал в NPM, это работало. Очевидно, проблема возникает, когда я пытаюсь установить локально.