Представлена свободная кластерная СУБД Postgres-XL

Компания TransLattice, специализирующаяся на управлении географически распределёнными системами хранения данных, анонсировала новую СУБД Postgres-XL, основанную на технологиях PostgreSQL и позиционируемую для создания кластерных систем как для обработки транзакций в реальном времени (OLTP), так и для создания крупных баз для анализа больших наборов данных (решения для бизнес-аналитики). В качестве основы Postgres-XL выступил основанный на PostgeSQL 9.2 коммерческий продукт StormDB, перешедший в руки TransLattice после покупки одноимённой компании. Код СУБД Postgres-XL распространяется под свободной лицензией Mozilla Public License 2.0.

Postgres-XL полностью соответствует требованиям ACID (атомарность, согласованность, изолированность, надежность) на уровне всего кластера, предоставляет методы массивной параллельной обработки данных (MPP, Massively Parallel Processing) и поддерживает механизм многоверсионности для обеспечения одновременного конкурентного доступа к БД (MVCC). По своей структуре кластер Postgres-XL состоит из балансировщика нагрузки, узла управления глобальными транзакциями, узлов координации выполнения запросов и узлов хранения данных (используется распределённая модель хранения, при которой каждый узел хранит и обрабатывает отдельную порцию данных).

Postgres-XL поддерживает модель разграничения доступа, позволяющая организовать в рамках одного кластер нескольких виртуальных СУБД, закреплённых за разными арендаторами (Multi-tenant). При этом Postgres-XL поддерживает большинство штатных возможностей PostgreSQL и позволяет использовать SQL и техники NoSQL (например, хранения данных в формате JSON и hstore) для формирования запросов, охватывающих данные на всех узлах кластера. В качестве одного из применений Postgres-XL также отмечается плавный перевод обособленных серверов PostgeSQL, которым перестало хватать мощности оборудования, на кластерную архитектуру, при которой тот же набор данных обслуживается несколькими узлами.

С кластером Postgres-XL могут работать как приложения с большой интенсивностью записи, так и программы, в которых преобладают операции чтения. При записи данные равномерно распределяются по разным узлам хранения, при выполнении запросов на чтение они также охватывают разные узлы, что позволяет более эффективно использовать кэширование и распределять нагрузку. Для обеспечения отказоустойчивости предоставлена возможность развётывания запасных узлов (slave), которые обеспечат дублирующиеся хранение данных и примут нагрузку в случае выхода из строя основного узла (автоматическая подмена узлов не поддерживается из коробки и требует применения отдельных решений, таких как Corosync/Pacemaker).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.