serzhb: а кто сказал что они предоставляют услуги IP телефонии ?
Из вашего сообщения видно что они перезвонят вам через 15 секунд. Но фактически - какая разница, они возьмут IP телефонию, позвонят через скайп, или позвонят с обычного телефона?
Разницы то никакой в данном случае.
Или же у вас неправильно сформулирован вопрос
Alexеу Kutepov: Но при этом, не стоит забывать что расходы не могут быть любыми, а только связанными с получением дохода. И это могут потребовать доказать.
Т.е. например если ты айтишник-программист, то и купил машину - то это не расход на бизнес.
Но если ты сможешь доказать что тебе нужна машина чтобы ездить к заказчику и устанавливать ПО в офисы - то это расход на бизнес.
И т.п.
JRazor: посмотрите, что такое websocket. Там можно создавать "каналы" и "комнаты", как угодно. Это вам нужно просто для упрощения отправки данных правильному получателю.
Инициализация:
Клиент через вебсокет отправляет пакет: "я такой то, вот мой ключ". Сервер проверяет что такой клиент действительно есть, и подписывает его на получение пакетов от сервера в канал "номер юзера".
Отправка пакета:
Клиент после инициаилизации отправляет пакет через вебсокет "Юзеру 1234 : Привет юзер".
Сервер получает пакет, делает с ним что надо, и отправляет в канал "1234" пакет: "Вам сообщение "привет юзер" от юзера номер 333"
Клиент юзера 1234 получает пакет и выводит его как нужно.
sokolnikov:
> Я, конечно, понимаю, что тут два варианта, или мы тратим ресурсы при добавлении, но тогда нам проще с выборкой данных, или же мы меньше заморачиваемся с подготовкой данных при в несении, но нам придется тратить ресурсы при выборке. Но хочется найти золотую середину - решение, которые бы оказалось для меня самым удобным и практичным на больших нагрузках.
Это ключевое тут :)
чем больше нагрузка - тем меньше имеет смысл хранить данныве в данном как они приходят .
Как вариант - вы можете писать сначала во временную таблицу, и потом ночью обрабатывать её и раскладывать по полочкам.
Можете сделать так же так, что не использовать столбик main_id - можно и без него.
Т.е. ваш запрос будет выглядеть так:
select * from links
left join domains on domains.id =links.domainId
where domain like "com.youtube%"
Можно написать нормальную процедуру добавления, которая учитывает те ньюансы которые вы указали (есть ли поддомент и тп).
Это всё решаемо.
Основной посыл:
переходите на цифровые индексы и не храните одни и теже данные в копиях.
Станислав Макаров: Тут ещё просто момент, что если оставить com.youtube.subdomain, то можно будет легко искать так:
select id from domains where domain like "com.youtube%"
и соответственно:
select * from links
left join domains on domains.id =links.domainId
where domain like "com.youtube%"
Александр: Шторм умеет слишком много, чтобы грузиться мгновенно.
Но могу сказать, что у меня он рабоатет сутками.. выключаю только при рестарте компьютера :)
Встречный вам вопрос.
Если я запишу в столбик TIMESTAMP такое:
set time = 20150205
Что будет ?
1. сохранится цифра секунд с начала эпохи - 20150205, что равно 1970-08-22 08:16:45
2. сохранится дата 05.02.2015 с временем 00:00:00
3. будет ошибка, так как неправильные данные подставленны.
Вы понимаете разницу между "как хранится на диске", "как добавлять данные в таблицу" и "как выводить данные?
Когда вы пишите так:
insert into table set time = 1439463960.
Вы говорите базе "запиши в столбец time (тип столбца TIMESTAMP) - цифру 1439463960. Никакой автоконверсии нету, просто записать надо цифру.
Если же вы говорите:
insert into table set time = FROM_UNIXTIME(1439463960), то вы говорите конвертирую цифру 1439463960 в строку с датой и времени и запиши результат в столбце.
Тоже самое:
insert into table set time = '2015-01-01 00:00:00';
И при этом всём - стобец хранит количество секунд.
Просто если он ждёт что вы ему дадите строку '2015-01-01 00:00:00';, а вы ему даёте 1439463960, то он считает что вы ему дали строку "1439463960", что неконвертируется нормально в дату.
А в чём проблема nginx настроить ?
можно даже настроить так, чтобы Nginx проксировал даные в websocket по пути:
т.е.:
one.domain.ru ->django
one.domain.ru/ws/ -> tornado
TIMESTAMP - это тип столбца, в котором хранится и дата, и время. Причём данные хранятся удобным для MYSQL способом.
С этим столбцом можно работать используя все функции mysql связанными с датами.
UNIX TIMESTAMP - Это количество секунд с 1.1.1970 по GMT.
Хранится в столбце типа int, так как данные обычно не бывают отрицательными (Если вы не работаете с датами до 1970 года) - то можно unsigned int.
Плюсы и минусы каждого подхода -не буду освещать, но они есть.
PS: хранить unxtime в timestamp невозможно. Если уж так хотите, то при чтении данных из столбца надо делать так:
unix_timestamp(column) -> получите цифру.
и при записе:
column = from_unixtime(1412345616)
Вадим Егоров: То что вы делаете - очень странно и нелогично :)
Если вы это делаете просто ради того чтобы попробовать "а получится ли ?" - то ок.
А если вопрос пр то, что запустить это всё для реальных пользователей и тп, то обе эти схемы будут достаточно медленные, и большая вероятность проблемм на разных этапах.
и тогда отличаться будет только конфиг.