Interbase xe7 - универсальная субд для windows linux mac ios android
1. INTERBASE XE7 - УНИВЕРСАЛЬНАЯ СУБД ДЛЯ
WINDOWS, LINUX, MAC, IOS, ANDROID
Андрей Совцов
Embarcadero,Москва
email: Andrew.sovtsov@embarcadero.com
Дмитрий Кузьменко
Embarcadero MVP,
Генеральный директор iBase.ru, Москва
email: kdv@ibase.ru
2. Содержание
1. Достоинства
2. Платформы
3. Применение
4. Редакции
5. Архитектура приложений и СУБД
6. ChangeViews
7. Разработка и отладка
8. Специфика мобильных устройств
9. Настройка InterBase
10. Разработка на Linux
11. Важная функциональность (online dump и другое
12. Шифрование
3. Главные достоинства
• Минимум требований к аппаратному обеспечению
• Минимум требований к ОС – десктопная или серверная
• Минимум администрирования
–Может работать годами без обслуживания
–Для больших баз с большим количеством пользователей обслуживание
требуется для достижения максимальной производительности
• Идентичность БД для разных платформ
4. 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/30155
http://www.youtube.com/watch?v=l5fu2HXERbE
5. Платформы
• Вся функциональность одинакова
–Кроме ограничений IBLite
• Разница
–Пути установки и к БД (отличия Windows и Linux)
server:c:dir/data.ib, server:usr/datadata.ib
–Сторонние UDF
–Производительность?
вечный вопрос, кто лучше - Windows или Linux
6. InterBase - Применение
• Длительная история использования – с 1985 года
Первый коммерческий сервер с многоверсионностью
• Базы данных в среднем до 200 гигабайт
• база данных может иметь размер до 131 терабайт
• До 500 одновременных пользователей
• чаще является лимитом операционной системы
• Бухгалтерия, склад, системы денежных переводов, биллинг, торговля, системы
учета …
• Однопользовательские и многопользовательские приложения
7. Редакции 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
8. Какую СУБД выбрать для простой БД?
• Ту, которую вы лучше знаете
• Оценить перспективы роста
–Сегодня на смартфоне, завтра на сервере
–Сегодня 1 пользователь, завтра 5, послезавтра 100
–Сегодня БД 100мб, завтра 100гб
–Сегодня вы разрабатываете на Windows, а завтра – на Linux
• Клиент-сервер, драйверы
10. IBLite, IBToGo – и клиент, и встроенный сервер
Приложение
Клиентская
часть
InterBase
Сервер
InterBase
Локальная
база данных
IBLite, IBToGo
сервер в dll/so
13. Отслеживание изменений по подписке
• Subscription – определяет какие изменения (insert/update/delete) и
для каких таблиц мы хотим отслеживать
• Активация подписки – какую подписку и с какого устройства хотим
использовать
–После активации все запросы показывают только измененные
данные
–Для просмотра текущих данных подписку нужно деактивировать
14. Активация подписки
• start transaction
• select …
– Получаем обычные данные
• set subscription … active
• select …
– Получаем изменения, на которые подписались
• set subscription … inactive
• select
– Получаем обычные данные
• …
• commit – информация о просмотренных изменениях будет удалена
• rollback – просмотренные изменения подписки не удаляются
16. Разработка
• Создаем и разрабатываем базу данных
– IBConsole, IBExpert, SQL Manager, DatabaseWorkbench
– База должна быть в юникоде. Т.е. создана с кодировкой UTF8
• Создаем мобильное приложение, с целевой платформой Win32
– Для упрощения начального старта
• Используем InterBase Developer Edition, подсоединяемся к БД как к серверу
– Server_name, tcp, c:dbdatabase.ib
– Чарсет коннекта – UTF8
– Видим данные в design-time
• Запускаем приложение
– Для проверки работоспособности вообще – на win32
– На эмуляторе, если нет устройства
– На устройстве
17. Отладка
• С IBLite, IBToGo - это неудобно
– IBLite придется поместить в bin установки Delphi
– При отладке изменения, которые будут сделаны на устройстве или в
эмуляторе, потеряются (deployment перезаписывает все файлы)
• Как проще
– Использовать сервер InterBase на своем компьютере
– Прописать в свойстве Database
computername:c:dbpathdatabase.ib, подключиться
– Включить на устройстве wifi, подключиться к локальной сети, чтобы
устройство могло обратиться к InterBase на вашем компьютере
– В этом случае и Delphi и устройство будут работать с одной БД
– По окончании отладки указать локальный путь для БД на устройстве
и поменять deployment (не забыв выключить InterBase, чтобы
копируемая на устройство БД не оказалась битой)
18. Специфика мобильных устройств
• Где находится локальная БД?
• На какой «диск» ее поместить?
• Как скачать БД?
• Как делать бэкап?
• Как обновлять данные в БД, или получать оттуда изменения?
19. Настройка
• IBCONFIG
• Характеристики аппаратного обеспечения
• Настройки операционной системы
–Windows – никакие (за исключением виртуальной памяти и temp)
–Linux – для увеличения критических значений требуется перекомпиляция
ядра
• Мониторинг tmp$
–tmp$attachments, tmp$transactions, tmp$statements
• Мониторинг окружения ОС – память, процессор, диски
20. Linux
• InterBase – RHEL 6, SuSE 11.3, Ubuntu 14
• FireDAC
• Разработка - все то же самое
• Инструменты – увы, на линуксе почти ничего нет
–Wine, или windows-tools в виртуальной машине
21. Важная функциональность
• ChangeViews
• Идентичность
функциональности на всех
платформах
• Абсолютная совместимость
БД – можно переносить
между разными
платформами
22. Резервирование или распределение нагрузки через online dump
Сервер
InterBase
База данных
Dump 1
read-only
Dump 2
Сервер
InterBase
2
1 раз в час
1 раз в сутки
23. Производительность online dump
• Online dump – физическое копирование файла БД во время работы
–Скорость копирования практически равна скорости копирования файла БД
–БД 16 гигабайт (tpc-r)
backup – 17 минут, restore – 51 минута
online dump – 2 минуты 20 секунд (116 мегабайт в секунду на конкретном
устройстве).
–При повторе вычитывает только измененные страницы – не сканирует всю БД
24. Шифрование
• Появилось с версии 2009
• 3 части
–Шифрование соединения (OTW,
ssl v3 tls v 1)
–Шифрование БД – всей и/или
отдельных столбцов
–Шифрование бэкапов
• Ключи DES и AES (128 бит)
• http://www.ibase.ru/ib-encrypt/
25. Спасибо за внимание!
Андрей Совцов
Embarcadero
Email: Andrew.Sovtsov@Embarcadero.com
Blog: http://embt.co/ASovtsov
Tel: +7(495)708 4393
Записи вебинаров: http://embt.co/MrAndySova
Блоги Embarcadero
(все языки):
http://community.embarcadero.com/index.php/ru/blogs
+7(495) 953-13-34,
sales@ibase.ru, support@ibase.ru
Кузьменко Дмитрий
iBase.ru
Генеральный директор
IT-эксперт
26. Delphi, C++Builder, RAD Studio
• InterBase Developer Edition
–Бесплатен для использования только при разработке
• IBLite
–Бесплатен для использования после регистрации
• IBToGo
–test deployment license
–Для распространения на устройствах требуется VAR-соглашение
27. Описание
возможности
IBLite InterBase ToGo
InterBase
Desktop
InterBase Server
Платформы Android, iOS
Android, iOS,
Windows, OS X
Windows
Windows, OS X,
Linux, Solaris
Лицензирование
ядер ЦП
1 4 4 8+
Максимальное
число
одновременных
пользователей
1 2 2 Не ограничено
Число
подключений
одного
пользователя
1 4 4 4
Удаленный доступ
клиентов
Да Да Да Да
TCP-сервер с
сетевым доступом
Нет Нет Нет Да
28. Описание
возможности
IBLite InterBase ToGo
InterBase
Desktop
InterBase Server
TCP-сервер с
сетевым доступом
Нет Нет Нет Да
Строгое
шифрование баз
данных и
столбцов (AES)
Нет Да Да Да
Строгое
шифрование
сетей (SSL)
Нет Да Да Да
Ограничение
размера файла
базы данных
100МБ
Без
ограничений
Без
ограничений
Без
ограничений
Возможность
импорта
дополнительных
лицензий
Нет Нет Нет Да