OpenStack Nova当前使用MySQL(由SQLAlchemy驱动)作为数据库后端。改用Cassandra有什么利弊?
最佳答案
Openstack使用MYSQL作为后端来持久化服务架构和各种工件(节点,角色,网络,安全组等)的状态。面向持久性存储的事务强度并不是那么“密集”,因此NoSQL通常是一个不错的选择。这是一些优点/缺点:
优点:
持久存储开箱即用
实时水平可扩展性
鉴于Cassandra的原理图范围和可伸缩性大,因此更好的多租户
支持分析:坐在NoSQL存储上,在openstack中引入分析功能变得更加简单
缺点:
重新设计代码:openstack的代码以关系数据库模型为中心。迁移到NoSQL将需要对所有openstack项目/代码进行相关的重新设计,并且需要在cassandra中引入对模型的索引以允许关联数据。这样的变化通常需要时间,思维和稳定性
比Mysql更复杂的管理/维护
数据冲突的潜在可能性:Cassandra具有最终一致的模型,尽管考虑到开放堆栈的并发事务处理不是那么并发,乍看之下这应该不是什么大问题
性能,尽管又一次,因为openstack并不是真正的“事务性”,并且它具有自身的性能问题(基于python的代码和服务),所以这也不是什么大问题。
关于mysql - OpenStack Nova切换到Cassandra的利弊?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17161430/