Skip to content
This repository was archived by the owner on May 26, 2022. It is now read-only.

Commit 0b5006d

Browse files
committed
Merge branch 'master' into dev
2 parents e5d8346 + b18568c commit 0b5006d

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

postgresql_replication.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ \section{Введение}
2424
\begin{itemize}
2525
\item \href{http://www.slony.info/}{Slony-I}~--- асинхронная Master-Slave репликация, поддерживает каскады(cascading) и отказоустойчивость(failover). Slony-I использует триггеры PostgreSQL для привязки к событиям INSERT/DELETE/UPDATE и хранимые процедуры для выполнения действий;
2626

27-
\item \href{http://pgpool.projects.postgresql.org/}{Pgpool-I/II}~--- это замечательный инструмент для PostgreSQL (лучше сразу работать с II версией). Позволяет делать:
27+
\item \href{http://pgpool.net/}{Pgpool-I/II}~--- это замечательный инструмент для PostgreSQL (лучше сразу работать с II версией). Позволяет делать:
2828
\begin{itemize}
2929
\item репликацию (в том числе, с автоматическим переключением на резервный stand-by сервер);
3030
\item online-бэкап;

postgresql_strategy.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ \chapter{Стратегии масштабирования для PostgreSQL}
66

77
\section{Введение}
88

9-
Многие разработчики крупных проектов сталкиваются с проблемой, когда один-единственный сервер базы данных никак не может справиться с нагрузками. Очень часто такие проблемы происходят из-за неверного проектирования приложения(плохая структура БД для приложения, отсутствие кеширования). Но в данном случае пусть у нас есть <<идеальное>> приложение, для которого оптимизированы все SQL запросы, используется кеширование, PostgreSQL настроен, но все равно не справляется с нагрузкой. Такая проблема может возникнуть как на этапе проектирования, так и на этапе роста приложения. И тут возникает вопрос: какую стратегию выбрать при возникновении подобной ситуации?
9+
Многие разработчики крупных проектов сталкиваются с проблемой, когда один-единственный сервер базы данных никак не может справиться с нагрузками. Очень часто такие проблемы происходят из-за неверного проектирования приложения (плохая структура БД для приложения, отсутствие кеширования). Но в данном случае пусть у нас есть <<идеальное>> приложение, для которого оптимизированы все SQL запросы, используется кеширование, PostgreSQL настроен, но все равно не справляется с нагрузкой. Такая проблема может возникнуть как на этапе проектирования, так и на этапе роста приложения. И тут возникает вопрос: какую стратегию выбрать при возникновении подобной ситуации?
1010

1111
Если Ваш заказчик готов купить супер сервер за несколько тысяч долларов (а по мере роста~--- десятков тысяч и т.д.), чтобы сэкономить время разработчиков, но сделать все быстро, можете дальше эту главу не читать. Но такой заказчик~--- мифическое существо и, в основном, такая проблема ложится на плечи разработчиков.
1212

1313
\subsection{Суть проблемы}
1414

15-
Для того, что-бы сделать какой-то выбор, необходимо знать суть проблемы. Существуют два предела, в которые могут уткнуться сервера баз данных:
15+
Для того, чтобы сделать какой-то выбор, необходимо знать суть проблемы. Существуют два предела, в которые могут уткнуться сервера баз данных:
1616

1717
\begin{itemize}
1818
\item Ограничение пропускной способности чтения данных;
1919
\item Ограничение пропускной способности записи данных;
2020
\end{itemize}
2121

22-
Практически никогда не возникает одновременно две проблемы, по крайне мере, это маловероятно (если вы конечно не Twitter или Facebook пишете). Если вдруг такое происходит~--- возможно система неверно спроектирована, и её реализацию следует пересмотреть.
22+
Практически никогда не возникает одновременно две проблемы, по крайне мере, это маловероятно (если вы, конечно, не Twitter или Facebook пишете). Если вдруг такое происходит~--- возможно, система неверно спроектирована, и её реализацию следует пересмотреть.
2323

2424
\input{strategy/read}
2525
\input{strategy/write}

strategy/read.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ \section{Проблема чтения данных}
55
\subsection{Методы решения}
66

77
\begin{itemize}
8-
\item \textbf{PgPool-II v.3 + PostgreSQL v.9 с Streaming Replication}~--- отличное решение для масштабирования на чтение, более подробно можно ознакомится по \href{http://pgpool.projects.pgfoundry.org/contrib\_docs/simple\_sr\_setting/index.html}{ссылке}. Основные преимущества:
8+
\item \textbf{PgPool-II v.3 + PostgreSQL v.9 с Streaming Replication}~--- отличное решение для масштабирования на чтение, более подробно можно ознакомиться по \href{http://pgpool.projects.pgfoundry.org/contrib\_docs/simple\_sr\_setting/index.html}{ссылке}. Основные преимущества:
99

1010
\begin{itemize}
1111
\item Низкая задержка репликации между мастером и слейвом;

strategy/write.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ \section{Проблема записи данных}
44

55
\subsection{Методы решения}
66

7-
Один из самых популярных методов решение проблем~--- размазать нагрузку по времени с помощью систем очередей.
7+
Один из самых популярных методов решения проблемы~--- размазать нагрузку по времени с помощью систем очередей.
88

99
\begin{itemize}
1010
\item \textbf{PgQ}~--- это система очередей, разработанная на базе PostgreSQL. Разработчики~--- компания Skype. Используется в Londiste (подробнее <<\ref{sec:londiste}~\nameref{sec:londiste}>>). Особенности:

0 commit comments

Comments
 (0)