diff --git a/README-ru.md b/README-ru.md
index fa622c6a..ad0f954f 100644
--- a/README-ru.md
+++ b/README-ru.md
@@ -1790,7 +1790,11 @@ l10n:p -->
## Database
-TBD
+
+
+
+ Источник: Scaling up to your first 10 million users
+
### Relational database management system (RDBMS)
-TBD
+Реляционная база данных (SQL) - это набор данных, организованных в виде таблиц.
+
+**ACID** - описывает набор свойст [транзакций для реляционных баз данных](https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D0%B7%D0%B0%D0%BA%D1%86%D0%B8%D1%8F_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)).
+
+* **Атомарность (Atomicity)** - каждая транзакция выполняется либо целиком, либо не выполняется совсем (откатывается)
+* **Согласованность (Consistency)** - любая транзакция переводит базу данных из одного правильного состояния в другое правильное состояние, сохраняя согласованность данных
+* **Изолированность (Isolation)** - параллельное выполнение транзакцией должно иметь такие же результаты, как и их последовательное выполнение
+* **Стойкость (Durability)** - после завершение транзакции, данные должны остаться сохранёнными
+
+Существует ряд подходов для масштабирования реляционных баз данных:
+
+* репликация "ведущий-ведомый"
+* репликация "ведущий-ведущий"
+* федерализация
+* шардирование
+* денормализация
+* SQL тюнинг
#### Master-slave replication
-TBD
+Ведущий сервер работает на чтение и запись, реплицируя записи на один или более ведомых серверов. Ведомый сервер работает только на чтение. Ведомые сервера могу реплицировать на дополнительные ведомые сервера (как в древовидной структуре). Если ведущий сервер перестает работать, система продолжает работать в режиме только на чтение до тех пор, пока один из ведомых серверов не станет ведущим, или пока новый ведущий сервер не будет создан.
+
+
+
+
+ Источник: Scalability, availability, stability, patterns
+
+
##### Disadvantage(s): master-slave replication
-TBD
+* Для переключения ведомого сервера в ведущий необходима дополнительная логика
+* См. [Disadvantage(s): replication](#disadvantages-replication) для пунктом, характерных для подходов "ведущий-ведомый" и "ведущий-ведущий".
#### Master-master replication
-TBD
+Оба ведущих сервера работают на чтение и запись и координирует операции записи между собою. Если один из ведущих серверов перестают работать, система может продолжать работать на чтение и запись.
+
+
+
+
+ Источник: Scalability, availability, stability, patterns
+
##### Disadvantage(s): master-master replication
-TBD
+* Необходим балансировщик нагрузки или понадобиться изменить логику приложение для опеределения куда будет идти запись.
+* Большинство систем "ведущий-ведущий" либо слабо согласованы (нарушая ACID) либо имеют большую задержку из-за необходимости синхронизации.
+* При возрастании количества серверов на запись (ведущих) возрастает задержка и возникает необходимость разрешения конфликтов.
+* См. [Disadvantage(s): replication](#disadvantages-replication) для пунктом, характерных для подходов "ведущий-ведомый" и "ведущий-ведущий".
##### Disadvantage(s): replication
-TBD
+* Существует риск потери данных, если ведущий сервер перестает работать до того, как новые данные будут реплицированы на другие сервера.
+* Операции записи реплицируются на ведомый сервера. Если совершается много операций на запись, ведомые сервера могут быть перегружены реплицированием этих операций, влияя на производительность операций на чтение.
+* С ростом количества ведомых серверов увеличивается объем репликации, что приводит к задержке репликации.
+* На некоторых системах, запись на ведущем сервере может делаться в несколько потоков, выполняемых параллельно. Запись на ведомых серверах происходит последовательно в один поток.
+* Репликация требует большего количества аппаратного обеспечения и увеличивает общую сложность системы.
##### Source(s) and further reading: replication
-TBD
+* [Scalability, availability, stability, patterns](http://www.slideshare.net/jboner/scalability-availability-stability-patterns/)
+* [Multi-master replication](https://en.wikipedia.org/wiki/Multi-master_replication)
#### Federation
-TBD
+
+
+
+ Source: Scaling up to your first 10 million users
+
+
+Федерализация (или функциальное разделение) разбивает базы данных по функциям. Например, вместо одной монолитной базы данных, можно создать три отдельных базы данных:
+**форум**, **пользоватили** и **товары**, что приведет к меньшему количествую операций чтения и записи в каждую базу данных и, как следствие, сократить задержку репликации. Меньшие базы данных позволяют хранить больше данных в памяти, что приводит к более оптимальному использованию кэширования. Из-за отстуствие единого ведущего сервера, операции записи можно делать параллельно, увеличавая пропускную способность.
##### Disadvantage(s): federation
-TBD
+* Федерализация неэффективна, если схема базы данных требует больших функций или таблиц.
+* Неободимо изменить логику приложения, чтобы определить, с какими базами данных работать.
+* Операция соединения данных (JOIN) становится сложнее [server link](http://stackoverflow.com/questions/5145637/querying-data-by-joining-two-tables-in-two-database-on-different-servers).
+* Федерализация требует большего количества аппаратного обеспечения и увеличивает общую сложность системы.
##### Source(s) and further reading: federation
-TBD
+* [Scaling up to your first 10 million users](https://www.youtube.com/watch?v=w95murBkYmU)
#### Sharding
-TBD
+
+
+
+ Источник: Scalability, availability, stability, patterns
+
+
+Шардирование распределяет данны между разными базами данных так, что каждя база данных управляет только частью данных. Например, с увеличением количества пользователей в базу данных пользователей добавляются новые сервера (шарды).
+
+Аналогично [federation](#federation), шардинг уменьшает количество операций записи и чтения на каждый сервер, уменьшая репликацию и улучшая кэширование. Размер индексов также уменьшается, что приводит к улучшение производительность и более быстрым запросам. Если один из шардов выходит из строя, другие шарды продолжают работать. Во избежание потери данных можно ввести дополнительную репликацию данных. Так же как и с федерализацией, нету централизованного сервера на запись, что позволяет делать запись параллельно, увиличая пропускную способность.
+
+Расптространненый подход шардирования таблицы пользователей основан на разделении по имени или местоположению.
##### Disadvantage(s): sharding
-TBD
+* Логика приложения должна быть адаптирована к работе с шардами, что может привести к более сложным SQL запросам.
+* Данные могут неравномерно распределяться среди шардов. Например, использование данных активных пользователей, находящихся на одном шарде, увеличивают нагрузку на него.
+ * Балансировка усложняет систему. Функция шардирования, основанная на [consistent hashing](http://www.paperplanes.de/2011/12/9/the-magic-of-consistent-hashing.html) может уменьшить общий объем передаваемых данных.
+* Соединение данных (JOIN) из нескольких шардов сложнее
+* Шардирование требует большего количества аппаратного обеспечения и увеличивает общую сложность системы.
##### Source(s) and further reading: sharding
-TBD
+* [The coming of the shard](http://highscalability.com/blog/2009/8/6/an-unorthodox-approach-to-database-design-the-coming-of-the.html)
+* [Shard database architecture](https://en.wikipedia.org/wiki/Shard_(database_architecture))
+* [Consistent hashing](http://www.paperplanes.de/2011/12/9/the-magic-of-consistent-hashing.html)
#### Denormalization
-TBD
+Денормализация - это попытка улучшить скорость чтения за счет производительности записи. Избыточные копии данных записываюся в несколько таблиц для избежания сложных операций соединения данных. Некоторый СУБД, например [PostgreSQL](https://ru.wikipedia.org/wiki/PostgreSQL) и Oracle поддерживают [материализованное представление](https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5), которые выполнюят задачу хранения избыточных данных и поддержку их согласованности.
+
+При использовании [federation](#federation) и [sharding](#sharding), данные становятся распределенными. В результате выполнение операций соединения данных усложняется. Денормализация может позволить избавиться от необходимости в сложных JOIN запросах.
+
+В большинстве систем, количество операций на чтение значительно больше операций на запись (100:1, или даже 1000:1). Операция на чтение в результате сложного соединения данных может быть очень ресурсоемкой и требованть значительного времени, потраченного на операции c жестким диском.
##### Disadvantage(s): denormalization
-TBD
+* Данные дублируются.
+* Ограничения могу помочь поддерживать избыточные копии данных в актуальном состоянии, но увиличивают сложность архитектуры базы данных
+* Денормализованная база данных под большой нагрузкой может работать медленее, чем её нормализованный аналог.
###### Source(s) and further reading: denormalization
-TBD
+* [Денормализация](https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F)