我们有一项服务,目前在MySQL数据库之上运行,并使用JBoss来运行该应用程序。数据库增长速度正在加快,我希望更改设置以改进扩展。问题不在于大量行,也没有(特别是)大量的查询,而是存储在db中的大量BLOB。特别是创建或恢复备份所需的时间(我们使用mysqldump和Percona Xtrabackup)是一个问题以及我们需要水平扩展以便将来继续扩展磁盘空间这一事实。目前db大小约为500GB。
我认为可以很好地满足我们未来需求的安排是一个混合数据库,它使用MySQL和一些键值数据库。后者只存储BLOB。元数据以及应用程序的用户管理和业务逻辑的数据将保留在MySQL数据库中,并受益于结构化表和完全一致性。应用程序本身将处理数据库之间的一致性问题。
问题是要使用哪个数据库?有很多NoSQL数据库可供选择。以下是我正在寻找什么品质的一些观点: