entityId_1 | entityId_2
это не плохо спроектированная связь, а вполне себе 'многое ко многому'.
Ваш вопрос очень плохо сформулирован.
Что-то вроде:
Привет, у нас есть функция для работы с юникодом, а данные по количеству покупок хранятся в redis. Как лучше всего сделать голосовалку для пользователя?
Ммм. Там и get работает.
Кросдоменный запрос у вас не пройдет, но ничего не мешает создать локальный обработчик — yoursite.ru/vkhandler/ при обращении к которому ваш скрипт будет делать обращение к контакту(curl например) и отдавать результаты.
В sqlyog есть замечательный анализатор таблиц. Создаете таблицу бездумно, наполняете ее данные, затем анализируйте и sqlyog предлагает вам оптимальные типы полей. От необходимости разбираться с СУБД не избавит, но может краткосрочно решить вашу проблему.