DadFild
@DadFild

Вопросы по быстродействию + Какую базу лучше всего использовать?

Делаю систему статистики типа яндекс метрики на PHP в дополнение к тизерной сети.
Где лучше всего хранить статистику пользователей? В какой базе?
Выдержит ли MySQl обьемы в несколько сотен миллионов записей?
Как лучше всего снизить затраты на сервер и получить максимальную производительность?

Технологии которые я планирую использовать:
PHP, Mysql, NodeJs

Так же мне интересно как определить сколько одновременно запросов обращается к php файлу и домену стандартными средствами linux?
  • Вопрос задан
  • 1232 просмотра
Пригласить эксперта
Ответы на вопрос 7
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
все зависит от того что вы с этими данными делать будете. Если просто хранить - то выдержит конечно. Если делать сложные выборки - то зависит от нагрузки и количества запросов а так же расставили вы индексы или нет ну и все такое. Ну и для такой выборки памяти под индексы надо прилично и тюнить настройки mysql.

Если вас интересует как ускорить запись - можно сначала загонять все в буфер (redis например) и потом пачками заносить все в базу.

Если интересует как ускорить чтение - кеширование, индексы, агрегация штуками типа elasticsearch. Но опять же только если у вас есть проблемы с производительностью. Не занимайтесь преждевременной оптимизацией. Сначала напишите нагрузочные тесты и посмотрите насколько все плохо и надо ли что-то делать.
Ответ написан
Подумайте - не сможете ли вы обойтись NoSQL. Если нет - PostgreSQL + NoSQL хранилище. Я бы взял Redis.
Ответ написан
Комментировать
ValorVl
@ValorVl
DevOps
Такой сервис подразумевает накопление огромного количества данных. MySQL я бы брать не стал, дабы не рыть себе яму в начале пути. Пожалуй присоединюсь к ораторам выше и предложу связку PostgreSQL для оперативной аналитики и NOSQL или HDFS для долговременной.
Ответ написан
Комментировать
SanchelliosProg
@SanchelliosProg
Java, Android, Software Testing
PostgreSQL, думаю, самое валидное решение.
Ответ написан
Комментировать
Комментировать
@Qwk31
Я бы рассматривал вариант Elasticsearch. :) https://www.elastic.co/products/elasticsearch
Ответ написан
Комментировать
akalend
@akalend
программирую
мы используем Кассандру для хранения статистики
ее достоинства - хорошо масштабируема, отказоустойчива
проста в использовании именно в целях статистики
быстра на запись, что очень важно для разных партнерских и мизерных программ
недостатки - жрет много места (больше чем прогнозировали)
нагрузка на сеть более 1,5М в сутки

если у вас нагрузка в разы меньше, то достаточно и РСУБД (мускул, посгрес), но если соизмерима, то рано или поздно вы упретесь в проблему масштабирования
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы