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

Commit 1b43459

Browse files
committed
typo fixes by [email protected]. Thanks!
1 parent 398a019 commit 1b43459

21 files changed

+116
-116
lines changed

backups/barman.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ \subsection{Barman}
55

66
\subsubsection{Установка и настройка}
77

8-
Рассмотрим простом случай с одним экземпляром PostgreSQL (один сервер) и пусть его хост будет <<pghost>>. Наша задача~--- автоматизировать сбор и хранение бэкапов этой базы на другом сервере (его хость будет <<brhost>>). Для взаимодействия эти два сервера должны быть полность открыты по SSH (доступ без пароля, по ключам). Для этого можно использовать authorized\_keys файл.
8+
Рассмотрим простом случай с одним экземпляром PostgreSQL (один сервер) и пусть его хост будет <<pghost>>. Наша задача~--- автоматизировать сбор и хранение бэкапов этой базы на другом сервере (его хост будет <<brhost>>). Для взаимодействия эти два сервера должны быть полностью открыты по SSH (доступ без пароля, по ключам). Для этого можно использовать authorized\_keys файл.
99

1010
\begin{lstlisting}[label=lst:barman1,caption=Проверка подключения по SSH]
1111
# Проверка подключения с сервера PostgreSQL (pghost)
@@ -29,7 +29,7 @@ \subsubsection{Установка и настройка}
2929
# sudo python setup.py install
3030
\end{lstlisting}
3131

32-
Теперь перейдем к серверу с PostgreSQL. Для того, что бы barman мог подключатся к базе данных без проблем, нам нужно выставить настройки доступа в конфигах PostgreSQL:
32+
Теперь перейдем к серверу с PostgreSQL. Для того, чтобы barman мог подключаться к базе данных без проблем, нам нужно выставить настройки доступа в конфигах PostgreSQL:
3333

3434
\begin{lstlisting}[label=lst:barman4,caption=Отредактировать в postgresql.conf]
3535
listen_adress = '*'
@@ -81,7 +81,7 @@ \subsubsection{Установка и настройка}
8181
conninfo = host=pghost user=postgres
8282
\end{lstlisting}
8383

84-
Секция <<main>> (так мы назвали для barman наш PostgreSQL севрер) содержит настроки для подключения к PostgreSQL серверу и базе. Проверим настройки:
84+
Секция <<main>> (так мы назвали для barman наш PostgreSQL сервер) содержит настроки для подключения к PostgreSQL серверу и базе. Проверим настройки:
8585

8686
\begin{lstlisting}[label=lst:barman9,caption=Проверка barman настроек]
8787
# barman show-server main

backups/wal_e.tex

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ \subsubsection{Установка}
2424
После успешной установки можно начать работать с WAL-E.
2525

2626
\subsubsection{Настройка и работа}
27-
Как уже писалось, WAL-E сливает все данные в AWS S3, поэтому нам потребуются <<Access Key ID>> и <<Secret Access Key>> (эти данные можно найти в акаунте Amazon AWS). Команда для загрузки бэкапа всей базу данный в S3:
27+
Как уже писалось, WAL-E сливает все данные в AWS S3, поэтому нам потребуются <<Access Key ID>> и <<Secret Access Key>> (эти данные можно найти в акаунте Amazon AWS). Команда для загрузки бэкапа всей базы данных в S3:
2828

2929
\begin{lstlisting}[label=lst:wal-e3,caption=Загрузка бэкапа всей базы данных в S3]
3030
AWS_SECRET_ACCESS_KEY=... wal-e \
@@ -33,7 +33,7 @@ \subsubsection{Настройка и работа}
3333
backup-push /var/lib/postgresql/9.2/main
3434
\end{lstlisting}
3535

36-
Где <<s3-prefix>>~--- урл, который содержит имя S3 бакета (bucket) и путь к папке, куда следует складывать резервные копии. Команда для загрузки WAL-логов на S3:
36+
Где <<s3-prefix>>~--- URL, который содержит имя S3 бакета (bucket) и путь к папке, куда следует складывать резервные копии. Команда для загрузки WAL-логов на S3:
3737

3838
\begin{lstlisting}[label=lst:wal-e4,caption=Загрузка WAL-логов на S3]
3939
AWS_SECRET_ACCESS_KEY=... wal-e \
@@ -68,7 +68,7 @@ \subsubsection{Настройка и работа}
6868
archive_timeout = 60
6969
\end{lstlisting}
7070

71-
Лучше указать полный путь к WAL-E (можно узнать командой <<which wal-e>>), поскольку PostgreSQL может его не найти. После этого нужно перегрузить PostgreSQL. В логах базы вы должны увидать что то подобно:
71+
Лучше указать полный путь к WAL-E (можно узнать командой <<which wal-e>>), поскольку PostgreSQL может его не найти. После этого нужно перегрузить PostgreSQL. В логах базы вы должны увидеть что-то подобное:
7272

7373
\begin{lstlisting}[label=lst:wal-e8,caption=Логи PostgreSQL]
7474
2012-11-07 14:52:19 UTC LOG: database system was shut down at 2012-11-07 14:51:40 UTC
@@ -89,9 +89,9 @@ \subsubsection{Настройка и работа}
8989
DETAIL: Archiving to "s3://cleverdb-pg-backups/pg/wal_005/000000010000000000000002.lzo" complete at 2466.67KiB/s.
9090
\end{lstlisting}
9191

92-
Если похожего не видно в логах, тогда нужно смотреть что за ошибка появляется и исправлять её.
92+
Если ничего похожего в логах не видно, тогда нужно смотреть что за ошибка появляется и исправлять её.
9393

94-
Для того, что бы бэкапить всю базу достаточно выполнить данную команду:
94+
Для того, чтобы бэкапить всю базу достаточно выполнить данную команду:
9595

9696
\begin{lstlisting}[label=lst:wal-e9,caption=Загрузка бэкапа всей базы данных в S3]
9797
$ envdir /etc/wal-e.d/env wal-e backup-push /var/lib/postgresql/9.2/main
@@ -123,7 +123,7 @@ \subsubsection{Настройка и работа}
123123
\label{fig:wal-e3}
124124
\end{figure}
125125

126-
Данный бэкап лучше делать раз в сутки (например, добавить в crontab). На рис~\ref{fig:wal-e1}-\ref{fig:wal-e3} видно как хранятся бэкапы на S3. Все бэкапы сжаты через lzop\footnote{http://en.wikipedia.org/wiki/Lzop}. Данный алгоритм сжимает хуже чем gzip, но скорость сжатия намного быстрее (приблизительно 25Мб/сек используя 5\% ЦПУ). Чтобы уменьшить нагрузку на чтения с жесткого диска бэкапы отправляются через mbuffer (опцией <<cluster-read-rate-limit>> можно ограничить скорость чтения, если это требуется).
126+
Данный бэкап лучше делать раз в сутки (например, добавить в crontab). На рис~\ref{fig:wal-e1}-\ref{fig:wal-e3} видно как хранятся бэкапы на S3. Все бэкапы сжаты через lzop\footnote{http://en.wikipedia.org/wiki/Lzop}. Данный алгоритм сжимает хуже чем gzip, но скорость сжатия намного быстрее (приблизительно 25Мб/сек используя 5\% ЦПУ). Чтобы уменьшить нагрузку на чтение с жесткого диска бэкапы отправляются через mbuffer (опцией <<cluster-read-rate-limit>> можно ограничить скорость чтения, если это требуется).
127127

128128
Теперь перейдем к восстановлению данных. Для восстановления базы из резервной копии используется <<backup-fetch>> команда:
129129

clustering/hadoopdb.tex

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -111,17 +111,17 @@ \section{HadoopDB}
111111

112112
HBase представляет собой распределенную систему хранения больших объемов данных. Подобно реляционным СУБД данные хранятся в
113113
виде таблиц, состоящих из строк и столбцов. И даже для доступа к ним предоставляется язык запросов HQL (как ни странно~---
114-
Hadoop Query Language), отдаленно напоминающий более распространенный SQL. Помимо этого предоставляется итерирующмй интерфейс
114+
Hadoop Query Language), отдаленно напоминающий более распространенный SQL. Помимо этого предоставляется итерирующий интерфейс
115115
для сканирования наборов строк.
116116

117117
Одной из основных особенностей хранения данных в HBase является возможность наличия нескольких значений,
118118
соответствующих одной комбинации таблица-строка-столбец, для их различения используется информация о времени добавления записи.
119-
На концептуальном уровне таблицы обычно представляют как набор строк, но физически же они хранятся по столбцам, достаточно
119+
На концептуальном уровне таблицы обычно представляют как набор строк, но физически же они хранятся по столбцам. Это достаточно
120120
важный факт, который стоит учитывать при разработки схемы хранения данных. Пустые ячейки не отображаются каким-либо образом
121121
физически в хранимых данных, они просто отсутствуют. Существуют конечно и другие нюансы, но я постарался упомянуть лишь основные.
122122

123123
HQL очень прост по своей сути, если Вы уже знаете SQL, то для изучения его Вам понадобится лишь просмотреть по диагонали
124-
коротенький вывод команды help;, занимающий всего пару экранов в консоли. Все те же SELECT, INSERT, UPDATE, DROP и так далее,
124+
коротенький вывод команды <<help;>>, занимающий всего пару экранов в консоли. Все те же SELECT, INSERT, UPDATE, DROP и так далее,
125125
лишь со слегка измененным синтаксисом.
126126

127127
Помимо обычно командной оболочки HBase Shell, для работы с HBase также предоставлено несколько API для различных языков
@@ -138,7 +138,7 @@ \section{HadoopDB}
138138

139139

140140
\subsection{Установка и настройка}
141-
Вся настройка ведется на Ubuntu Server операционной системе.
141+
Вся настройка ведется в операционной системе Ubuntu Server.
142142

143143
\subsubsection{Установка Hadoop}
144144
Перед тем, как приступить собственно говоря к установке Hadoop, необходимо выполнить два элементарных действия,
@@ -173,7 +173,7 @@ \subsubsection{Установка Hadoop}
173173
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
174174
\end{lstlisting}
175175

176-
Этого должно быть более чем достаточно, проверить работоспособность соединения можно просто написав:
176+
Этого должно быть более чем достаточно. Проверить работоспособность соединения можно просто написав:
177177
\begin{lstlisting}[label=lst:haddop5,caption=Пробуем зайти на ssh без пароля]
178178
ssh localhost
179179
\end{lstlisting}
@@ -201,7 +201,7 @@ \subsubsection{Установка Hadoop}
201201
sudo chown -R hadoop:hadoop /opt/hadoop-data/
202202
\end{lstlisting}
203203

204-
Далее переходим в /opt/hadoop/conf/hadoop-env.sh и добавляем вначале:
204+
Далее переходим в /opt/hadoop/conf/hadoop-env.sh и добавляем в начало файла:
205205
\begin{lstlisting}[label=lst:haddop9,caption=Указываем переменные окружения]
206206
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
207207
export HADOOP_HOME=/opt/hadoop
@@ -400,7 +400,7 @@ \subsubsection{Тестирование}
400400
При запуске данного Perl скрипта сгенерится данные, которые будут сохранены на HDFS.
401401
Поскольку мы настроили систему как единственный кластер, то все данные будут загружены на один HDFS.
402402
При работе с большим количеством кластеров данные были бы распределены по кластерам.
403-
Создадим базу данных, таблицу и загрузим данные, что мы сохранили на HDFS, в нее:
403+
Создадим базу данных, таблицу и загрузим данные, которые мы сохранили на HDFS, в нее:
404404
\begin{lstlisting}[label=lst:haddop21,caption=Тестирование]
405405
$hadoop fs -get /data/SortGrep535MB/part-00000 my_file
406406
$psql
@@ -413,7 +413,7 @@ \subsubsection{Тестирование}
413413
COPY grep FROM 'my_file' WITH DELIMITER '|';
414414
\end{lstlisting}
415415

416-
Теперь настроим HadoopDB. В архиве HadoopDB можно найти пример файла Catalog.properties. Распакуйт его и настройте:
416+
Теперь настроим HadoopDB. В архиве HadoopDB можно найти пример файла Catalog.properties. Распакуйте его и настройте:
417417
\begin{lstlisting}[label=lst:haddop22,caption=Тестирование]
418418
#Properties for Catalog Generation
419419
##################################
@@ -448,7 +448,7 @@ \subsubsection{Тестирование}
448448
ssh_key=id_rsa
449449
\end{lstlisting}
450450

451-
Создайте файл machines.txt и добавте туда <<localhost>> строчку (без кавычек). Тепер создадим HadoopDB конфиг и скопируем его в HDFS:
451+
Создайте файл machines.txt и добавьте туда строчку <<localhost>> (без кавычек). Тепер создадим конфиг HadoopDB и скопируем его в HDFS:
452452
\begin{lstlisting}[label=lst:haddop23,caption=Тестирование]
453453
java -cp $HADOOP_HOME/lib/hadoopdb.jar \
454454
> edu.yale.cs.hadoopdb.catalog.SimpleCatalogGenerator \
@@ -469,7 +469,7 @@ \subsubsection{Тестирование}
469469
\end{lstlisting}
470470
и поставить <<true>> для <<hadoopdb.config.replication>> в HADOOP\_HOME/conf/hadoop-site.xml.
471471

472-
Теперь мы готовы проверить работы HadoopDB. Теперь можем протестировать поиск по данным, загруженым ранее в БД и HDFS:
472+
Теперь мы готовы проверить работу HadoopDB. Теперь можем протестировать поиск по данным, загруженым ранее в БД и HDFS:
473473
\begin{lstlisting}[label=lst:haddop24,caption=Тестирование]
474474
java -cp $CLASSPATH:hadoopdb.jar \
475475
> edu.yale.cs.hadoopdb.benchmark.GrepTaskDB \
@@ -663,7 +663,7 @@ \subsection{Заключение}
663663
не использовалось сжатие данных. Кроме того, Hadoop и Hive~--- это сравнительно молодые проекты с открытыми кодами.
664664

665665
В HadoopDB применяется некоторый гибрид подходов параллельных СУБД и Hadoop к анализу данных, позволяющий достичь производительности
666-
и эффективности параллельных систем баз данных, обеспечивая при этом масштабируемсть, отказоустойчивость и гибкость систем,
666+
и эффективности параллельных систем баз данных, обеспечивая при этом масштабируемость, отказоустойчивость и гибкость систем,
667667
основанных на MapReduce. Способность HadoopDB к прямому включению Hadoop и программного обеспечения СУБД с открытыми исходными
668668
текстами (без изменения кода) делает HadoopDB особенно пригодной для выполнения крупномасштабного анализа данных в будущих
669669
рабочих нагрузках.

extensions/hstore.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
\section{HStore}
22
\textbf{Лицензия}: Open Source
33

4-
HStore~-- расширение, которое реализует тип данных для хранения ключ/значение в пределах одного значения в PostgreSQL (например в одном текстовом поле). Это может быть полезно в различных ситуациях, таких как строки с многими атрибутами, которые редко вибираются, или полу-структурированные данные. Ключи и значения являются простыми текстовыми строками.
4+
HStore~-- расширение, которое реализует тип данных для хранения ключ/значение в пределах одного значения в PostgreSQL (например, в одном текстовом поле). Это может быть полезно в различных ситуациях, таких как строки с многими атрибутами, которые редко вибираются, или полу-структурированные данные. Ключи и значения являются простыми текстовыми строками.
55

66
\subsection{Пример использования}
77
Для начала активируем расширение:

0 commit comments

Comments
 (0)