Oracle NoSQL Database For Time Series Data O R A C L E W H I T E P A P E R D E C E M B E R

Similar documents
Correction Documents for Poland

Generate Invoice and Revenue for Labor Transactions Based on Rates Defined for Project and Task

Creating Custom Project Administrator Role to Review Project Performance and Analyze KPI Categories

Oracle Cloud Applications. Oracle Transactional Business Intelligence BI Catalog Folder Management. Release 11+

New Oracle NoSQL Database APIs that Speed Insertion and Retrieval

Automatic Receipts Reversal Processing

Veritas NetBackup and Oracle Cloud Infrastructure Object Storage ORACLE HOW TO GUIDE FEBRUARY 2018

Oracle DIVArchive Storage Plan Manager

Oracle CIoud Infrastructure Load Balancing Connectivity with Ravello O R A C L E W H I T E P A P E R M A R C H

An Oracle White Paper November Primavera Unifier Integration Overview: A Web Services Integration Approach

Loading User Update Requests Using HCM Data Loader

Oracle NoSQL Database Parent-Child Joins and Aggregation O R A C L E W H I T E P A P E R A P R I L,

JD Edwards EnterpriseOne Licensing

Oracle NoSQL Database Parent-Child Joins and Aggregation O R A C L E W H I T E P A P E R M A Y,

Load Project Organizations Using HCM Data Loader O R A C L E P P M C L O U D S E R V I C E S S O L U T I O N O V E R V I E W A U G U S T 2018

Installation Instructions: Oracle XML DB XFILES Demonstration. An Oracle White Paper: November 2011

Tutorial on How to Publish an OCI Image Listing

Configuring Oracle Business Intelligence Enterprise Edition to Support Teradata Database Query Banding

Working with Time Zones in Oracle Business Intelligence Publisher ORACLE WHITE PAPER JULY 2014

Using the Oracle Business Intelligence Publisher Memory Guard Features. August 2013

Oracle Data Provider for.net Microsoft.NET Core and Entity Framework Core O R A C L E S T A T E M E N T O F D I R E C T I O N F E B R U A R Y

Oracle Fusion Configurator

Handling Memory Ordering in Multithreaded Applications with Oracle Solaris Studio 12 Update 2: Part 2, Memory Barriers and Memory Fences

Achieving High Availability with Oracle Cloud Infrastructure Ravello Service O R A C L E W H I T E P A P E R J U N E

Oracle Secure Backup. Getting Started. with Cloud Storage Devices O R A C L E W H I T E P A P E R F E B R U A R Y

Automatic Data Optimization with Oracle Database 12c O R A C L E W H I T E P A P E R S E P T E M B E R

An Oracle White Paper June StorageTek In-Drive Reclaim Accelerator for the StorageTek T10000B Tape Drive and StorageTek Virtual Storage Manager

Leverage the Oracle Data Integration Platform Inside Azure and Amazon Cloud

Oracle Spatial and Graph: Benchmarking a Trillion Edges RDF Graph ORACLE WHITE PAPER NOVEMBER 2016

Oracle WebLogic Portal O R A C L E S T A T EM EN T O F D I R E C T IO N F E B R U A R Y 2016

An Oracle White Paper June Exadata Hybrid Columnar Compression (EHCC)

StorageTek ACSLS Manager Software Overview and Frequently Asked Questions

Oracle Enterprise Performance Reporting Cloud. What s New in September 2016 Release (16.09)

Oracle Flashback Data Archive (FDA) O R A C L E W H I T E P A P E R M A R C H

Subledger Accounting Reporting Journals Reports

Oracle Data Masking and Subsetting

August 6, Oracle APEX Statement of Direction

Repairing the Broken State of Data Protection

Oracle Big Data Connectors

Oracle Database 12c: JMS Sharded Queues

Migrating VMs from VMware vsphere to Oracle Private Cloud Appliance O R A C L E W H I T E P A P E R O C T O B E R

Oracle Big Data SQL. Release 3.2. Rich SQL Processing on All Data

Hard Partitioning with Oracle VM Server for SPARC O R A C L E W H I T E P A P E R J U L Y

