MongoDB 4.0 получает поддержку ACID с несколькими документами


В следующем выпуске MongoDB, наконец, будет поддержка многодокументных транзакций ACID, и теперь доступна бета-версия с новой технологией.

MongoDB — популярная база данных документов, которая имеет некоторую поддержку транзакций ACID на уровне документа, но до сих пор не поддерживает транзакции с несколькими документами. В предстоящей версии MongoDB 4.0 будет добавлена поддержка многодокументных транзакций, чтобы обеспечить глобально согласованное представление данных. Разработчики говорят, что транзакции с несколькими документами будут ощущаться так же, как транзакции в реляционных базах данных. Они будут многопользовательскими, будут использовать операторы start_transaction и commit_transaction и изначально будут работать с одним набором реплик. MongoDB 4.2 добавит поддержку транзакций в сегментированном развертывании.

Рассказывая о новых функциях в блоге, Элиот Хоровиц, технический директор и соучредитель MongoDB, сказал:

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

Это ясно дает понять, что использование поддержки транзакций замедлит работу тех приложений, которые ее используют. Неясно, какой процент пользователей действительно понадобится или будет использовать новое средство, поскольку уже было возможно выполнять атомарные операции с одним документом. Однако тот факт, что поддержка будет там, вполне может заставить некоторые компании задуматься о MongoDB там, где они раньше этого не делали.

Новая поддержка транзакций была достигнута путем серьезной модернизации MongoDB для использования механизма хранения WiredTiger, который MongoDB приобрела, когда они приобрели WiredTiger три года назад. Горовиц сказал в своем блоге:

«Мы заложили основу почти для каждой части сервера — от самого уровня хранения до протокола консенсуса репликации и архитектуры сегментирования. Мы создали детализированные гарантии согласованности и долговечности, ввели глобальные логические часы , реорганизовано управление метаданными кластера и многое другое. Мы также представили все эти улучшения с помощью API, которые полностью используются нашими драйверами ».

Поддержка транзакций составляет около 85 процентов с точки зрения функций, обеспечивающих транзакции. На практике MongoDB 4 поддерживает восстановление до отметки времени, и в настоящее время ведется работа по поддержке хранилища для подготовленных транзакций; чтения на определенный момент времени с набором реплик; и восстанавливаемый откат через контрольные точки WiredTiger.


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