• Как делать шардинг такой базы данных?

    @SET1 Автор вопроса
    rPman, Можно же правда написать скрипт, который будет выкачивать редко просматриваемые данные на какой-нибудь отдельный сервер, а на "рабочем" оставить только часто просматриваемые (например последние 200 публикаций). Остальные N публикаций просматривают очень редко, а значит и кэш можно не подключать, так?
    Написано
  • Как делать шардинг такой базы данных?

    @SET1 Автор вопроса
    rPman, Именно это и нужно. Поэтому я и задал этот вопрос. Надо найти какой-то способ, чтобы можно было разделить данные на максимально возможное число таблиц, но при этом приложение должно их легко находить. Спасибо за ответ. Буду думать дальше...
    Написано
  • Как делать шардинг такой базы данных?

    @SET1 Автор вопроса
    Счетчики лайков и комментариев (да и любые другие) я именно так и планировал делать. Дело в другом. Дело в том что со временем одна таблица может собрать в себе 1 000 000 000 записей, и вот тогда будут проблемы с выборкой по уникальном индексу (или не будет? Я никогда не работал с таким объемом данных). Например есть уникальная, отдельная таблица для каждого автора блога, которая хранит в себе записи о том, кто и какие записи лайкнул (она должна быть, потому что без нее пользователь может сколько угодно ставить лайки и будет невозможно отобразить то, какие записи пользователь уже лайкнул). Структура такая:

    название таблицы: likes_for_userid_847192
    колонки: id, liked_by_user_id, post_id
    индекс: UNIQUE INDEX (liked_by_user_id, post_id)

    Выборка происходит элементарно:
    SELECT id FROM likes_for_userid_847192 WHERE liked_by_user_id = x AND post_id = y


    По идее это элементарный select, и на обычном сайте никаких проблем бы не было. Но когда число записей в таблице может неожидано вырасти до огромных размеров, поведение становится непредсказуемым. Это меня и пугает.

    Если мне не изменяет память, то даже у ВКонтакте есть лимит на количество лайков к записи. Лично видел несколько раз как больше определенного числа (какого именно - не помню) лайки не ставились и выдавалась непонятная ошибка. Возможно они специально ограничили это для того чтобы не было таких огромных таблиц.
    Написано
  • Как правильно настроить индексы?

    @SET1 Автор вопроса
    Лентюй, я просто сразу беру максимальные значения. Вряд ли конечно там будет миллиард записей. Это надо чтобы у каждого было по 1 000 000 публикаций, чтобы в таблице образовалось миллиард записей
    Написано
  • Как правильно настроить индексы?

    @SET1 Автор вопроса
    Лентюй, я забыл указать что в одном инстансе MySQL я планирую хранить публикации не более 1 000 пользователей. То есть если у меня 10 000 пользователей, то будет 10 инстансов MySQL, на каждом будет таблица, которая партицированием по полю person_id делится на 100 субтаблиц. Ну мне кажется тут вряд ли будут какие-то проблемы с производительностью...
    Написано
  • Как правильно настроить индексы?

    @SET1 Автор вопроса
    Я бы очень хотел это проверить, но не знаю как. И я сейчас как раз на той стадии, когда надо заложить правильную архитектуру у базы чтобы выдержать нагрузки. Я даже не представляю как мне сейчас, на домашнем сервере, залить в базу миллиард записей
    Написано
  • Рационально ли использовать Redis в данном случае?

    @SET1 Автор вопроса
    ThunderCat, Мне бы не хотелось использовать кеш, поскольку это усложняет систему, а как известно - чем система проще, тем она стабильнее работает. Мне кажется стоит остановиться на вертикальном масштабировании с использованием реплик чтения и настройкой query cache. Да, это затронет финансовый вопрос, однако это сделает систему проще. В любом случае - благодарю за Ваш ответ. Однозначно отмечаю его как решение.
    Написано
  • Рационально ли использовать Redis в данном случае?

    @SET1 Автор вопроса
    Не уверен, что стоит задавать такой вопрос в комментариях, поэтому извините. Если на этих серверах хранится информация не о профилях, а о контенте, который относится к конкретному пользователю? Для каждого пользователя может быть 1 запись, а может быть и миллион записей, при этом их могут запрашивать по 100-200 раз в секунду. Не за раз, а используя пейджинг. Как быть в этом случае?
    Написано
  • Готовые операционные системы для мобильных?

    @SET1 Автор вопроса
    15432, Не совсем. Мне надо: свое приветствие при запуске, затем написать заметку и все. Больше ничего не нужно. Запустил планшет, и сразу открыло приложение. Это приложение должно быть единственным функционалом. Как-то так.
  • Готовые операционные системы для мобильных?

    @SET1 Автор вопроса
    sim3x, Как китайцы делают свои OS на своих телефонах? Неужели нет каких-то "движков", грубо говоря? Мне надо всего-то: свое приветствие при запуске, затем написать заметку и все. Больше ничего не нужно.
  • Готовые операционные системы для мобильных?

    @SET1 Автор вопроса
    Это не то. Скорее всего я буду разбираться с Tizen'ом или чем-то похожим. Мне нужно сделать чисто свое, не на андроиде. Вроде как с Tizen'ом это прокатит. Мне надо настроить все под себя.
  • Как реализовать систему приема платежей с помощью банковских карт?

    @SET1 Автор вопроса
    Спасибо. Запутался в предложениях. Ваши варианты оказались то что нужно.
  • Как реализовать систему приема платежей с помощью банковских карт?

    @SET1 Автор вопроса
    stratosmi, А какова цена примерно этого сертификата? Нам требуется заморозить сумму на карте клиента, а по окончанию оказания услуг - списать ее и отправить клиенту чек. Больше ничего не нужно.
  • Как реализовать систему приема платежей с помощью банковских карт?

    @SET1 Автор вопроса
    boss_lexa, Данные о карте клиента хранятся (условно у нас) на серверах Firebase.
  • Способ получения смс платежей?

    @SET1 Автор вопроса
    То ли я не туда смотрю, то ли России и вправду нет в списке стран с которыми они работают?
  • Способ получения смс платежей?

    @SET1 Автор вопроса
    Погуглил. Не совсем понятно. Предлагают делать через форму на сайте, указывать номер, отвечать на смс..
    Это не то что мне нужно. Мне нужно чтобы клиент мог отправить смс с определенной информацией на номер, и на этом все. Дальше я сам через PHP-скрипт активирую услугу (обычная запись MySQL). Так возможно сделать? Пока писал это сообщение, пришла в голову мысль что невозможно. Уж очень напоминает древнюю схему воровства денег по средством отправки на короткие номера..
  • Безлимитный Reverse Geocoder?

    @SET1 Автор вопроса
    xmoonlight, Через клиент немного боюсь собирать, ибо умельцы могут начать всякие "приколы" подсовывать, тупо отправляя через cURL левые данные. Наверное лучше получать координаты, а уже на сервере потом определять.
  • Безлимитный Reverse Geocoder?

    @SET1 Автор вопроса
    xmoonlight, Кажется, нашел идеальный вариант: тут
  • Безлимитный Reverse Geocoder?

    @SET1 Автор вопроса
    xmoonlight, Боже, Вы Гений. Благодарю!