Я собираюсь создать веб-проект PHP, который будет состоять из большой базы данных. База данных будет MYSQL и будет хранить более 30000 записей в день. Для оптимизации БД я решил использовать библиотеку MEMCACHED. Я иду правильно, или какая-то другая альтернатива может быть использована для преодоления проблемы оптимизации данных. Я просто хочу обеспечить более быстрый поиск и вставку. Может ли кто-нибудь посоветовать мне, какой инструмент я должен использовать и как, поскольку данные будут постепенно увеличиваться с большей скоростью? Должен ли я использовать концепцию реляционного отображения объектов?Оптимизируйте большую и постепенно увеличивающуюся базу данных
ответ
Для этого можно использовать Master &. В основном это была бы комбинация 2 дБ для операции чтения и другая для операции записи.
Я бы с @halfer согласился и сказал, что он прав насчет тестовых данных. По крайней мере, вы поймете, что не пытаетесь оптимизировать то, что не нуждается в оптимизации.
Помимо тестовых данных вам также понадобятся некоторые тестовые сценарии для имитации шаблонов трафика вашей производственной среды, это сложная часть и действительно зависит от точных шаблонов приложений: сколько читает и пишет против обновлений в секунду ,
Учитывая ваш номер (30k), вы бы усреднили примерно 3 вставки/секунду, которые я бы предположил, что даже самые дешевые машины могут справиться с легкостью. Что касается чтений, то ценность данных за годы должна была составлять чуть менее 11 млн. Записей. Вы можете захотеть разбить данные (уровень mysql или уровень приложения), если поиск будет медленным, но я сомневаюсь, что вам нужно будет с такими относительно небольшими объемами. Реальный разработчик различий будет, если число чтений на 1000 раз больше, чем количество вставок, тогда вы можете посмотреть, что предложили @ram sharma и настроить реплицированную модель master-slave, где мастер принимает все записи, а подчиненные - только для чтения.
Memcached - мощный зверь при правильном использовании и может превращать медленный диск DB в чистую память. Я бы все же только предложил вам изучить его, если БД слишком медленная. Добавление движущихся частей в любое приложение также добавляет потенциальные точки отказа и увеличивает общую сложность.
EDIT: что касается использования ORM, это ваш выбор и на самом деле не изменит ситуацию относительно скорости БД, хотя он может добавить до миллисекунды конечному пользователю. Обычно это стоит того, что я нахожу в своем опыте.
Приветствия -
- 1. найти большую базу данных
- 2. Как оптимизировать большую базу данных?
- 3. Как обновить локальную базу данных parse.com постепенно?
- 4. Как создать большую базу данных с Ansible
- 5. Фильтровать большую базу данных по результату агрегирования
- 6. Как эффективно искать потенциально большую базу данных?
- 7. PostgreSQL - как восстановить очень большую базу данных
- 8. Сохраните большую базу данных панд в excel
- 9. Как лучше организовать большую базу данных адресов?
- 10. Оптимизируйте назначение данных ObservableCollection
- 11. Python: оптимизируйте большую работу, добавляющую 200 000 файлов
- 12. Извлечь увеличивающуюся подпоследовательность
- 13. Как создать увеличивающуюся матрицу?
- 14. Оптимизируйте результирующие запросы базы данных
- 15. Добавление новых полей в большую базу MYSQL
- 16. Как заполнить большую базу данных sqlite при первом запуске
- 17. Как лучше настроить большую пользовательскую базу данных, например, facebook, например
- 18. Настроить большую базу данных в MySQL для анализа в R
- 19. Где я могу получить большую базу данных SQL Server Sql?
- 20. , связывающий большую базу данных sqlite с андроидом listview
- 21. Загрузите большую базу данных SQL в хранилище таблиц Azure
- 22. Разделить большую текстовую (xyz) базу данных на x равными частями
- 23. как перенести большую базу данных на новый сервер
- 24. Как предоставить большую базу данных с помощью приложения
- 25. Как разместить очень большую базу данных SQL в Azure?
- 26. Как получить большую устаревшую базу данных под управлением версии
- 27. Объединить множественную базу данных Access в одну большую базу данных с кодом C#
- 28. восстановить большую базу данных MySQL на удаленном компьютере
- 29. Быстро скопируйте большую базу данных MySQL для тестирования
- 30. не удалось импортировать большую базу данных в контейнер docker mysql
Лучше всего, чтобы попытаться создать несколько тестовых данных на сервер, способный, и посмотреть, как она работает в качестве прототипа. Если вы храните 30 тыс. Записей в день, создайте данные за 6 месяцев и посмотрите, как они работают. Затем попробуйте 12 месяцев и посмотрите, приемлемо ли замедление. Возможно, вы можете заархивировать некоторые из них, когда достигнет определенного возраста? (Кроме того, этот вопрос трудно ответить, поскольку он не очень специфичен). – halfer
ORMs ускоряют процесс разработки и замедляют работу приложения. Мне они нравятся, но вам нужно решить, приемлемо ли компромисс в вашем конкретном случае. – halfer