Alter large table without downtime
You are much better off running the ALTER TABLE like this
ALTER TABLE `example` ADD `example_column` TINYINT(1) DEFAULT NULL,
ALGORITHM=INPLACE, LOCK=NONE;

What could be the benefit ? Defining a column whose default value is NULL will not attempt to increase the size of the row. This is true for VARCHAR. Honestly, I'm not sure this is true for numeric. (INT, TINYINT, etc). You need to test this (I mentioned testing this 2 years ago (Does InnoDB allow adding columns to a table with concurrent READ/WRITE of rows?)). Consequently, there should be no downtime.
The downside to this would be changing your software to deal with a NULL numeric column.
If you concerned about foreign keys, turn them off in your session beforehand
SET foreign_key_checks = 0;
ALTER TABLE `example` ADD `example_column` TINYINT(1) DEFAULT NULL,
ALGORITHM=INPLACE, LOCK=NONE;

If you have triggers and can live without it for the duration of the load, drop the trigger, do the ALTER TABLE, and recreate the trigger.
CAVEAT: Make sure you are using the latest version of MySQL 5.6 (at least 5.6.23) to avoid foreign key issues with ALTER TABLE.
Please note that I did not mention using third party tools. This is just straight up MySQL.
GIVE IT A TRY !!!