О лицензировании Оракла простым языком с сайта: http://www.oraclebi.ru/2007/07/23/licensing/
Named User Plus – это метрика, по которой лицензируются так называемые именованные пользователи. Именованный пользователь – это конкретный человек или устройство, которое работает с продуктом, например с СУБД и которого можно идентифицировать и посчитать. То есть, это не логин, прописанный в базе, а конкретный Иванов И.И., который работает на предприятии. То есть, у вас может работать 100 человек, которые работают с базой – и вам нужно на них 100 лицензий, независимо от того, как устроено приложение, с которым они работают. Все ли они ходят под одним логином или у каждого свой или даже у каждого этих логинов может быть несколько. Считаются именно люди. Или устройства. Если у вас есть какой-то датчик температуры или счетчик электричества, который работает с базой, например пишет туда показания, такое устройство тоже считается пользователем и должно быть пролицензировано.
Бывают ситуации, когда все пользователи работают, например, через сервер приложений или через другое приложение, которое само работает с базой данных. То есть, в СУБД может быть открыта одна сессия от имени одного пользователя-сервера приложений, а все реальные пользователи работают через этот сервер приложений. В этом случае кажется, что вроде бы у нас один пользователь СУБД, но на самом деле тут мы сталкиваемся с ситуацией, когда сервер приложений называется мультиплексором. То есть, множество пользователей работает через него. Это вопрос архитектуры системы, использовать ли сервера приложений, кластера и т.д, но все пользователи которые работают с базой даже через мультиплексор, должны лицензироваться.
Хороший момент в лицензии Named User Plus заключается в том, что тот же самый Иванов И.И., имея пользовательскую лицензию на СУБД Oracle database EE может работать с любым сервером на предприятии, на котором стоит Oracle Database EE. То есть, вам на Иванова И.И. нужна только одна лицензия для работы с 10 серверами Oracle.
Однако, существует такое понятие как лицензионные минимумы, которые у каждого продукта свои. Например, в случае Oracle Database EE – минимум – 25 пользователей на процессор сервера. Если у вас 10 однопроцессорных серверов, на которых установлена база и 100 реальных пользователей, которые работают с этими десятью серверами, то число лицензий будет 250, то есть по 25 пользователей на сервер, а не по 100 пользователей на сервер, как можно было бы подумать если бы лицензия была привязана к одной машине. С другой стороны, если бы у вас есть только один однопроцессорный сервер, то несмотря на то, что минимум – 25 пользователей, а в реальности у вас их 100 – лицензировать нужно 100. Но если вы поставите к нему второй сервер и сделаете из них кластер, то формально, нужно докупить только опцию Real Application Clusters, а самих лицензий на базу у вас и так хватает, так как минимум на 2 однопроцессорных сервера – 50 лицензий, а у вас их уже 100.
Лицензионная метрика Named User Plus применяется в тех случаях, когда количество пользователей можно четко сосчитать. То есть, можно составить список всех людей и всех устройств, которые работают с базой или другим продуктом. Но такие ситуации существуют не всегда. Например, если у вас есть банкомат, который связан с базой Oracle, а с банкоматом работают клиенты со своими карточками, то в этом случае каждый клиент банка является пользователем Oracle, но работает он с ним через мультиплексор – банкомат.
В этом случае у нас проблема – у нас не только очень много пользователей, но и количество пользователей сосчитать невозможно, так как банкоматом могут пользоваться не только клиенты банка, но и клиенты других банков. Такая же ситуация возникает и с интернет приложениями – сколько у вас будет пользователей – неизвестно и сосчитать это невозможно.
Другая ситуация – когда пользователей сосчитать можно, но их очень много – например, есть у вас 1000 пользователей, которые пользуются приложением раз в месяц. Нагрузка на сервер небольшая. Однопроцессорной машины может хватить, но с другой стороны не хочется покупать 1000 лицензий.
В случаях, когда пользователей сосчитать нельзя или их число очень велико, применяется лицензионная метрика Processor.
С ней все гораздо проще. Есть у вас однопроцессорная машина – вы покупаете на этот один процессор процессорную лицензию и сколько у вас пользователей или устройств, которые работают с базой и используются ли мультиплексоры или нет – не важно. Для большинства продуктов использование процессорной метрики оправдано, когда у вас больше чем 50 пользователей на процессор. Потому что процессорная лицензия обычно стоит столько же, сколько 50 пользовательских. Например, для Oracle Database EE – пользовательская стоит $800, а процессорная $40000.
Например, в случае, если у вас однопроцессорный сервер, с которым работает 100 человек – процессорная лицензия будет стоить в два раза дешевле, чем 100 лицензий на пользователя. С другой стороны, если у вас больше чем 2 сервера, то вам может быть выгоднее покупать по пользователям.
Как видите, в каждом конкретном случае нужно считать, что выгоднее и думать о том будет ли это выгоднее в будущем, если у вас увеличится число пользователей или число серверов.
Отдельная тема – что считать процессором в случае многоядерных процессоров?
Лицензионная политика постоянно меняется и подстраивается под увеличивающуюся мощь компьютеров. Когда-то для расчета количества лицензий использовалась частота процессора на сервере или число одновременно работающих пользователей.
В случае с многоядерными процессорами, Oracle долгое время не делал разницы между ядрами и процессорами, и каждое ядро нужно было считать за отдельный процессор. Но в этом случае, получается, что не смотря на то, что двухъядерный процессор (чип) стоит дешевле, чем два одноядерных, в то же время, лицензия на двухъядерный процессор стоит столько же, как на два одноядерных, хотя двухъядерный процессор по производительности не эквивалентен двум одноядерным.
А если ядер 4 или больше?
В итоге, решили считать каждое ядро за процессор, с некоторым понижающим коэффициентом. Например, на текущий момент, многоядерные процессоры Intel и AMD считаются с коэффициентом 0.5. То есть на два ядра нужно покупать 1 процессорную лицензию.
В случае с Sun UltraSPARC T1 коэффициент 0.25.
Все остальные ядра процессоров считаются с коэффициентом 0.75.
Если при расчете получается дробное число – оно округляется в большую сторону.
Возможно, что в будущем тут еще что-то поменяется.
Конечно, в короткой заметке нельзя рассказать обо всех особенностях лицензирования. Не говоря уж о том, что Named User Plus и Processor, – это не единственные метрики, хотя и наиболее часто используемые. Существуют, например, специальные типы лицензирования для разработчиков. Или есть правила лицензирования для Standby серверов. И т.д.