User Tools

Site Tools


db_clustering

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
db_clustering [2006/07/30 17:13] – создано slonopotamusdb_clustering [2019/06/12 16:08] (current) – external edit 127.0.0.1
Line 1: Line 1:
 [[start|На главную]] [[start|На главную]]
 ====== Кластеризация БД ====== ====== Кластеризация БД ======
-===== Теория ===== + 
-==== Репликация и share-nothing ====+===== Репликация и share-nothing =====
 Принцип работы репликации: есть несколько узлов, один из которых является главным. Запросы на выборку отправляются случайному серверу, запросы на изменение данных - главному, который автоматически дублирует их на вторичные сервера. Принцип работы репликации: есть несколько узлов, один из которых является главным. Запросы на выборку отправляются случайному серверу, запросы на изменение данных - главному, который автоматически дублирует их на вторичные сервера.
 Принцип работы архитектуры share-nothing отличается только тем, что нет явного главного сервера, запросы на запись могут идти любому, который потом распределяет их по всем остальным узлам. Принцип работы архитектуры share-nothing отличается только тем, что нет явного главного сервера, запросы на запись могут идти любому, который потом распределяет их по всем остальным узлам.
 +
 +{{db_clustering:share-nothing.png}}
  
 {{jsf-ru:plus.gif}} Селекты распределяются по нескольким серверам. {{jsf-ru:plus.gif}} Селекты распределяются по нескольким серверам.
Line 16: Line 18:
 {{jsf-ru:minus.gif}} Узкое (и немасштабируемое) место - запись на диск. {{jsf-ru:minus.gif}} Узкое (и немасштабируемое) место - запись на диск.
  
-Реализации: [[http://www-306.ibm.com/software/data/db2/9/edition-enterprise.html|DB2 Enterprise]],[[http://pgcluster.projects.postgresql.org|PGCluster]], [[http://www.mysql.com/products/database/cluster/|MySQL Cluster]], [[http://sequoia.continuent.org|Sequoia]].+Реализации: [[http://www-306.ibm.com/software/data/db2/9/edition-enterprise.html|DB2 Enterprise]],[[http://pgcluster.projects.postgresql.org|PGCluster]], [[http://www.mysql.com/products/database/cluster/|MySQL Cluster]]((Список ограничений: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations.html)), [[http://sequoia.continuent.org|Sequoia]]. 
 + 
 + 
 +===== Партишенинг ===== 
 +{{db_clustering:partitioning.png}}
  
-==== Партишенинг ==== 
 Принцип работы: данные делятся на куски, каждый из которых лежит на отдельном(ых) серверах. Принцип работы: данные делятся на куски, каждый из которых лежит на отдельном(ых) серверах.
  
Line 37: Line 42:
 {{jsf-ru:minus.gif}} Джойны с участием таблиц, находящихся на разных серверах, приводят к **охренительному** траффику между ними. {{jsf-ru:minus.gif}} Джойны с участием таблиц, находящихся на разных серверах, приводят к **охренительному** траффику между ними.
  
-Реализации: [[http://www-306.ibm.com/software/data/db2/9/edition-enterprise.html|DB2 Enterprise]], [[http://www.mysql.com/products/database/cluster/|MySQL Cluster]], [[http://sequoia.continuent.org|Sequoia]]((Sequoia не умеет выполнять джойны с участием нескольких серверов.))+Реализации: [[http://www-306.ibm.com/software/data/db2/9/edition-enterprise.html|DB2 Enterprise]], [[http://www.mysql.com/products/database/cluster/|MySQL Cluster]]((Список ограничений: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations.html)), [[http://sequoia.continuent.org|Sequoia]]((Sequoia не умеет выполнять джойны с участием нескольких серверов.))
  
-==== Shared-disk ====+ 
 + 
 +===== Shared-disk =====
 Принцип работы: существует одно дисковое хранилище, к которому присоединено много серверов, **не** хранящих данных, а читающих/пишущих в это хранилище и пользующихся общим кэшем. Принцип работы: существует одно дисковое хранилище, к которому присоединено много серверов, **не** хранящих данных, а читающих/пишущих в это хранилище и пользующихся общим кэшем.
 +
 +{{db_clustering:shared_disk.png}}
  
 {{jsf-ru:plus.gif}} Элементарное включение новых серверов, без остановки. {{jsf-ru:plus.gif}} Элементарное включение новых серверов, без остановки.
Line 50: Line 59:
 Реализации: [[http://www.oracle.com/technology/products/database/clustering|Oracle Real Application Clusters]]. Реализации: [[http://www.oracle.com/technology/products/database/clustering|Oracle Real Application Clusters]].
  
-===== Практика ===== +===== Итого ===== 
-FIXME+Про PGCluster ничего не скажу, потому что почти ничего о нём не знаю. Аналогично с Sequoia, к тому же только для Java. MySQL Cluster, учитывая все его ограничения, совершенно неюзабелен. Остаётся DB2, но идея партишенинга порочна по сути, ну и Oracle, который в Standard Edition'е, начиная с которого оно поддерживает кластеризацию, стоит по $15K на процессор. Вот такая вот неутешительная ситуёвина.
  
 +===== Ссылки по теме =====
 +  * [[http://www.oracle.com/technology/products/database/clustering/pdf/twp_rac_10g_vs_db2_v8.2[1].pdf|Сравнение Oracle RAC и DB2]]
db_clustering.1154279638.txt.gz · Last modified: 2019/06/12 16:12 (external edit)