可能需要进行哪些类型的代码更改?该文档在这方面似乎存在冲突,并且没有提供我可以找到的细节。该文档指出:
如果我有可以更新和读取Cassandra的应用程序,那么在实现Cosmos后,什么情况会导致需要更改代码?我的应用程序中的查询可以照常工作吗?
我已经看到您可以根据需要添加代码以自动调整吞吐量,但是在从Cassandra迁移到Cosmos后,文档中没有描述查询或对现有应用程序进行代码更改的任何细节。
答案 0 :(得分:1)
Azure Cosmos DB中的Apache Cassandra API –为您提供由Azure Cosmos DB支持的Cassandra即服务。现在,您无需熟悉任何应用程序代码即可通过熟悉您最喜欢的Cassandra SDK和工具来体验Azure Cosmos DB平台作为托管服务的强大功能。
只需3个简单的步骤即可将Cassandra应用程序带到Azure Cosmos DB :
Azure Cosmos DB提供与Cassandra API的有线协议级别兼容性。 这可确保您无需更改代码即可继续使用现有的应用程序和OSS工具,并使您可以灵活地运行完全受管的Cassandra应用程序,而无需供应商锁定。尽管Azure Cosmos DB公开了流行的开源数据库的API,但它并不依赖那些数据库的实现来实现相应API的语义。
参考:https://azure.microsoft.com/en-us/blog/dear-cassandra-developers-welcome-to-azure-cosmosdb/
documentation官员还提到: Azure Cosmos DB Cassandra API可用作为Apache Cassandra编写的应用程序的数据存储。这意味着,通过使用与CQLv4兼容的现有Apache驱动程序,您现有的Cassandra应用程序现在可以与Azure Cosmos DB Cassandra API通信。在许多情况下,只需更改连接字符串,就可以从使用Apache Cassandra切换到使用Azure Cosmos DB的Cassandra API。
Azure Cosmos DB提供与现有Cassandra SDK和工具的有线协议级别兼容性。这种兼容性确保您可以将现有代码库与Azure Cosmos DB Cassandra API一起使用,并进行一些细微的更改。
这不是绝对“无代码更改”。将应用程序从Cassandra迁移到Cosmos后,您需要测试该应用程序是否运行良好或查询语句是否成功执行。您需要考虑代码兼容性。 要查看:Apache Cassandra features supported by Azure Cosmos DB Cassandra API。
如果出现错误或异常,您肯定需要修改代码。
希望这可以为您提供帮助。