Разработка функции предложения тегов при запуске с помощью C # и базы данных - PullRequest
0 голосов
/ 04 февраля 2012

Очень простая особенность со сложным внутри.

Я хочу, когда пользовательский тег ввода я даю предложения. Например, когда вы набираете a, я предлагаю ASP, ASP.net, Apache и т. Д. И т. Д.

У меня есть (или я сохраню) введенные пользователем теги. У меня есть два варианта (места) для их сохранения.

  • SQL Azure
  • Azure Table Storage
  • или оба

По поводу структуры данных я пока не уверен. Но я думаю, <tagText> <tagUsedTimes> должно быть необходимым. Для <tagUsedTimes> нет необходимости очень точно (так как это всего лишь предложение). И для <tagText> я не знаю, должен ли я сохранять это литературно, но если я это сделаю, я должен сравнить текст по .left(length)=, не будет работать хорошо.

Шкала. Вы можете получить представление о том, сколько тегов было использовано в стеке потока из миллионов сообщений. И не так как stackoverflow, пользователь может вводить любые теги, не ограничиваясь существующими тегами (я обнаружил, что могу создавать новые теги только после того, как у меня здесь 1500 репутаций).

Пожалуйста, укажите мне способ правильно построить это.

[EDIT]

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

UPDATE

для <tagUsedTimes>, у меня есть способ с момента его развертывания при запуске. Я могу +1 для существующих тегов, когда новая запись (или статья и т. Д.) Сохранена, и создать несуществующие теги и установить <tagUsedTimes> в 1. Для редактирования старой записи, просто -1 для удаленных тегов .... Может быть неточным долго запустить, так как может иметь ошибки здесь и там в течение времени. Но я думаю, что этого числа достаточно для популярности тега.

1 Ответ

2 голосов
/ 03 июля 2012

Хранение таблиц работает быстро, если вы точно знаете, какой раздел вы собираетесь использовать.Если вы собираетесь использовать первую букву, чтобы определить, что раздел может работать, но рано или поздно у вас будут огромные разделы, и это повлияет на производительность.

Sqlazure, работающий с осколками, может быть эффективным решением для этого случая и дает вам возможность легко перемещать осколки, обеспечивая очень масштабируемое решение.

Кроме того, для хранения таблицы требуется несколько секунд, чтобынастройки и имеют большую задержку, чем Sqlazure.

...