Введение
Тип архитектуры распределенных вычислений
Архитектура "ничего общего" (SN) – это архитектура распределенных вычислений, в которой каждый запрос на обновление обрабатывается отдельным узлом (процессором/памятью/блоком хранения) в компьютерном кластере. Цель состоит в устранении конкуренции между узлами. Узлы не используют общую память или хранилище (не имеют независимого доступа к ним). Альтернативная архитектура – "все общее", в которой запросы обрабатываются произвольными комбинациями узлов. Это может приводить к конкуренции, поскольку несколько узлов могут пытаться обновить одни и те же данные одновременно. Она также отличается от архитектур с общим диском и общей памятью. SN устраняет единые точки отказа, позволяя системе в целом продолжать работу, несмотря на сбои отдельных узлов, и позволяя отдельным узлам обновлять аппаратное или программное обеспечение без полной остановки системы. Система SN может масштабироваться простым добавлением узлов, поскольку отсутствие централизованных ресурсов не создает узких мест. В базах данных термин для части базы данных, расположенной на одном узле, – это шарды. Система SN обычно разделяет свои данные между множеством узлов. Усовершенствованием является репликация часто используемых, но редко изменяемых данных на нескольких узлах, что позволяет обрабатывать больше запросов на одном узле.
A shared nothing architecture (SN) is a distributed computing architecture in which each update request is satisfied by a single node (processor/memory/storage unit) in a computer cluster. The intent is to eliminate contention among nodes. Nodes do not share (independently access) the same memory or storage. One alternative architecture is shared everything, in which requests are satisfied by arbitrary combinations of nodes. This may introduce contention, as multiple nodes may seek to update the same data at the same time. It also contrasts with shared disk and shared memory architectures. SN eliminates single points of failure, allowing the overall system to continue operating despite failures in individual nodes and allowing individual nodes to upgrade hardware or software without a system wide shutdown. A SN system can scale simply by adding nodes, since no central resource bottlenecks the system. In databases, a term for the part of a database on a single node is a shard. A SN system typically partitions its data among many nodes. A refinement is to replicate commonly used but infrequently modified data across many nodes, allowing more requests to be resolved on a single node.
История
Майкл Стоунбрекер из Калифорнийского университета в Беркли использовал этот термин в статье о базах данных 1986 года. Teradata представила первую СН-систему баз данных в 1983 году. Системы Tandem Computers NonStop, реализованные по принципу "разделяемой ничего" в аппаратном и программном обеспечении, поступили в продажу в 1976 году. Позднее, в 1984 году, Tandem Computers выпустила NonStop SQL – реляционную базу данных, реализованную по принципу "разделяемой ничего".
Приложения
Общая архитектура без общих ресурсов популярна в веб-разработке. Архитектуры типа Shared Nothing широко используются в приложениях для хранилищ данных, однако запросы, требующие данных из нескольких узлов, могут существенно снижать пропускную способность.