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

Я думаю, что вопрос должен быть скручен на его голове. Поддержка Active Directory и Kerberos и NTLM. Windows сначала попробует Kerberos и если всем требованиям не будут отвечать, то он будет нейтрализация к NTLM.

Я дам Вам, пример, получая доступ к доле файла по имени как \server1\share вызвал бы Kerberos и должен следовать за данным надлежащим разрешением. Но доступ к той же доле файла с помощью IP-адреса вызвал бы Kerberos сначала и сбой (поскольку нет никакого SPN для IP-адреса), и затем замените к NTLM.

Поэтому определите, как Ваша программа пытается пройти проверку подлинности против AD и должна сказать Вам, какой протокол используется.

Мне было бы любопытно знать, что запросило, чтобы задать Вам этот вопрос.

3
задан 21 May 2010 в 00:09
2 ответа

Существует много опций здесь. Во-первых, NDB является механизмом кластеризации MySQL, который хранит данные в памяти. NDB действительно имеет некоторые ограничения, как бы то ни было.

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

У Вас могли быть таблицы MyISAM, которые Вы конкретно храните в псевдодиске, поскольку они могут быть перемещенными индивидуально, в отличие от этого, с InnoDB. Все табличное пространство InnoDB должно было бы быть сохранено на псевдодиске.

Можно найти механизм памяти лучше удовлетворенным, чем мой взлом псевдодиска, как бы то ни было. Они также более ограничены, чем другие механизмы, поскольку они не могут поддерживать БЛОБЫ среди прочего. Для данных к сохраняемому у Вас должен был бы быть сценарий обертки, чтобы вывести и восстановить данные. Это также представляет риск для данных, поскольку потери мощности даже со сценариями привели бы к потере данных.

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

Уже существует много ресурсов, доступных на этом и на Serverfault и на Интернете в целом. MySQL имеет документ и здесь является сообщением в блоге производительности MySQL, которые являются оба очень полезными ресурсами. Вот другое сообщение, где у них есть формула для вычисления использования памяти InnoDB.

1
ответ дан 3 December 2019 в 07:43
  • 1
    бесполезный, учитывая, что сообщение уже говорит о ТОЛЬКО 8 ГБ памяти в машине, Вы знаете. –  TomTom 20 May 2010 в 20:58
  • 2
    Возможно, необходимо перечитать мое сообщение. Является английским не Ваш родной язык? –  Warner 20 May 2010 в 21:00

Лучшее, которое можно, вероятно, сделать, исследуют планы выполнения относительно длительных запросов и настраивают 1) запрос и 2) базу данных соответственно. Вы могли создать индексы для "идентифицируемых частей определенных таблиц" к запросам скорости. Вы могли также переместить свои более часто используемые данные в его собственную таблицу и менее часто используемые данные в его собственное.

Выполнение этого с блобами JSON будет трудным, потому что при необходимости в доступе к одному атрибуту блоба JSON необходимо будет выбрать и проанализировать целый блоб. Если Ваши блобы JSON находятся в последовательном формате, создают реальную структуру таблицы, чтобы отразить, что, и Вы будете, вероятно 1) уже улучшите производительность и 2) иметь намного более гибкую структуру, когда Вы должны будете к производительности настроиться позже.

0
ответ дан 3 December 2019 в 07:43

Теги

Похожие вопросы