White Paper Philip Howard
Total Page:16
File Type:pdf, Size:1020Kb
White Paper White Paper by Bloor Author Philip Howard Publish date July 2016 IBM Informix and the Internet of Things IoT architectures“ are evolving into three tier environments where processing is required at the edge – in devices – at collection points – in gateways – and at the centre. (However) in practice, not all devices need to be smart, and not all environments require more than two tiers: it will depend on the application. Author Philip Howard” Executive summary nformix, one of the databases a database perspective, these may be offered by IBM, has a long and embedded in either or both of the first two I illustrious history. In particular, it tiers. At the centre there will typically be a is well known as a platform for supporting requirement to support hybrid operational/ applications developed by third parties analytic requirements and there may also and ISVs, primarily for use in transactional be a need to provide conventional data environments. This is because Informix warehousing capabilities for longer-term is a robust offering that combines high analysis of data that has been collected. performance and functionality with It is also worth bearing in mind that you minimal administrative requirements. may want to deploy your centre-based However, this paper does not discuss database(s) in the Cloud rather than these features of the product in any detail. on-premises. Instead, we are here concerned with the In the following sections we will Informix is a robust use of IBM Informix within Internet of consider the sort of facilities that are offering that combines“ Things (IoT) environments. Indeed, we can required to support these different high performance start by saying that IBM Informix is IBM’s environments, along with a consideration database of choice for IoT deployments, of the features of IBM Informix that lend and functionality with which should be reassuring to any existing themselves to such deployments. We minimal administrative users that might have been concerned will conclude with a discursion into areas requirements. about continuing investment into this where IBM Informix has special abilities, database product. not generally available in other database We will start with a brief discussion, products, which especially support IoT not of IoT per se – an understanding of IoT environments. is assumed – but of the different ways in ” which databases may be employed within IoT environments. Briefly, IoT architectures Figure 1: IBM Informix can be embedded at device level, in gateways, are evolving into three tier environments and used for central processing where processing is required at the edge (in devices), at collection points (in gateways) and at the centre. In practice, not all devices need to be smart, and not all environments require more than two tiers: it will depend on the application. For example, a “smart meter” typically does no more than forward a reading to a collection point and perhaps provides some limited information about usage for the householder. Conversely, you might have embedded database capability in a cell tower that is intended simply to identify dropped calls or in a wind turbine that will adjust turbine blades according to pre-defined rules based on atmospheric conditions. Then again, in a preventative maintenance scenario, sensors not only provide readings to a collection point for analysis but will also need to be able to raise alerts based on pre-defined conditions. Thus there is a wide spectrum of requirements, but as a rule of thumb, for large deployments, it is reasonable to work on the basis that some sort of intelligence is required in each of these tiers but the closer to the centre you go the more advanced the requirements will be. From 3 A Bloor White Paper Embedding s mentioned in the previous will be differently suitable for different section, IBM Informix has a long customers. Moreover, these workloads may A history of being embedded in a change over time. What this will mean is variety of applications and this suggests that the database will need to be tuned that the product is easy to implement on an ongoing basis in order to maintain and deploy. Going beyond this, while performance, which is impractical in IoT there are many similarities between environments. For all of these reasons embedding a database into a general- a traditional relational database will not purpose application and embedding a be suitable for embedding at the device database into a device or gateway, there or gateway level, precisely because these are also differences. In particular, at the all require exactly this sort of tuning. device level database footprint is a major Fortunately, this is not the case with IBM …it is essential consideration and for both devices and Informix because the product includes “that any embedded gateways cost is an issue, as often there self-healing and self-tuning autonomics database is invisible may be thousands of devices each running that handle these embedded environment an instance of the database. In the case of requirements automatically. and remains that way. the former, the footprint of IBM Informix Secondly, there are some elements This is true regardless is just 100 Mb to install on disk while of database flexibility that need to be of whether you are IBM provides free developer editions to discussed with specific respect to IoT simply collecting hardware manufacturers (such as Cisco environments. Support for things like data and passing it and Intel, both of which are partners) and geo-spatial and time series data we will charges as little as a few dollars for OEM discuss later. In the context of flexibility, on or whether you vendor distribution. you must bear in mind that an IoT are performing some More generally, the main requirements implementation may consist of multiple analytics on the data. for embedding a database are that you types of devices and gateways doing can fire it up and forget about it, that it different things. Moreover, the sort of performs adequately, that it is robust and data you are collecting and processing does not fall over, that it is flexible enough may change over time. For both of these to support deployments in different reasons a database that supports a flexible ” types of devices and gateways, and that schema will be preferable and as a result it is easily updated (without appreciable of these considerations IBM Informix downtime) when requirements change. supports JSON (where each data object In so far as IBM Informix is concerned all has its own schema) as first class objects of these can be taken as given. However, within the database. This is important there are a couple of points worth not just from a flexibility perspective but discussing. also because JSON is commonly used as a Firstly, it is essential that any data exchange medium from devices and embedded database is invisible and gateways. Moreover, IBM has recognised remains that way. This is true regardless that there is substantial existing use of of whether you are simply collecting MongoDB within the IoT community, so it data and passing it on or whether you has also implemented API compatibility are performing some analytics on the with MongoDB, a wire listener that acts as data. In the latter case, in order to get a mid-tier gateway between MongoDB and good performance, you need, at least in IBM Informix, and the database supports conventional environments, to create BSON (binary JSON), which is the form of indexes, materialised views and other such JSON supported by MongoDB. Again, BSON database constructs in order to achieve is treated as first-class. that performance. While this is feasible it is not flexible in the event that additional requirements need to be supported. Every time you add functionality within the device or gateway you will need to change the supported indexes. Worse, different workloads may mean that different indexes, materialised tables and so forth © 2016 Bloor 4 Analytics and analytic applications e need to distinguish between is no need to synchronise the data. analytics and analytic Furthermore, a single set of administrative W applications. The difference requirements means lower on-going costs, between these two is that the latter but it is this that represents the catch provides a packaged approach whereas for most database products because the the former is more tool-based. Analytic majority of relational databases that are applications may be deployed at any suitable for both transactional and analytic level within an IoT environment whereas operations on a separate basis require analytics per se will typically only be very different tuning and administrative required at the centre. If you consider that requirements to optimise performance for processing at the edge and at collection both environments in conjunction. Thus points is going to be automated then this it becomes impractical to implement such makes sense: it is only at the centre that a hybrid system. However, as we shall see, The big advantage, people, as opposed to processes, are going IBM Informix is an exception to this general of course, is“ that to want to query and investigate the data rule. you only require a that has been collected. Analytic applications in an IoT Given its history of supporting third environment are pre-built but also tend single system with party vendors, IBM Informix is especially to be hybrid in nature, typically combining a single hardware targeted at analytic applications although, sensor-based or machine-generated data implementation if of course, it supports business intelligence into applications that have both operational you can support a and data mining tools such as IBM Cognos, and analytical implications. An example is hybrid environment, Watson Analytics and SPSS as well as smart metering.