Система управления распределенной базой данных - альтернативы? - PullRequest
1 голос
/ 17 марта 2011

Я работаю над созданием приложения, которое нуждается в данных, распределенных по странам.Контент будет предоставляться «для каждого региона», но его необходимо будет легко скопировать в другой регион.Вдобавок ко всему, у меня есть общая информация, которую необходимо совместно использовать и синхронизировать между базами данных.

Организация, в которой я работаю, рассматривает возможность внедрения этой системы самостоятельно, но кажется, что уже должны быть какие-то хорошие решения(Я открыт для облачных решений - чем меньше моей компании нужно управлять, тем лучше)?

Это может быть неопределенный вопрос, но я думаю, что на него можно ответить хорошо.

Чтоу меня есть варианты при разработке такого рода распределенных систем данных?

Обновление:

Должно быть уточнено (но я не уверен, сколько я могу сказать, учитывая NDA),Достаточно сказать, что у меня есть «Контент», который мне нужно хранить в некотором пространстве (файлы).Мне нужно хранить метаданные о контенте, распределенном по нескольким узлам (которые могут быть размещены нами или кем-то еще), чтобы обеспечить быстрый обмен данными и региональные различия в данных.Мне нужно контролировать, КАК данные реплицируются между узлами, но желательно в соответствии со стандартами.(Желательно не написано нами)

Ответы [ 3 ]

1 голос
/ 17 марта 2011

Вы можете попробовать CouchDB.Его модель автономной репликации хорошо подходит для геораспределенной системы.

0 голосов
/ 10 мая 2015

Я знаю, что прошло несколько лет после того, как я спросил, но я искал ответ на тот же вопрос, и похоже, что Кассандра может соответствовать всем требованиям. После настройки он выглядит и действует как другие решения для баз данных (таблицы, представления, SQL, транзакции и т. Д.), Но он также может быть полностью децентрализован. Каждый экземпляр действует как узел в кластере других узлов Cassandra. Они синхронизируются за кулисами, и если один из них падает, другие обнаруживают слабину. Это делает Cassandra легко масштабируемой и отказоустойчивой.

0 голосов
/ 17 марта 2011

Интересный вопрос - но это действительно помогло бы получить больше контекста.

Вы говорите о «данных», что обычно означает что-то с довольно четко определенной структурой, часто реализуемой в реляционной базе данных.

Вы также говорите о «контенте», который обычно означает что-то с (намного) менее четко определенной структурой, часто реализуемой как документ некоторого типа. Существует много решений для структурирования «документов», например, файловые системы или веб-сайты.

Предполагая, что мы говорим о структурированных данных, самое простое, что нужно сделать - это иметь единый репозиторий, доступный везде Взгляните на «облачные» предложения - Amazon - хорошая ставка. Создание собственного глобального хранилища данных - это серьезная задача, но если вы имеете дело с очень конфиденциальными данными или у вас есть особые требования к производительности, возможно, вам это удастся.

Если ни один из этих вариантов не работает, вы находитесь в мире «корпоративной сервисной шины». Google, но будьте осторожны - это сложное поле, и вы действительно хотите найти кого-то, кто знает, что они делают.

Сказав, что использование готового ESB во много раз менее болезненно, чем построение вашей собственной структуры распределенных данных.

...