Предисловие:
10к запросов в минуту выдержит любая база.
Вопрос - в архитектуре и железе) Ответ:
хранимые процедуры и первичные ключи должны спасти ситуацию в 99% случаев Послесловие:
Не беритесь, если не владеете знаниями проектирования нагруженных БД.
1. заказ (осн. поля)
2. список услуг, для привязки к заказу (id, наименование, доп.поля для каждой услуги)
Плюсы: при добавлении доп. полей - выражение выборки данных на основе заказа не нужно будет менять. (если доп. поля - только дописать в конец)
1. Пути к тайлам - в базе.
2. Картинки - в на диске с prefetching and caching в ОЗУ. По-скольку статика: nginx.
В принципе, нужно посчтитать: вполне возможно есть смысл при загрузке "холмы" (или всю матрицу тайлов) закинуть сразу в RAM-drive.
"Холмы": их вершины - это часто используемые тайлы. Как правило - это центры крупных городов (можно набрать статистикой использования).
Здесь можно использовать различные стеки:
все зависит от того, что Вы сейчас храните и что будете хранить в дальнейшем
и как часто датчики отсылают свои координаты на сервер.
Сможете уточнить?
1. Допустим, мы хотим держать пользователя залогиненным долгое время (месяц или больше). Что у нас меняется на одном и том же устройстве? Только IP.
Привяжите в генерацию HASH-ключа hash(logonName+UserAgent+password).
Логику используйте https://ru.wikipedia.org/wiki/CRAM-MD5
2. Храните основные данные пользователя в сессии (сохранить сразу после авторизации).
При выполнении важных операций делайте проверку на бан из базы данных.
Ваша база по количеству записей - это ни что.
Делайте нормальную структуру и запросы - mysql потянет спокойно.
А вообще, Apache-Cassandra обзор и установка на русском
про прогу - понятно (7 букв в названии))
ну там можно и плагины писать в ней свои...
а так - обычное кэширование предыдущих запросов парсинга XML/YML/sitemap структуры файла или каждой из страниц и последующее сравнение для обнаружения новых позиций для их дальнейшей заливки с периодичностью 4-6 часов (в среднем).
Один из вариантов решения (он не лучший!): Тут отвечал про хеширование строк.
Для нахождения максимального совпадения строк...
Конечно, это не очень красиво, но вполне работоспособно....
Написать алгоритм нечеткого поиска самому или использовать существующие.
Попробуйте составить хеши так:
Пример: Познавательное
Hash: онаепзвтль:14
[по-порядку максимально часто встречающийся символ][и т.д. из оставшихся]:[общее кол-во символов]
Ввод: познаватильное
hash: онапзвтилье:14
При несовпадении - отодвигаете влево на 1 символ на каждой итерации:
1. онаепзвтль:14 == онапзвтилье:14 - не найдено
2. онаепзвтль == онапзвтилье - не найдено
3. онаепзвтл == онапзвтиль- не найдено
....
N. она == она - НАЙДЕНО (кроме этого может быть еще что-то найдено).
Смотрим из результатов самые близкие по кол-ву символов. В примере: к 14-и.
Выводим первые N-совпадений... Например, первые 5 похожих...