Сохранение большого набора данных в PHP
Я работаю в правительственной организации, которая медленно разрабатывает базы данных;-) Мне нужен способ эффективного извлечения и фильтрации до 1,2 гига данных в качестве краткосрочного решения в процессе разработки базы данных. Безопасность потоков не является проблемой, поскольку данные доступны только для чтения. Данные представляют собой архив дорожно-транспортных происшествий / событий.
- Я не хочу читать 1,2 гигабайта данных с диска в память для каждого HTTP-запроса.
- Я не хочу использовать сеанс PHP, потому что он хранит данные на диске и (насколько я знаю) сохраняет данные только для одного сеанса браузера. Это привело бы к сохранению копии 1,2 гигабайта данных для каждого сеанса.
- Я хочу, чтобы данные сохранялись в памяти (по соображениям производительности) и были доступны для всех запросов, обрабатываемых сценарием PHP.
- Данные читаются с диска в формате JSON и, вероятно, будут храниться в ассоциативном массиве PHP.
- Я занимаюсь разработкой на сервере Windows.
Я подумал о разработке.NET Windows Service и подключении к нему с помощью CURL для получения данных. Я читал о запуске сценария PHP в качестве службы Windows. Отличным решением может быть использование постоянной памяти в PHP-скрипте, обрабатывающем HTTP-запросы, но я видел только то, как это используется, - в написании пользовательских расширений PHP на C, и я не заинтересован в быстрой работе решение Я смотрел на Redis и Memcached, но, похоже, они не предназначены для больших наборов данных и не работают в Windows.
Любые идеи о том, как я могу эффективно фильтровать эти данные? Пример запроса может быть "дать мне все события, которые были активны в период с 1 января 2010 года по 15 марта 2013 года".