Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / 10 млн строк в таблице / 9 сообщений из 9, страница 1 из 1
18.09.2017, 23:01
    #39522978
vlad2010
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
10 млн строк в таблице
Добрый день коллеги,

Проектирую внутренню систему проведения опросов.
Схема у меня вырисовывается такая, что в одной из таблиц может быть 3-4 млн строк примерно и это число я думаю может расти и до 10 млн. Вопрос вот в чем , будет ли такой размер проблемой для Oracle 12? Это похоже на ошибку дизайна или это такое количество строк нормально?

Как это получилось:
Представим таблицу с опросами - survey_table их будет примерно 17, таблицу с назначениями survey_assignments кому назначен опрос ( около 17 * 2000 пользователей ) , и survey_questions таблица с вопросами примерно 17*100. Все ответы будут в одной таблице survey_results и нужный ответ я буду выбирать по id опроса, и assignement id. И получается 17 опросов * 100 вопросов * 2000 пользователей.

Я смотрел структуру базы open source системы опросов Lime Survey и там я вижу, что для каждого Survey создается своя таблица вида lime_survey_XXXXX, и lime_syrvey_token_XXXX где XXXX что то типа номера опроса. Я думал от этого отойти и использовать фиксированное количество таблиц. Кроме того, мне не нравится что в их структуре таблицы с ответами каждая строка соответствует ответу одного пользователя на все вопросы. К количество колонок в таблице получается более 100. На Mysql INNODB таблицах мы даже столкнулись с ограничением на максимальную длину строки.

Что думаете коллеги?
...
Рейтинг: 0 / 0
19.09.2017, 03:13
    #39522996
10 млн строк в таблице
vlad2010,

10 млн. строк - не проблема. При правильной индексации и/или секционирование - работать будет на "ура"
...
Рейтинг: 0 / 0
19.09.2017, 04:47
    #39523000
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
10 млн строк в таблице
Только так.
Иначе при появлении 101 вопроса гемора будет больше.
...
Рейтинг: 0 / 0
19.09.2017, 09:04
    #39523035
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
10 млн строк в таблице
...
Рейтинг: 0 / 0
19.09.2017, 10:58
    #39523131
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
10 млн строк в таблице
vlad2010,

Визуализируй свои мысли - набросай ER-диаграмму. Вопросы открытые/закрытые, с единственнным/множественным выбором, условные переходы и т.д.
vlad2010Кроме того, мне не нравится что в их структуре таблицы с ответами каждая строка соответствует ответу одного пользователя на все вопросы. К количество колонок в таблице получается более 100.Подход с динамическим созданием колонок в зависимости от набора вопросов и ответов текущего опроса - это не для нас. Структуру самого опросника, а так же факты ответов на него можно хранить, например, в плоской EAV-подобной структуре, либо XML. Если XML, то для контроля целостности можно прикрутить проверку по XSD средствами БД.
...
Рейтинг: 0 / 0
19.09.2017, 14:29
    #39523311
10 млн строк в таблице
AmKad, откуда такие познания в сфере опросов? или сходу придумываешь?
...
Рейтинг: 0 / 0
19.09.2017, 22:38
    #39523522
vlad2010
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
10 млн строк в таблице
Коллеги спасибо, мои опасения не подтвердились и предложенная мной схема имеет право на жизнь
...
Рейтинг: 0 / 0
24.09.2017, 00:12
    #39525360
д0kХ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
10 млн строк в таблице
vlad2010Добрый день коллеги,

Проектирую внутренню систему проведения опросов.
Схема у меня вырисовывается такая, что в одной из таблиц может быть 3-4 млн строк примерно и это число я думаю может расти и до 10 млн. Вопрос вот в чем , будет ли такой размер проблемой для Oracle 12? Это похоже на ошибку дизайна или это такое количество строк нормально?

Как это получилось:
Представим таблицу с опросами - survey_table их будет примерно 17, таблицу с назначениями survey_assignments кому назначен опрос ( около 17 * 2000 пользователей ) , и survey_questions таблица с вопросами примерно 17*100. Все ответы будут в одной таблице survey_results и нужный ответ я буду выбирать по id опроса, и assignement id. И получается 17 опросов * 100 вопросов * 2000 пользователей.

Я смотрел структуру базы open source системы опросов Lime Survey и там я вижу, что для каждого Survey создается своя таблица вида lime_survey_XXXXX, и lime_syrvey_token_XXXX где XXXX что то типа номера опроса. Я думал от этого отойти и использовать фиксированное количество таблиц. Кроме того, мне не нравится что в их структуре таблицы с ответами каждая строка соответствует ответу одного пользователя на все вопросы. К количество колонок в таблице получается более 100. На Mysql INNODB таблицах мы даже столкнулись с ограничением на максимальную длину строки.

Что думаете коллеги?

Лучше увеличивать количество записей в таблицах
чем количество таблицы и полей.

Когда последний раз считал у меня в самой толстой таблице было
около 4 млрд записей.
...
Рейтинг: 0 / 0
24.09.2017, 05:04
    #39525376
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
10 млн строк в таблице
д0kХЛучше увеличивать количество записей в таблицах
чем количество таблицы и полей.

Но есть исключения.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / 10 млн строк в таблице / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]