Чтобы уточнить ответы на логические представления:
- Плоские файлы так же быстры, как используемый носитель данных (DISK или RAM)
- Среда, которая кэширует в оперативной памяти элементы MRU (наиболее часто используемые)
- Решение имеет интеллектуальный / быстрый хэш-индекс для всех местоположений (на что опираются системы SQL)
Эта комбинация даст вам лучшее решение, которое вы ищете.
В качестве аргумента, плоский файл или нет - исключая решение ТОЛЬКО ДЛЯ ПАМЯТИ - все движки используют некоторую форму плоского файла. Волшебство заключается в том, чтобы знать, где находятся ваши данные, и при настройке чтения считывать данные наиболее оптимально. В 80-х годах в IBM мы использовали дизайн плоских файлов с фиксированной длиной записи - который не был оптимизирован для дискового пространства, он был оптимизирован для ввода-вывода. Индексы тогда основывались на длине записи * ROWID.
Теперь, когда вам нужно, ваша максимальная производительность при масштабировании - это разумная комбинация - у нас более 1 миллиона компаний, более 10 страниц на компанию - 10 миллионов файлов, а также файлы js, css и изображения.
Теория 1) - Вы знаете, что ограничением является ОЗУ - по возможности размещайте динамическое содержимое на диске и удаляйте такие функции, как счетчики посещений. Используйте NGINX или HIGHLY Tune APACHE (или, как мы это делали, создавали наши собственные веб-серверы с 2001 года) - вся концепция заключается в использовании оперативной памяти для наиболее часто используемых и очень интеллектуальном поиске дискового контента - обычно URI - это хорошо. 1017 *
Теория 2) - Анализ трендов и ожидание пользователей - я потратил годы на исследование и разработку систем, которые отслеживают тренды. Если я знаю, что пользователь пойдет по пути A, B, C, D - тогда, когда он нажмет B, я уже предварительно выбрал C и D. Если я знаю, что пользователь пойдет A, B, но может перейти E, то D. У вас есть выбор предварительного кэширования C и E, или для оперативной памяти ради предварительного извлечения D. и ручного извлечения C или E, когда пользователь выбирает это.
Веб-сервер, который мы разработали вместе с некоторыми системами бухгалтерского учета, которые я разрабатывал в течение многих лет, интегрирует Теорию 2 для предварительной выборки с комбинациями Smart Caching. Мы также сохраняем контент на диск в deflate - поэтому транспортный уровень просто закачивает контент в стек, так как 99% браузеров поддерживают дефлированные потоки. (Перед отправкой на этот 1% быстрее перекачивать, чем в 99% случаев)
Согласно мысли о MEMCACHED и SWAP - скорость диска - ваш враг, однако связать ядро для управления этим врагом - эпическая ошибка! Если вы хотите побить производительность MEMCACHED, узнайте, как настроить RAM-диск и сохранить там свои дефлированные элементы HOT HOT!
** ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Все это предполагает, что у вас достаточно пропускной способности, чтобы пропускная способность вашей инфраструктуры / пользователей была не вашим узким местом, а вашими серверами. @ 3FINC