现有应用程序从Cassandra DB迁移到Cosmos DB

时间:2019-01-30 15:36:40

标签: java c# cassandra azure-cosmosdb azure-cosmosdb-cassandra-api

可能需要进行哪些类型的代码更改?该文档在这方面似乎存在冲突,并且没有提供我可以找到的细节。该文档指出:

  1. 无需更改代码
  2. 可能需要更改密码
  3. 许多情况下不需要更改代码

如果我有可以更新和读取Cassandra的应用程序,那么在实现Cosmos后,什么情况会导致需要更改代码?我的应用程序中的查询可以照常工作吗?

我已经看到您可以根据需要添加代码以自动调整吞吐量,但是在从Cassandra迁移到Cosmos后,文档中没有描述查询或对现有应用程序进行代码更改的任何细节。

1 个答案:

答案 0 :(得分:1)

Azure Cosmos DB中的Apache Cassandra API –为您提供由Azure Cosmos DB支持的Cassandra即服务。现在,您无需熟悉任何应用程序代码即可通过熟悉您最喜欢的Cassandra SDK和工具来体验Azure Cosmos DB平台作为托管服务的强大功能。

只需3个简单的步骤即可将Cassandra应用程序带到Azure Cosmos DB

  1. 在Azure门户中创建一个新的Azure Cosmos数据库帐户,并在创建Azure Cosmos数据库帐户时选择新的Cassandra API。
  2. 将您的Cassandra应用程序连接到Azure Cosmos DB,复制创建新帐户时提供给您的简单连接代码片段。
  3. 使用您喜欢的Cassandra工具和驱动程序来管理和查询Azure Cosmos DB中的Cassandra数据

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

如果出现错误或异常,您肯定需要修改代码。

希望这可以为您提供帮助。