Назад | Перейти на главную страницу

Совет по требованиям к серверу DB / Webapp

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

В будущем надеюсь найти еще несколько клиентов. В следующие несколько лет у меня может быть до 5 баз данных и веб-интерфейсов, работающих для 5 разных клиентов, и все они будут нуждаться в строгой безопасности при создании, вероятно, миллионов записей ежегодно (в совокупности по всем базам данных).

Я хотел бы запустить все это с помощью сервиса Amazon EC2, но мне сложно решить, какой тип инстанса запустить. Я не уверен, что мне нужно иметь несколько отдельных экземпляров Linux, по одному для каждого клиента, или запускать один «большой» экземпляр, который будет управлять всеми базами данных клиентов и веб-интерфейсами.

Я знаю, что конфигурация оборудования весьма специфична для конкретной задачи. Веб-интерфейсы будут использовать JQuery, чтобы сделать запросы MySQL «красивыми», и я, вероятно, буду рисовать данные в виде графиков (опять же с JQuery). Внешние интерфейсы будут использовать SSL для безопасности, что, как я понимаю, может увеличить скорость сети.

Я ищу ваши мысли по поводу этой ситуации.

Спасибо

На этот вопрос практически невозможно ответить без характеристик времени выполнения ваших запросов, конкретных ожиданий производительности и т. Д. Поэтому я просто скажу следующее: начните с малого и увеличивайте масштаб по мере необходимости. Я также не совсем уверен, что вы имеете в виду, в частности, под «миллионами записей в год», но даже при скромном оборудовании вы сможете без особых хлопот передавать 10–30 тыс. Транзакций в секунду [по данным sysbench].

Что касается отдельных серверов для каждого клиента? Это зависит от того, какие данные вы храните. Если это не очень важно, сэкономьте немного денег и запустите несколько баз данных / внешних интерфейсов на одном сервере, а затем при необходимости отключите более крупные. Однако если у вас есть конфиденциальные данные, неплохо было бы запустить отдельные серверы, чтобы в случае взлома одного из них вы не потеряли всю корзину.

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

edit: если вы не загружаете массовые объемы данных, накладные расходы SSL совершенно незначительны.