Просачиваются удивительные слухи, а именно: Charles Lamb проговорился о скором выходе бета-версии Berkeley DB Java Edition HA.

Почему я обратил на это особое внимание? HA-версия JE — морковка, которую показывали пользователям JE годами. Собственно, HA-версия была обещана компанией SleepyCat за полгода до съедения её Oracle. Похоже, что Oracle несколько сместил приоритеты в головах разработчиков JE, потому что все обещания HA разом и надолго прекратились.

Самое вкусное в HA, разумеется, репликация. Причем в собрате JE — BDB репликация уже давно работает и прошла серьезную обкатку. Репликация в BDB сделана на базе TCP/IP и протоколов Paxos и по сути представляет собой «полусинхронный» master-slave. Уровень синхронности конфигурируется — от полной синхронности, когда master ожидает завершения транзакции на всех slave-репликах, до варианта, когда кворум достигается, например, при подтверждении от половины реплик. При этом подтверждение от реплики может возвращаться как после записи транзакции в буфер, так и после окончания физической записи на диск. Любопытно, что по наворотам этот механизм репликации превосходит многие современные реляционные БД.

Я бы, разумеется, предположил, что репликация в JE HA будет сделана по уже отработанным сценариям на основе native-версии. Но не все может быть так просто. JE и BDB имеют совершенно разные системы хранения и форматы лог-файлов (WAL). Система хранения JE оптимизирована на запись данных, а BDB — на чтение. Будет ли так просто перенести всю сложную систему синхронизации и версионирования реплик на совершенно другой движок?

Увидим. Узнаем.

  • Sharing

    Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather