Hi Yury,
Note that MyISAM uses table-level locks. Hence, when one connection is updating to the table, all other connections trying to access this table will stalls. You can read more about table-level locking here:
https://dev.mysql.com/doc/refman/5.7/en/internal-locking.html. Note for example: "If you have many updates for a table, SELECT statements wait until there are no more updates."
I doubt that NDB will handle your application better than InnoDB. Deadlock issues do not have anything to do with when data is stored on disk. Deadlocks occur when two transactions are accessing the same data in different order. I think NDB will have the same issue with that.
If you run with autocommit on with InnoDB, deadlocks should only occur if different statements use different access methods. For example, if two update statements that each update multiple rows use different indexes or join orders. If you can avoid that, deadlocks should not be an issue.
Øystein Grøvlen,
Senior Principal Software Engineer,
MySQL Group, Oracle,
Trondheim, Norway