An Oracle White Paper December, 3 rd Oracle Metadata Management v New Features Overview

April Understanding Federated Single Sign-On (SSO) Process

Pricing Cloud: Upgrading to R13 - Manual Price Adjustments from the R11/R12 Price Override Solution O R A C L E W H I T E P A P E R A P R I L

Oracle JD Edwards EnterpriseOne Object Usage Tracking Performance Characterization Using JD Edwards EnterpriseOne Object Usage Tracking

An Oracle White Paper October Oracle Social Cloud Platform Text Analytics

RAC Database on Oracle Ravello Cloud Service O R A C L E W H I T E P A P E R A U G U S T 2017

Product Release Notes

Oracle Clusterware 18c Technical Overview O R A C L E W H I T E P A P E R F E B R U A R Y

An Oracle White Paper October The New Oracle Enterprise Manager Database Control 11g Release 2 Now Managing Oracle Clusterware

Cloud Operations for Oracle Cloud Machine ORACLE WHITE PAPER MARCH 2017

Oracle Enterprise Data Quality New Features Overview

VISUAL APPLICATION CREATION AND PUBLISHING FOR ANYONE

Sun Fire X4170 M2 Server Frequently Asked Questions

Product Release Notes

Siebel CRM Applications on Oracle Ravello Cloud Service ORACLE WHITE PAPER AUGUST 2017

Oracle Service Cloud Agent Browser UI. November What s New

Oracle Learn Cloud. Taleo Release 16B.1. Release Content Document

JD Edwards EnterpriseOne User Experience

An Oracle White Paper March How to Define an Importer Returning Error Messages to the Oracle Web Applications Desktop Integrator Document

Oracle Social Network

Oracle Business Activity Monitoring 12c Best Practices ORACLE WHITE PAPER DECEMBER 2015

Oracle JD Edwards EnterpriseOne Object Usage Tracking Performance Characterization Using JD Edwards EnterpriseOne Object Usage Tracking

Using Oracle In-Memory Advisor with JD Edwards EnterpriseOne

WebCenter Portal Task Flow Customization in 12c O R A C L E W H I T E P A P E R J U N E

Oracle Financial Consolidation and Close Cloud. What s New in the November Update (16.11)

Extreme Performance Platform for Real-Time Streaming Analytics

Oracle Flash Storage System QoS Plus Operation and Best Practices ORACLE WHITE PAPER OCTOBER 2016

October Oracle Application Express Statement of Direction

Deploying Custom Operating System Images on Oracle Cloud Infrastructure O R A C L E W H I T E P A P E R M A Y

Oracle Exadata Statement of Direction NOVEMBER 2017

NOSQL DATABASE CLOUD SERVICE. Flexible Data Models. Zero Administration. Automatic Scaling.

An Oracle White Paper September Security and the Oracle Database Cloud Service

An Oracle Technical White Paper September Detecting and Resolving Oracle Solaris LUN Alignment Problems

Migration Best Practices for Oracle Access Manager 10gR3 deployments O R A C L E W H I T E P A P E R M A R C H 2015

An Oracle White Paper August Building Highly Scalable Web Applications with XStream

Oracle FLEXCUBE Direct Banking Release Dashboard Widgets Transfer Payments User Manual. Part No. E

Increasing Network Agility through Intelligent Orchestration

Oracle Utilities Customer Care and Billing Release Utility Reference Model a Load Meter Reads

An Oracle White Paper July Oracle WebCenter Portal: Copying a Runtime-Created Skin to a Portlet Producer

Improve Data Integration with Changed Data Capture. An Oracle Data Integrator Technical Brief Updated December 2006

Integrating Oracle SuperCluster Engineered Systems with a Data Center s 1 GbE and 10 GbE Networks Using Oracle Switch ES1-24

An Oracle White Paper October Deploying and Developing Oracle Application Express with Oracle Database 12c

An Oracle White Paper June Enterprise Database Cloud Deployment with Oracle SuperCluster T5-8

An Oracle White Paper July Methods for Downgrading from Oracle Database 11g Release 2

