Сегмент (архитектура базы данных)
-
Определение и преимущества сегментирования
- Сегментирование данных — разделение данных на логические разделы для повышения производительности и масштабируемости.
- Разделение данных на несколько изолированных экземпляров позволяет распределять нагрузку по серверам.
-
Сравнение с горизонтальным разделением
- Горизонтальное разделение разделяет таблицы по строкам, в то время как сегментирование может разделять таблицы по разделам в нескольких экземплярах.
- Сегментирование позволяет распределять нагрузку на несколько серверов, в то время как горизонтальное разделение требует наличия нескольких индексов на одном сервере.
-
Примеры реализации
- Altibase, Apache HBase, Azure Elastic Database, ClickHouse, Couchbase, Db2, DRDS, Elasticsearch, eXtreme Scale, Hibernate shards, IBM Informix, Kdb+, MariaDB Spider, MonetDB, MongoDB, MySQL Cluster, MySQL Fabric, Oracle, Oracle NoSQL, OrientDB, Solr, ScyllaDB, Spanner, SQLAlchemy ORM, SQL Server, Teradata, Vault, Vitess, ShardingSphere — примеры баз данных с поддержкой сегментирования.
-
Недостатки сегментирования
- Сложность SQL, программного обеспечения, отказоустойчивости, резервного копирования и работы с базой данных увеличивается из-за сегментирования.
-
Этимология термина «сегмент»
- Термин «сегмент» происходит от игр Ultima Online и Computer Corporation of America, связанных с высокодоступными реплицированными данными.
-
Ссылки
- Ссылки на внешние ресурсы и статьи о сегментировании данных Informix в формате JSON предоставлены для дополнительной информации.