Can we integrate DB (mongoDB , SQL) into Cumulocity?

Can we integrate Mongodb, SQL or any other db into Cumulocity?

Hi @Ritu_Rana,

can you share a bit more about the UseCase. Cumulocity uses a MongoDB itself as backend and exposes those data via RestAPI. If it comes to integrating other data I can recommend either using a dedicated microservice for that or even integration tools. Depends a bit on the UseCase.

Best,

Hye @Murat_Bayram
Thank you for your response.
I just wants to know is there anyway we can access the db of Cumulocity without rest Api and
Can we integrate Mongodb or Sql db with cumulocity like we do with web applications?

There is no access to the database directly, only via API.

You can offload your data into a data lake using Cumulocity IoT DataHub Cumulocity IoT DataHub overview - Cumulocity IoT Guides
The product will provide you SQL access to the data, which may allow for the integration scenarios you are looking for.

Hi Murat/Michael,

I know that Cumulocity uses MongoDB behind the scenes and we use rest API to access the data. The main question is that can we integrate any external DB with Cumulocity or is there any service provided by cumulocity or software ag with which we can connect an external DB with Cumulocity?

Regards,
Samanyu

Hi
The initial question is not clear nor is the title of the post to be honest, hence the confusion.
If you want to send Cumulocity data to an external DB then you will need to develop a microservice or potentially use Streamsets. It would be easier to have more details about the use case… why do you need to integrate a DB? which data do you need? at which frequence? Which DB type do you want to send the data to…

Hi Melanie,
I am very sorry for the confusion. Let me clear everything out, so our use case is that we just want to know if we can directly connect any Database ( it can be any ) like Aws provides services of various databases we just want to know if there is a same functionality with cumulocity. We know we can develop microservice and all but we don’t need a middleware we just want to know if there can be a direct connection between cumulocity and any external database.

I hope everything is clear now, please do let me know if you have any other confusions.

Regards,
Samanyu

Hi,

without Microservice I do not see any functionality that directly allows/enables Cumulocity to connect to another database.

Best,

Hi Murat,

Thanks for the confirmation.

Best Regards,
Samanyu

Hye @Murat_Bayram,
Thank you for clarification

Regards,
Ritu

Hye @shellymegan
Thank you for your response.
Can you provide me any reference guide or blog where i can understand about integrating with different databases into Cumulocity more clearly?

Ok, this thread is a mess :smiley:
I try to clean up things a little:

clean up GIF

  1. You cannot configure any other DB as a direct data source to Cumulocity IoT.
  2. Cumulocity IoT uses Mongo DB only and it cannot be exchanged by any other database.
  3. There is no access to Mongo DB directly available.
  4. Of course you can integrate data of an existing database to Cumulocity but only using the API & correlated SDKs of Cumulocity IoT.
  5. Those integrations must be built and could run as a microservice or externally.
  6. For Data offloading (MongoDB → Data Lake) you can use the DataHub. It cannot be used for data integration.

Maybe this article helps: Data integration options with Cumulocity IoT

3 Likes

@Stefan_Witschel
Thank you for clarification. It is more clear and understandable now.

Regards,
Ritu

Slight correction:
Cumulocity IoT DataHub can also be used for integration as its SQL Engine Dremio supports reading from other databases as well. Currently, availability of this functionality is limited to dedicated C8Y instances, but it is planned to improve in future versions.

Just for clarification (and avoid misunderstandings):
Your point is that data of other databases can be integrated to dremio / datahub so it can be used in SQL based BI tools but NOT within Cumulocity Apps like Cockpit, Device Management etc., correct? If the second case it would either mean to map & store the data in C8Y database or having a transparent layer that either can access device data from C8Y or dataHub on the fly and existing apps.

The data is as usable as other data queried from DataHub - out of the box support in the platform is still limited, but there are all APIs in place to use it in your custom UI extension.