PeopleSoft Fluid Navigation Standards

An Oracle White Paper October Minimizing Planned Downtime of SAP Systems with the Virtualization Technologies in Oracle Solaris 10

Oracle Database Appliance X6-2S / X6-2M ORACLE ENGINEERED SYSTEMS NOW WITHIN REACH FOR EVERY ORGANIZATION

Technical White Paper August Recovering from Catastrophic Failures Using Data Replicator Software for Data Replication

Oracle Database Vault

SecureFiles Migration O R A C L E W H I T E P A P E R F E B R U A R Y

Oracle Financial Consolidation and Close Cloud. What s New in the December Update (16.12)

Hybrid Columnar Compression (HCC) on Oracle Database 18c O R A C L E W H IT E P A P E R FE B R U A R Y

Product Release Notes

Deploy VPN IPSec Tunnels on Oracle Cloud Infrastructure. White Paper September 2017 Version 1.0

Advanced Global Intercompany Systems : Transaction Account Definition (TAD) In Release 12

DATA INTEGRATION PLATFORM CLOUD. Experience Powerful Data Integration in the Cloud

Oracle Grid Infrastructure 12c Release 2 Cluster Domains O R A C L E W H I T E P A P E R N O V E M B E R

Transcription:

Oracle NoSQL Database For Time Series Data O R A C L E W H I T E P A P E R D E C E M B E R 2 0 1 7

Introduction As massive amounts of data are being created with a need to store and analyze this data, there needs to be efficient systems in place that can deal with this flood of information. For both the Internet of Things (IoT) and Big Data environments, there are convincing reasons to simplify and reduce the amount of data stored in databases that can then be further analyzed with other software. Examples include the ability to remove older data that is not relevant or expiration of data due that is no longer of value. While not all data is associated with a time stamp, many types of data are only meaningful when associated for a fixed period of time. For data that is associated with a time stamp, developers can use that information for creating applications that can analyze past behavior or predict future behavior. However, the storage, querying, and use of old data that no longer has meaning or value can affect a smooth running analytics application and could delay the decision making process due to inefficiencies across the system. Time Series Examples A common domain where most of the information generated with a timestamp are sensors. For example, a sensor monitoring the temperature or light in a building area is an important data point when the time along with the temperature or amount of light is recorded. The data would consist of a time stamp + data, which is approximately double the amount of data than just storing the measurement alone In a manufacturing operation consisting of an assembly line, there are numerous data gathering points which may be captured and stored with an associated time stamp. This data may be more than just a sensor reading and could include images or video (for example of a windshield being placed within a car frame). While this data can be valuable when determining possible failure modes, most of the data does not need to be stored in a database for long periods of time. In this example of recording a windshield placement by a robot, once the car has passed the assembly line quality assurance process, this large amount of data could be discarded. Time series data can also be generated by financial events, factory automation, home appliances, utilities and mobile devices. Time series data is generally voluminous massive amounts of small records. When this data is captured and stored over time, the total amount of data can easily exceed the storage capacity of a system. A Data Management Solution with Time Stamps An overall solution that integrates many types of data, both for rapid decision making and historical comparison, would need to have the capacity to quickly ingest the data as well as secure the data in a reliable database. Data would flow from the edge of the network (sensors) into and through a low latency database and then could be stored for longer term in a relational database with the addition to other information that may be obtained over time. For example, Oracle NoSQL Database could be used as the short term database with its ability to reliably store massive amounts of data in the single digit millisecond range. After removing aged-out data, the remaining relevant 1 ORACLE NOSQL DATABASE FOR TIME SERIES DATA

