MongoDB获得对多文档ACID事务的支持


  • 管理員

    MongoDB终于得到了对多文档ACID(原子性,一致性,隔离性,持久性)事务的支持。这是MongoDB社区多年来一直要求的事情,MongoDB公司现在即将实现这一目标。

     

    由于该公司将在会议上宣布,它将在夏季推出NoSQL数据库4.0版本时支持ACID交易。在此之前,开发人员可以使用测试版来了解他们如何利用这一新功能。

     

    MongoDB的核心是一个文档数据库,几乎默认情况下,这些类型的数据库不符合ACID标准,特别是涉及到多文档事务(在文档级别,MongoDB已经支持ACID事务)。大多数情况下,对于那些使用MongoDB等数据库系统的公司而言,这并不是什么大问题,因为他们并不试图同时写入多个文档。

     

    因此,许多MongoDB用户仍然在与其文档数据库并行运行关系数据库。

     

    事实上正如MongoDB联合创始人兼首席技术官Eliot Horowitz告诉我的那样,这是该项目背后的主要动机之一。他告诉我『并非所有这些交易都需要,但是对于大多数交易来说不需要这样做的原因是因为文档模型否定了对ACID交易的需求。但同时很明显,开发人员希望为他们的任务关键型用例进行交易。』Eliot Horowitz还认为,『一些开始与MongoDB合作的开发人员有他们可能在将来需要它的这种唠叨恐惧。而这次发布显然会带走这种恐惧。』

     

    RedMonk首席分析师Stephen O'Grady表示,『数十年来交易保证一直是关系数据库的一个重要特征,但是通常不存在非关系数据库,这意味着用户被迫在事务之间做出选择,且非关系数据库提供的灵活性和多功能性。但凭借对多文档ACID交易的支持,MongoDB专为希望拥有自己的蛋糕并且也能吃到它的顾客而打造。』

     

    Eliot Horowitz强调说,他不相信开发者会默认开启这个功能,而且大多数人只会在非常具体的用例中启用它。他告诉我,『我不认为这是写入MongoDB的常用方式。』

     

    建立这项新功能是一项为期三年的收购WiredTiger和该公司数据库存储引擎的多年努力。为了实现它,该团队实际上涉及了数据库系统的每个组件。

     

    如果你想自己尝试一下,你可以在这里加入beta程序。

    本帖下載内容已隐藏,请登入以查看隐藏内容!


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待