Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
28 lines (21 sloc) 2.3 KB
\section{Проблема записи данных}
Обычно такая проблема возникает в системах, которые производят анализ больших обьемов данных (например ваш аналог Google Analytics).
Данные активно пишутся и мало читаются (или читается только сумарный вариант собранных данных).
\subsection{Методы решения}
Один из самых популярных методов решение проблем~--- размазать нагрузку по времени с помощью систем очередей.
Начнем с PgQ.
PgQ~--- это система очередей, разработанная на базе PostgreSQL. Разработчики~--- компания Skype.
Используется в Londiste (подробнее \Sref{sec:londiste}). Особенности:
\begin{itemize}
\item Высокая производительность благодаря особенностям PostgreSQL
\item Общая очередь, с поддержкой нескольких обработчиков и нескольких генераторов событий
\item PgQ гарантирует, что каждый обработчик увидит каждое событие, как минимум один раз
\item События достаются из очереди <<пачками>> (batches)
\item Чистое API на SQL функциях
\item Удобный мониторинг
\end{itemize}
Также можно воспользоватся еще одной утилитой~--- RabbitMQ.
RabbitMQ~--- платформа, реализующая систему обмена сообщениями между компонентами программной системы (Message Oriented Middleware)
на основе стандарта AMQP (Advanced Message Queuing Protocol). RabbitMQ выпускается под Mozilla Public License.
RabbitMQ создан на основе испытанной Open Telecom Platform, обеспечивающий высокую надёжность и производительность промышленного
уровня и написан на языке Erlang.
Something went wrong with that request. Please try again.