10 причин перевести приложение для Firebird и InterBase на 64 бита.
Причина №2. Быстродействие 64 бит
Причина №3. Параллелизм 64 битных процессоров
Причина №4. Компоненты Firebird и InterBase для 64 битных приложений
Причина №5. Перевод клиентского приложения на 64-х битную архитектуру не требует перевода серверной части на 64 бита
Причина №6. IBProvider имеет собственный файл подкачки с 64-х битной адресацией
Причины 7-8-9-10. Вместо заключения
Полезные ссылки
Keywords: Firebird 64 бита, InterBase и Firebird компоненты
Сегодня мало кто сомневается, что 64-битная архитектура заменит 32-х битные платформы. Давайте разберемся, есть ли смысл задуматься о переходе на 64 бита уже сейчас?
Ограничения 32 битной архитектуры
Считается, что основное преимущество 64 бит — это возможность напрямую обращаться к огромным объемам памяти, максимальный теоретический размер данных равен 9.4 терагигабайта.
Windows Server 2003 64 бита поддерживает около 1,024 терабайта физической памяти и 512 гигабайт адресуемой памяти. В 32-х разрядных системах возможность прямой адресации памяти ограничена 4 гигабайтами. Если учесть, что операционные системы Windows используют 32-й бит в служебных целях, то количество памяти доступное приложению ограничивается 2 гигабайтами.
Для сервера баз данных это может стать существенным ограничением.
Быстродействие 64 бит
Для некоторых программ их перевод на 64-х битную платформу вряд ли прибавит производительности. Однако существует ряд преимуществ новой архитектуры, которые может благоприятно сказаться на быстродействии приложений база данных:
64 бита дает возможность обрабатывать данные больше 2 гигабайт в оперативной памяти без использования файла подкачки.
Параллелизм 64 битных процессоров
Современные процессоры (например, Intel Itanium 2) обладают большой степенью параллелизма выполняемых операций, а так же расширенной до 128 бит шиной, по которой осуществляется обмен данными между кешем и процессором, а так же между несколькими процессорами.
Следствием высокой степени параллелизма вычислений является более высокая производительность системы в целом.
Для Firebird следует ожидать повышения производительности при работе с типами данных, для хранения которых используется больше 32-х бит: DOUBLE PRECISSION, INT64, «большой» NUMERIC, DECIMAL, а так же TIMESTAMP.
Компоненты Firebird и InterBase для 64 битных приложений
Для доступа к Firebird и InterBase из 64 битных приложений можно воспользоваться компонентами IBProvider Professional Edition (32/64 bit).
Если вы ранее использовали IBProvider в 32 битных приложениях, то для вас переход на 64 бита не вызовет затруднений. 64 битный драйвер будет вести себя так же надежно, как и на 32-х битной архитектуре.
Для организации клиентского доступа существует несколько решений. В состав IBProvider входит C++ библиотека, которая совместима с 64 битной платформой.
Кроме того:
- MDAC/ADO компоненты существуют в 64 битном варианте.
- Компиляторы Visual Studio поддерживают сборку приложений под 64 бита.
Перевод клиентского приложения на 64-х битную архитектуру не требует перевода серверной части на 64 бита.
IBProvider позволяет работать со всеми версиями InterBase и Firebird как для 32-х битных операционных систем так и для 64-х битных. Таким образом, переход на новую платформу может быть более плавным, с раздельным обновлением серверной и клиентской части.
IBProvider имеет собственный файл подкачки с 64-х битной адресацией
Это утверждение справедливо как для 64-х битных, так и для 32-х битных систем.
Клиентское приложение, работающее через IBProvider, в случае если данные не помещаются в памяти, может использовать весь доступный объем жесткого диска, а не делить swap файл windows со всеми запущенными приложениями.
Ускорение производительности IBProvider на больших объемах, так же достигается за счет отказа от использования менеджеров памяти Windows, которые используются системой для адресации данных превышающих 2 гигабайта на 32 битных Windows платформах.
7-8-9-10. Вместо заключения
В качестве аргумента в защиту 32 бит можно привести то, что на сегодняшний день эта платформа еще не достигла предела своих ресурсов. Однако если уже сейчас существует возможность использовать более производительное аппаратное и программное обеспечение, почему бы не воспользоваться этим преимуществом?
Рано или поздно поддержка 32 битных приложений станет обременительной для разработчиков операционных систем и произойдет отказ от них, как это уже было раньше c 16 битами на Windows XP.
В современных условиях объем информации, который обрабатывают компьютерные системы, непрерывно увеличивается. Для серверов баз данных, таких как Firebird, необходимо не только соответствовать текущим требованиям, предъявляемым к СУБД, но и превосходить их.
И, наверное, Delphi и C++ Builder когда-нибудь обзаведутся 64 битными компиляторами, тем самым, дав возможность большой армии ценителей этих средств разработки перейти на новую платформу.
Сейчас 64-х битный компилятор для C++, C#, Visual Basic .Net и других языков есть в Visual Studio, так что можно не ждать будущего, а заранее сделать свои программы максимально переносимыми, как это делает Firebird и IBProvider. Кто будет следующим?