[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с большим количеством данных
Cookson
Здравствуйте.

Заранее извиняюсь за формулировку вопроса, так как довольно неопытен и сам, как ни удивительно, слабо представляю, что мне нужно. Я буду говорить очевидные вещи, чтобы понятнее выражаться smile.gif

Допустим, есть веб-программа, которая должна опреировать множеством каких-то данных: чисел, строк, объектов. Программа на сервере используется несколькими хостами одновременно, которые часто дают ей AJAX-запросы (с интервалом в 0,2-1 сек), на которые программа должна возвращать какие-то данные.

Единственый и очевидный способ это реализовать, который я знаю - хранить данные в базе (MySQL, например), а AJAX-запросы кидать какому-то .php, который будет тянуть данные с базы и возвращать, что нужно.

Собственно, соль поста:
Но проблема в том, что в расчётах после каждого запроса будет использоваться очень много данных, большая часть базы. Если .php будет на каждый запрос подгружать все эти данные из базы, это будет работать очень медленно. Есть ли какие-нибудь способы хранить данные не в базе, а в оперативной памяти, чтобы не нужно было тянуть кучу данных с базы? К примеру, загружать данные в память, когда подсоединяется первый хост и выгружать, когда отсоединяется последний?

Прошу сюда названия библиотек, программ, технологий, чего угодно, что множет мне помочь smile.gif



Спустя 9 минут, 14 секунд (9.04.2010 - 17:19) Семён написал(а):
Мемкеш для БД smile.gif

Спустя 2 минуты, 20 секунд (9.04.2010 - 17:21) waldicom написал(а):
Не знаю, насколько может помочь, но можно посмотреть движок Memory (MySQL)...
Можно использовать системы кеширования (memcache)...

Спустя 6 минут, 15 секунд (9.04.2010 - 17:28) Cookson написал(а):
О, большое спасибо, почитаю. А memcache в php встроен, или нужно устанавливать для него дополнительные модули?

Спустя 1 минута, 12 секунд (9.04.2010 - 17:29) Nikitian написал(а):
Цитата
Но проблема в том, что в расчётах после каждого запроса будет использоваться очень много данных, большая часть базы.
Эту проблему и надо решать, а не пытаться её обойти. Как вариант конкретизировать задачу и попробовать коллективно решить как её оптимизировать. Если ничего не получится, тогда уже мемкеши и прочее.
waldicom, Memory, как и HEAP сбрасывают хранимую информацию при перезагрузке mysql-сервера, соответственно там можно хранить только неважные данные.

Мемкэш надо ставить одельно. Точнее рекомендую memcached

Спустя 17 минут, 35 секунд (9.04.2010 - 17:46) Cookson написал(а):
Цитата
Эту проблему и надо решать, а не пытаться её обойти


Предвидел такой вопрос smile.gif Это специфика приложения. Мне просто нужно хранить всю информацию в быстром для достпа месте. К сожалению, конкретизировать задачу не могу.

Спустя 13 минут, 4 секунды (9.04.2010 - 17:59) Nikitian написал(а):
Можно хранить лишь ссылки на информацию, а саму информацию например в файловой системе и выдавать по ссылке быстрым сервером. Думайте, дело ваше.

Спустя 28 минут, 47 секунд (9.04.2010 - 18:28) waldicom написал(а):
Цитата (Nikitian @ 9.04.2010 - 16:29)
waldicom, Memory, как и HEAP сбрасывают хранимую информацию при перезагрузке mysql-сервера, соответственно там можно хранить только неважные данные.

Согласен, но никто не мешает создавать такие таблицы при старте приложения...

Спустя 21 минута, 35 секунд (9.04.2010 - 18:50) Nikitian написал(а):
Цитата (waldicom @ 9.04.2010 - 15:28)
Цитата (Nikitian @ 9.04.2010 - 16:29)
waldicom, Memory, как и HEAP сбрасывают хранимую информацию при перезагрузке mysql-сервера, соответственно там можно хранить только неважные данные.

Согласен, но никто не мешает создавать такие таблицы при старте приложения...

Конечно, но вот то, что большие объёмы информации типа полей text, blob, в них хранить нельзя smile.gif Так что в любом случае надо дёргать таблички с самой инфой.

Спустя 3 минуты, 33 секунды (9.04.2010 - 18:53) waldicom написал(а):
Цитата (Nikitian @ 9.04.2010 - 17:50)
Конечно, но вот то, что большие объёмы информации типа полей text, blob, в них хранить нельзя

Век живи - век учись... Спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.