[Mac App Store] Navicat Premium — универсальное решение для работы с БД (+конкурс)

Mac App Store: Navicat | до 499,99 $ | OS X

Манипуляции с базами данных — неотъемлемая часть работы почти любого программиста. Именно в этой области как нигде больше важны хорошие инструменты. К счастью, для OS X существует очень мощный и универсальный комбайн Navicat от компании Premium Soft. Для тех же, кто экономит деньги, доступны разные упрощенные варианты с вполне приятным ценником.

0 Main

1 Connect

У Navicat есть много разных редакций, разного ценового диапазона. Во-первых, можно не покупать универсальную версию, а ограничиться вариантом для той СУБД, с которой вы работаете. Это заметно сократит расходы. Кроме этого, можно выбрать Essentials версию, в которой отсутствуют некоторые функции, но тем не менее, 90 % функционала присутствует. При этом цена Essentials версии — более чем демократична (особенно сейчас, с учетом скидок в Mac App Store на их линейку продуктов).
2 Main Window

Премиум-версия по сути является универсальным комбайном, поддерживающим одновременно Oracle, MS SQL Server, Postgres, MySQL и SQLite, причем в рамках одной программы, что заметно облегчает управление базами в сложных случаях. Подробно перечислять все функции и возможности Navicat — хватит на хороший учебник в нескольких томах, поэтому данная статья — это скорее общий обзор и совет обратить внимание на программу (тем более что с сайта разработчиков можно скачать пробные версии).
3 Query Editor

Для подключения к базе достаточно ввести несколько базовых параметров типа адреса, порта, логина и пароля. Для более сложных случаев есть поддержка SSL, SSH-туннелирования и даже проксирования запросов через HTTP с помощью специального скрипта.
4 New Table

Программа берет на себя массу рутины: создание и редактирование структуры таблиц, задание прав доступа и ролей, управление данными в таблицах. Поддерживаются как стандартные сущности в базах данных, с которыми идет работа, такие как хранимые процедуры, триггеры, и так далее, так и расширенные возможности разных СУБД. В том же Postgres, с которым я в основном работаю, можно работать с такими объектами как пространства имен, генераторы, роли и так далее. Все объекты удобно создаются и редактируются с использованием диалоговых окон. В каждом из диалогов есть возможность просмотреть SQL запросы, которые будут выполнены для создания или редактирования. Особенно это полезно для изучающих работу с той или иной СУБД.
5 Data Synchronization

В программу встроен отличный редактор запросов. Он поддерживает все возможности, которые ожидаются от современного инструмента: автодополнение, графический редактор запросов, возможность просмотра результатов в разных форматах. Также хорош в Navicat и просмотр таблиц. Там есть и динамическая фильтрация данных с удобным созданием фильтров, и поддержка разных сортировок, и возможности экспорта-импорта данных в разные форматы.
6 Structure Synchronization

Общий интерфейс позволяет делать полезные вещи, например, синхронизацию данных и структуры таблиц между разными серверами. Достаточно выбрать две разные базы, Navicat проанализирует их структуру и/или данные, покажет разницу и при необходимости — приведет содержимое в соответствие. Невозможно недооценить эту возможность, если вы работаете с разными базами в production и development среде. С легкостью выполняются сценарии типа «получили отчет об ошибке у пользователя, подключились к базе production сервера, слили данные пользователя себе локально, и перешли к отладке». Без инструментов типа Navicat — реализация подобных подходов требует куда больше телодвижений.
7 Modeling

Одной из отличительных черт полной версии программы является инструмент для визуального моделирования данных. Зачастую, понять взаимодействие между сущностями в сложной базе данных — задача не из легких, и тут автоматический реверс-инжениринг, позволяющий по существующей базе построить диаграммы, будет как нельзя кстати. В общем-то и обратная возможность создания базы по диаграмме тоже имеет место.
8 Modeling New Link

В программу встроен замечательный планировщик, позволяющий запланировать разные задачи, которые умеет выполнять Navicat: разные синхронизации, резервные копии и их восстановление, выполнение запросов и так далее. Все это можно запланировать во времени с разной периодичностью, и даже получать отчеты про операции на e-mail.
9 Backup

Есть в программе очень хороший инструмент мониторинга сервера, позволяющий узнать, какими задачами он сейчас занят, и при необходимости внести модификации в конфигурацию сервера.
10 New Role

Отдельное спасибо разработчикам за то, что Navicat — нативное приложение OS X. В отличие от ряда других инструментов, написанных на Java, Navicat не жрет память как не в себя и отлично вписывается в OS X «look and feel», так что работать с ним — одно удовольствие. Также программа радует кучей разных мелких «полезностей» типа цветового выделения серверов в списке (те, кому надо администрировать много серверов сразу — по достоинству оценят полезность этой функции).
11 Schedule

В общем, думаю, не будет сильным преувеличением сказать, что Navicat — лучшее из доступных в App Store решений для работы с базами данных.
12 Process List

Название: Navicat
Издатель/разработчик: PremiumSoft CyberTech Ltd.
Цена: до 499,99 $
Ссылка: OS X

Внимание, конкурс! Разработчики предоставили нам 1 лицензию на самую полную версию программы — Navicat Premium. Мы хотим, чтобы она досталась тому, кому она принесет пользу. Поэтому для участия в розыгрыше оставьте комментарий с подтверждением того, что программа вам действительно понадобится. Это может быть ссылка на ваш профиль в GitHub или Linkedin, аккаунт на Stackoverflow или что-то еще. Среди всех оставивших комментарий наш могучий рандом и выберет победителя, с которым мы свяжемся по e-mail, который указан при комментировании.

Ну что ж, очень хотелось бы выдать лицензии всем сразу, но великий рандом решил что победителем станет Oleg (ole***m), поздравляем!