SAP MII and NoSql Databases
3Vs (volume, variety and velocity) are three defining properties or dimensions of Big Data. Volume refers to the amount of data, variety refers to the number of types of data and velocity refers to the speed of data processing.
Industrial data can potentially and do constitute of all three properties. Often standard SQL databases fails to meet varied requirements such as handling different formats of data – jpg, mp4, txt and so on, providing dynamic schema, inbuilt sharding capabilities, performing with limited system resources.
There are several types of NoSql databases – columnar, document, graph and others – that can help in solving above mention problems. A deep study of differences of such databases is required before choosing one. If you are getting started or are experimenting I would suggest to go with MongoDb or CouchDb.
SAP MII does not have inherent capabilities to connect with NoSql databases. I would suggest to use web services to connect with NoSql Database.
- Application Server: It will carry out three tasks:1) Accept service request from MII
2) Connect to NoSql Database through SDK provided by database.
3) Return data back to MII
One will have to write necessary CRUD functions are expose them on certain port on the server. This functions (created by utilizing SDK of Database) will then be invoked upon web service request. Building a web service handler is not in scope of this article.
- SAP MII: It can connect with external systems with SOAP based web service.
- NoSql Database: MongoDB, couchDb, Redis, Cassandra etc. Depending upon your choice of Database, you will have to download respective SDK and connect with the database through that SDK.
Get data from database
- User makes request for data
- Transaction gets executed
- Webservice Action Block is used to connect with your application Server. Configuring a webservice block is shown in below image.
- Data gets returned by your application server. If you are return json then you will have to parse it as string or convert it to XML (use jsonToXml Action Block) in MII.Example of return data can be :
<result>Your Returned Data</result>
This data gets displayed on user screen
In the similar manner you can carry out other operations, such as Insert, update or delete.