IDX 8 Historian

The IDX 8 Historian is aimed at users that don’t want to
spend the earth to get a solution that fits in between these two cases, that
will provide data logging that is extensible to fairly large capacities and without
the multitude of features most users don’t know how to or even wish to use.
Our historian is built on Microsoft SQL 2008 (or above). Certain
features introduced in SQL 2008 have made it viable to implement data logging
with performance we were happy with (rough ball park figures show we routinely
achieve around 20-30K sustained writes and 30-50K reads per second using SQL
Express using ordinary workstation hardware). We are aware there are more than a few other
historians built on SQL. However, we believe our approach is a little different
and we like to believe this is what makes our Historian more than just another
SQL data logger. Firstly, in order to address cost issues, a primary design
goal for us was to ensure the Historian could use any edition of SQL server.
You may be aware a SQL server license, particularly for the Enterprise edition
can become quite pricey, and is often a non-starter for SMB’s that wish to add
the benefits of historical data to their production analysis. Thus, the IDX
Historian is able to run on anything from the Express (free) edition up to the
Enterprise edition, although we envisage most customers won’t gain any
advantage of going beyond the Standard Edition for IDX Historian use. The IDX
Historian segments data across tables and multiple databases, so unless you
plan to store more than 10GB of raw data per day (the database size limit for
SQL Express 2008 R2) or need performance beyond what Express edition can
provide (Express is limited to the use of 1 CPU and 1GB of RAM), the free
Express edition is the likely starting point, from which you can always update
to SQL Standard if required.
To start using the Historian, the first and generally only
configuration step required is to set the Period and Segment Count settings.
The Period setting defines how data is split across SQL databases, currently
Month, Week or Day. The Segment Count setting defines how data is divided across
tables within a database. For example, if you select the Period to be Day, if
the Segment Count is set to 12, the data for each day will be split into 12
tables spanning two hours each. Point of
note here is that once the Period and Segment Count settings are defined, they
cannot be changed without backing up and clearing any existing historical data.
Therefore, these settings should be chosen with care.
Currently, real-time data logging is supported via IDX 8
Data Exchange. IDX 7 also supports logging via the Historian Client which
allows IDX 7 instances on different machines to safely log data into the
Historian. The Historian Client uses disk-based buffering to ensure captured
real-time data is not lost in the case where communications between the client
and server is lost or if the Historian server machine is restarted for example.
The IDX Historian Client has both .NET and COM registered APIs that can be used
to integrate real-time data from other sources, and is freely available on
request, along with C# and C++ code samples. Additional historian configuration
is performed on a per-tag basis via IDX Tag Manager (or on the slots in IDX 7),
to set options such as data compression (5 compression methodologies are implemented,
including the Swinging Door algorithm).
Data can also be queried from the SQL database directly,
allowing for additional data analysis and reporting, without the requirement
for additional OLEDB or other clients.
![]() |
Viewing "interesting" historical data with the IDX Historian data viewer. |