How does Teradata Scoring SDK differ from ML Engine functions?
Teradata Scoring SDK enables enterprises to perform predictive analytics in real-time on a user framework (for example, a web server or stream-processing engine). ML Engine functions perform data analytics in batch mode.
Does Teradata Scoring SDK include a real-time streaming engine or listening framework?
No, Teradata Scoring SDK is a computational library framework that can be plugged into any online Java Runtime Environment (Java 1.6 or later) to perform deeper analysis of data. Because real-time systems come with different architectures to handle input data (requests or streams), Teradata Scoring SDK does not incorporate another request-handling layer of its own and is universally applicable to all Java-based real-time systems.
Does Teradata Scoring SDK Need ML Engine Functions?
Yes. Teradata Scoring SDK works on predictive models trained using ML Engine functions. Once trained, these models are exported through an AML file to the user environment where Teradata Scoring SDK is deployed.
Can Teradata Scoring SDK be invoked in a cloud environment such as Amazon Web Services (AWS)?
Yes. However, the cloud infrastructure must have a processing framework in which Teradata Scoring SDK can be integrated easily.
Is Teradata Scoring SDK thread-safe? Can it be deployed in a multithreaded parallel system?
Yes, Teradata Scoring SDK is thread-safe and can be deployed in a multithreaded system through sharing of a scorer object across multiple threads.
What is the recommended way to incorporate Teradata Scoring SDK in a multithreaded system?
- The scorer is not shared across multiple threads. Each thread creates its own scorer object and there is no sharing of model or configuration across threads. There are as many scorer objects as the number of parallel execution threads.
- The scorer is initialized and configured by a single thread (main process) and the configured scorer is shared across multiple threads for parallel execution.
- The scorer is initialized by a single thread (main process) and the initialized scorer is shared across multiple threads. The scorer is configured by the first thread that makes the configure() call. To change the scorer configuration (for example, if there is a change in model or a parameter), the scorer must first be reset using the reset() call and then reconfigured. In case of multiple configuration calls, all but the first configuration call are ignored by the scorer.
Does Teradata Scoring SDK work on Predictive Model Markup Language (PMML) based models?
No, Teradata Scoring SDK supports only AML based models. PMML model support is inconsistent and is not fully standardized. Moreover, a PMML model captures only an individual model as opposed to a complete configuration mechanism for real-time scoring provided through the AML model file. An AML model can be seamlessly integrated in Teradata Scoring SDK to deliver high performance.
How fast is the response time of Teradata Scoring SDK?
Teradata Scoring SDK processes incoming requests (queries) as fast as less than a millisecond (on the order of a few microseconds) in a typical configuration. However, response time and throughput for the entire system depends on other variables including hardware specifications, available memory, number of parallel run threads, model complexity, and so on.