Новая свободная кластерная СУБД Postgres-XL
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).
В качестве основы Postgres-XL выступил основанный на PostgeSQL 9.2 коммерческий продукт StormDB, перешедший в руки TransLattice после покупки одноимённой компании. StormDB, в свою очередь, основан на открытом проекте Postgres-XС и развивается разработчиками, ранее вовлечёнными в проекты Postgres-XC и Stado. Postgres-XL отличается от Postgres-XC иной философией и целями развития, в рамках которых стабильность, корректность и производительность ставятся выше функциональности. Postgres-XL также включает в себя дополнительные средства для повышения производительности и безопасности, такие как MPP-параллелизм и расширенная модель разграничения доступа, и охватывает область применения обработки больших объёмов данных, в то время как Postgres-XC в основном нацелен на OLTP.
Источник: http://www.opennet.ru/opennews/art.shtml?num=39786
|
0 | Tweet | Нравится |
|