data could be stored in a relational database for further processing. With this architecture, the volume of information that needs to flow between databases is reduced. Time-To-Live (TTL) The Oracle NoSQL Database has an API feature which allows the developer to set the amount of time that data remains in the database. Time-To-Live is a mechanism that allows the developer to specify a time period on a record such that the removed will automatically be deleted from the system once it has expired. The developer can specify a time limit, in hours or days, for a record to live. Queries can then filter out expired records and the NoSQL database will reclaim space. This feature is useful in many different applications where data is only needed for a limited amount of time; for instance, Web applications that want to purge profile data for users that are inactive for long periods of time. Another scenario may involve tracking the buying patterns of a customer in a chain of stores. Whenever the customer purchases an item, a time period to retain that data could be set, after which it would be assumed that the customer no longer shops in that particular chain of stores, and the customers buying preferences could be removed from the database. TTL is an efficient way of doing these types of operations in terms of system performance for cleanup and ease of implementation for programmers. Example The following example shows how to set a Time To Live of 5 days for the row of data. This would be similar to how an application that uses TTL can set the expiration date for a row of data. package kvstore.basicexample; import oracle.kv.kvstore; import oracle.kv.table.row; import oracle.kv.table.table; import oracle.kv.table.table.timetolive; import oracle.kv.table.tableapi;... // KVStore handle creation is omitted for brevity... TableAPI tableh = kvstore.gettableapi(); Table mytable = tableh.gettable("mytable"); // Get a Row instance Row row = mytable.createrow(); // Add a TTL value to the row row.setttl(timetolive.ofdays(5)); 2 ORACLE NOSQL DATABASE FOR TIME SERIES DATA

// Now put all of the cells in the row. row.put("item", "Sensor"); row.put("description", "Temp and Humidity in Office"); row.put("temp", 75.3); row.put("humidity", 0.49); // Now write the table to the store. tableh.put(row, null, null); At some point in the future (before the 5 day expiration) the application may wish to extend the number of days that the row is available for query. This is simple to accomplish and can be done by simply retrieving the row instance, changing the value of the Time To Live of Days to the new value and storing the row back into the database. Additionally, if application needs to set the data to never expire, they would use the following: row.setttl(timetolive.do_not_expire); Benefits of Managing Expiration of Data based on Time As additional data is stored into a database, not only does the size of the database grow in terms of resources used, but search time may increase as well. Data that is no longer needed for queries should be removed permanently from the database in order to retain high performance and adequate free storage capacity. In the figure below, data that is stored has various TTL values. As can be seen as we move towards the right on the TIME axis, records get removed from the database based on the TTL value, and the size of the database will shrink enabling a new record to be inserted. Figure 1 - Additional Records Inserted as old records expire Oracle NoSQL Database Designed and Optimized For Time Series Data When dealing with voluminous amounts of time series data, it is important that the underlying database is designed to provide fast response with predictable latency. Oracle NoSQL Database s smart client driver always routes read requests to the most efficient node; this means that any record fetch can be satisfied in a single request message/single response message manner, which ensures predictable low latency. 3 ORACLE NOSQL DATABASE FOR TIME SERIES DATA

Oracle NoSQL Database supports secondary key indexing so it is possible to retrieve records efficiently by specifying a predicate on a secondary key column. Oracle NoSQL Database secondary indices are partitioned and shard-local there s one index partition per shard, and each index partition only refers to the records on that shard. This means that secondary indices are updated transactionally, along with the records that they index. Secondly, a secondary index lookup can be executed very efficiently by accessing all the index partitions (on all shards) in parallel. Consequently, secondary index access is both efficient and always returns the correct and complete result set. In some other databases, the secondary index is updated asynchronously, which means that secondary index queries may result incomplete or out-of-date results.. Summary Oracle NoSQL Database offers an API that allows a developer to determine how long a record will remain in the datastore. When used, this feature helps to reduce the amount of data that is stored in the database as well as decrease search and scan times of the data. Since some data only has value for a certain time period, this feature helps application developers to manage the amount of relevant data stored and increase performance. 4 ORACLE NOSQL DATABASE FOR TIME SERIES DATA

Oracle Corporation, World Headquarters Worldwide Inquiries 500 Oracle Parkway Phone: +1.650.506.7000 Redwood Shores, CA 94065, USA Fax: +1.650.506.7200 C O N N E C T W I T H U S blogs.oracle.com/oracle facebook.com/oracle twitter.com/oracle oracle.com Copyright 2017, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0116 Oracle NoSQL Database Ideal for Time Series Data November 2017 Author: Michael Schulman Contributing Authors: Ashok Joshi