2011-01-29 3 views
0

Мне нужно отслеживать всю историю поиска моих пользователей и показывать их обратно. Одна строка для каждой позиции поиска не кажется лучшим способом ее хранения, так как она будет быстро расти и увеличиваться. Какие еще существуют технологии для хранения таких данных. Это пишите один раз и читайте всегда. История поиска будет отображаться на многих страницах.История поиска - предложения схемы?

ответ

1

Прежде всего я хотел бы отделить бизнес-потребность от солитона и любые потенциальные технические проблемы (I.E., производительность базы данных).

Деловая необходимость должна сформулировать проблему и каков ожидаемый результат. Например, вам может потребоваться сохранить всю историю поиска, но отображать только последние 50 в очень заметном разделе вашего пользовательского интерфейса. Остальная часть истории поиска может быть выложена в какой-либо форме группировки (I.E., год и месяц) и показана только в пользовательском интерфейсе с отдельного экрана/отчета.

Понимание этой потребности покажет вам самое простое и наиболее подходящее решение. Помните, что вы всегда можете вертикально или горизонтально разбивать свои данные, если производительность связана с дорогой. Используя приведенный выше пример только для сохранения последних 50 запросов, вы можете создать решение с несколькими таблицами с одной таблицей, содержащей последнюю и текущую информацию и другие таблицы для архивированных запросов. Затем вы можете сохранить архивную историю поиска в виде XML-типа.

Надеется, что это помогает

+0

Данные XML не могут быть запрошены, насколько я знаю? Таким образом, чтобы архивированные данные были пустыми до тех пор, пока они не вернутся в таблицу правильно? – SeanD

1

Что плохое в том, что быстро растут и большим? Насколько велика большая? Как медленно идет медленно?

Вы проверили, сколько времени требуется, чтобы найти 100 строк из таблицы, содержащей 100 миллионов строк? Насколько вы знаете об индексах? О нормализованном дизайне? О схеме звездной схемы?

+0

Это не 100 строк. Это целая жизнь регистрации каждого слова, которое когда-либо искали или набирали кто-либо. Я ищу, чтобы посмотреть, какие лучшие проекты для этого типа требований, прежде чем я что-нибудь придумаю. – SeanD

Смежные вопросы