Шаблон для управления большими загруженными пользователями наборами данных? - PullRequest
1 голос
/ 10 декабря 2010

Я относительно нубский программист. Я создаю веб-инструмент ГИС, где пользователи могут загружать пользовательские наборы данных в диапазоне от 10 строк до 1 миллиона. Наборы данных могут иметь переменные столбцы и типы данных. Как вы управляете этими пользовательскими наборами данных?

Является ли создание таблицы для набора данных плохой идеей? (Кстати - я буду использовать postgresql в качестве базы данных).

Приношу свои извинения, если это уже где-то ответили, но мой поиск не дал хороших результатов Я могу использовать плохие ключевые слова в моем поиске.

Спасибо!

Ответы [ 2 ]

1 голос
/ 10 декабря 2010

создание таблицы для набора данных вовсе не является «плохой» идеей.Приложение swivel.com было очень похоже на то, что вы описываете, и мы использовали таблицу для каждого набора данных, и оно очень хорошо работало для генерации графиков на загруженных пользователями наборах данных и сравнения данных между наборами данных с помощью объединений.у нас было более 10 тысяч наборов данных и около миллиона графиков, а некоторые наборы данных были очень большими.

вы также получаете много свободного использования от вашего уровня orm, например, мы могли бы использовать активную запись для работы с набором данных (каждый набор данных является сгенерированным классом модели, для которого таблица установлена ​​в фактическую таблицу)

Подводный камень в том, что вам нужно выполнять МНОЖЕСТВО объединений, если у вас есть какие-либо перекрестные вычисления.

1 голос
/ 10 декабря 2010

Мои коллеги и я недавно решили аналогичную проблему, когда у нас была плохая модель данных в MySQL, и мы искали более эффективные способы ее реализации.Мы взвесили несколько различных вариантов, включая MongoDB, и в итоге использовали модель значений атрибутов сущности.Модель EAV по сути представляет собой модель с тремя столбцами.Это позволило нам в единой модели представлять переменное количество столбцов и типов данных.

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

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