28
INTERBASE XE7 - УНИВЕРСАЛЬНАЯ СУБД ДЛЯ WINDOWS, LINUX, MAC, IOS , ANDROID Андрей Совцов Embarcadero,Москва email: [email protected] Дмитрий Кузьменко Embarcadero MVP, Генеральный директор iBase.ru, Москва email: [email protected]

Interbase xe7 - универсальная субд для windows linux mac ios android

Embed Size (px)

Citation preview

Page 1: Interbase xe7 - универсальная субд для windows linux mac ios android

INTERBASE XE7 - УНИВЕРСАЛЬНАЯ СУБД ДЛЯ WINDOWS, LINUX, MAC, IOS, ANDROID

Андрей СовцовEmbarcadero,Москваemail: [email protected]

Дмитрий КузьменкоEmbarcadero MVP, Генеральный директор iBase.ru, Москваemail: [email protected]

Page 2: Interbase xe7 - универсальная субд для windows linux mac ios android

Содержание

1. Достоинства

2. Платформы

3. Применение

4. Редакции

5. Архитектура приложений и СУБД

6. ChangeViews

7. Разработка и отладка

8. Специфика мобильных устройств

9. Настройка InterBase

10. Разработка на Linux

11. Важная функциональность (online dump и другое

12. Шифрование

Page 3: Interbase xe7 - универсальная субд для windows linux mac ios android

Главные достоинства

• Минимум требований к аппаратному обеспечению

• Минимум требований к ОС – десктопная или серверная

• Минимум администрирования

–Может работать годами без обслуживания

–Для больших баз с большим количеством пользователей обслуживание требуется для достижения максимальной производительности

• Идентичность БД для разных платформ

Page 4: Interbase xe7 - универсальная субд для windows linux mac ios android

InterBase XE7 - платформы

• Исторически – InterBase был создан для Unix. Версия для Windows появилась только в 1994 году

• 64-bit– Windows 7, 8, Server 2008, 2012 (R2)– Linux RHEL 6, 7 SuSE 11.3, Ubuntu 14

• 32-bit– Windows 7, 8, Server 2008, 2012– Linux RHEL 6, SuSE 11.3, Ubuntu 14

• OS X, Android, iOS– InterBase XE3– InterBase XE7 – Update 1, выпущен 6 марта 2015

http://cc.embarcadero.com/item/30155http://www.youtube.com/watch?v=l5fu2HXERbE

Page 5: Interbase xe7 - универсальная субд для windows linux mac ios android

Платформы

• Вся функциональность одинакова

–Кроме ограничений IBLite

• Разница

–Пути установки и к БД (отличия Windows и Linux)server:c:\dir/data.ib, server:\usr/data\data.ib

–Сторонние UDF

–Производительность?вечный вопрос, кто лучше - Windows или Linux

Page 6: Interbase xe7 - универсальная субд для windows linux mac ios android

InterBase - Применение

• Длительная история использования – с 1985 годаПервый коммерческий сервер с многоверсионностью

• Базы данных в среднем до 200 гигабайт• база данных может иметь размер до 131 терабайт

• До 500 одновременных пользователей• чаще является лимитом операционной системы

• Бухгалтерия, склад, системы денежных переводов, биллинг, торговля, системы учета …

• Однопользовательские и многопользовательские приложения

Page 7: Interbase xe7 - универсальная субд для windows linux mac ios android

Редакции InterBase

• InterBase Server / InterBase Developer Edition

–Windows, Linux, Os X

• InterBase Desktop

–Windows

• IBToGo

–Windows, Os X

• IBLite, IBToGo

–Windows, iOs, Android

• Разработка для мобильных устройств

• RAD Studio XE Professional и выше

• Delphi/C++Builder Enterprise и выше

• Delphi/C++Builder Professional + Mobile Pack

Page 8: Interbase xe7 - универсальная субд для windows linux mac ios android

Какую СУБД выбрать для простой БД?

• Ту, которую вы лучше знаете

• Оценить перспективы роста

–Сегодня на смартфоне, завтра на сервере

–Сегодня 1 пользователь, завтра 5, послезавтра 100

–Сегодня БД 100мб, завтра 100гб

–Сегодня вы разрабатываете на Windows, а завтра – на Linux

• Клиент-сервер, драйверы

Page 9: Interbase xe7 - универсальная субд для windows linux mac ios android

Клиент-сервер

ПриложениеКлиентская

часть InterBase

Сервер InterBase База данных

сеть

gds32.dllIBLiteIBToGo

Page 10: Interbase xe7 - универсальная субд для windows linux mac ios android

IBLite, IBToGo – и клиент, и встроенный сервер

ПриложениеКлиентскаячастьInterBase

Сервер InterBase

Локальная база данных

IBLite, IBToGoсервер в dll/so

Page 11: Interbase xe7 - универсальная субд для windows linux mac ios android

Пакетный режим

ПриложениеIBLite

IBToGo

Сервер InterBase База данных

Сеть – локальная,wifi, gprs…

Локальная база данных

Page 12: Interbase xe7 - универсальная субд для windows linux mac ios android

Синхронизация

IBLiteIBToGo

Сервер InterBase

База данныхЛокальная база данных

изменения

изменения

ChangeViews

Page 13: Interbase xe7 - универсальная субд для windows linux mac ios android

Отслеживание изменений по подписке

• Subscription – определяет какие изменения (insert/update/delete) и для каких таблиц мы хотим отслеживать

• Активация подписки – какую подписку и с какого устройства хотим использовать

–После активации все запросы показывают только измененные данные

–Для просмотра текущих данных подписку нужно деактивировать

Page 14: Interbase xe7 - универсальная субд для windows linux mac ios android

Активация подписки

• start transaction

• select …

– Получаем обычные данные

• set subscription … active

• select …

– Получаем изменения, на которые подписались

• set subscription … inactive

• select

– Получаем обычные данные

• …

• commit – информация о просмотренных изменениях будет удалена

• rollback – просмотренные изменения подписки не удаляются

Page 15: Interbase xe7 - универсальная субд для windows linux mac ios android

Разработка - компоненты

• FireDAC (предпочтительно)

• dbExpress

• IBX

Page 16: Interbase xe7 - универсальная субд для windows linux mac ios android

Разработка

• Создаем и разрабатываем базу данных– IBConsole, IBExpert, SQL Manager, DatabaseWorkbench

– База должна быть в юникоде. Т.е. создана с кодировкой UTF8

• Создаем мобильное приложение, с целевой платформой Win32– Для упрощения начального старта

• Используем InterBase Developer Edition, подсоединяемся к БД как к серверу– Server_name, tcp, c:\db\database.ib

– Чарсет коннекта – UTF8

– Видим данные в design-time

• Запускаем приложение– Для проверки работоспособности вообще – на win32

– На эмуляторе, если нет устройства

– На устройстве

Page 17: Interbase xe7 - универсальная субд для windows linux mac ios android

Отладка

• С IBLite, IBToGo - это неудобно– IBLite придется поместить в bin установки Delphi

– При отладке изменения, которые будут сделаны на устройстве или в эмуляторе, потеряются (deployment перезаписывает все файлы)

• Как проще– Использовать сервер InterBase на своем компьютере

– Прописать в свойстве Databasecomputername:c:\dbpath\database.ib, подключиться

– Включить на устройстве wifi, подключиться к локальной сети, чтобы устройство могло обратиться к InterBase на вашем компьютере

– В этом случае и Delphi и устройство будут работать с одной БД

– По окончании отладки указать локальный путь для БД на устройстве и поменять deployment (не забыв выключить InterBase, чтобы копируемая на устройство БД не оказалась битой)

Page 18: Interbase xe7 - универсальная субд для windows linux mac ios android

Специфика мобильных устройств

• Где находится локальная БД?

• На какой «диск» ее поместить?

• Как скачать БД?

• Как делать бэкап?

• Как обновлять данные в БД, или получать оттуда изменения?

Page 19: Interbase xe7 - универсальная субд для windows linux mac ios android

Настройка

• IBCONFIG

• Характеристики аппаратного обеспечения

• Настройки операционной системы

–Windows – никакие (за исключением виртуальной памяти и temp)

– Linux – для увеличения критических значений требуется перекомпиляция ядра

• Мониторинг tmp$

– tmp$attachments, tmp$transactions, tmp$statements

• Мониторинг окружения ОС – память, процессор, диски

Page 20: Interbase xe7 - универсальная субд для windows linux mac ios android

Linux

• InterBase – RHEL 6, SuSE 11.3, Ubuntu 14

• FireDAC

• Разработка - все то же самое

• Инструменты – увы, на линуксе почти ничего нет

–Wine, или windows-tools в виртуальной машине

Page 21: Interbase xe7 - универсальная субд для windows linux mac ios android

Важная функциональность

• ChangeViews

• Идентичность функциональности на всех платформах

• Абсолютная совместимость БД – можно переносить между разными платформами

Page 22: Interbase xe7 - универсальная субд для windows linux mac ios android

Резервирование или распределение нагрузки через online dump

Сервер InterBase

База данныхDump 1

read-onlyDump 2

Сервер InterBase

2

1 раз в час1 раз в сутки

Page 23: Interbase xe7 - универсальная субд для windows linux mac ios android

Производительность online dump

• Online dump – физическое копирование файла БД во время работы

–Скорость копирования практически равна скорости копирования файла БД

–БД 16 гигабайт (tpc-r)backup – 17 минут, restore – 51 минутаonline dump – 2 минуты 20 секунд (116 мегабайт в секунду на конкретном устройстве).

–При повторе вычитывает только измененные страницы – не сканирует всю БД

Page 24: Interbase xe7 - универсальная субд для windows linux mac ios android

Шифрование

• Появилось с версии 2009

• 3 части

–Шифрование соединения (OTW, ssl v3 tls v 1)

–Шифрование БД – всей и/или отдельных столбцов

–Шифрование бэкапов

• Ключи DES и AES (128 бит)

• http://www.ibase.ru/ib-encrypt/

Page 25: Interbase xe7 - универсальная субд для windows linux mac ios android

Спасибо за внимание!

Андрей СовцовEmbarcadero

Email: [email protected]

Blog: http://embt.co/ASovtsovTel: +7(495)708 4393

Записи вебинаров: http://embt.co/MrAndySova

Блоги Embarcadero (все языки):

http://community.embarcadero.com/index.php/ru/blogs

+7(495) 953-13-34, [email protected], [email protected]

Кузьменко ДмитрийiBase.ru

Генеральный директор IT-эксперт

Page 26: Interbase xe7 - универсальная субд для windows linux mac ios android

Delphi, C++Builder, RAD Studio

• InterBase Developer Edition

–Бесплатен для использования только при разработке

• IBLite

–Бесплатен для использования после регистрации

• IBToGo

– test deployment license

–Для распространения на устройствах требуется VAR-соглашение

Page 27: Interbase xe7 - универсальная субд для windows linux mac ios android

Описание

возможностиIBLite InterBase ToGo

InterBase

DesktopInterBase Server

Платформы Android, iOSAndroid, iOS,

Windows, OS XWindows

Windows, OS X,

Linux, Solaris

Лицензирование

ядер ЦП1 4 4 8+

Максимальное

число

одновременных

пользователей

1 2 2 Не ограничено

Число

подключений

одного

пользователя

1 4 4 4

Удаленный доступ

клиентовДа Да Да Да

TCP-сервер с

сетевым доступомНет Нет Нет Да

Page 28: Interbase xe7 - универсальная субд для windows linux mac ios android

Описание

возможностиIBLite InterBase ToGo

InterBase

DesktopInterBase Server

TCP-сервер с

сетевым доступомНет Нет Нет Да

Строгое

шифрование баз

данных и

столбцов (AES)

Нет Да Да Да

Строгое

шифрование

сетей (SSL)Нет Да Да Да

Ограничение

размера файла

базы данных100МБ

Без

ограничений

Без

ограничений

Без

ограничений

Возможность

импорта

дополнительных

лицензий

Нет Нет Нет Да