NGC | Catalog

Kinetica

Logo for Kinetica
Description
Kinetica is a very fast, distributed, GPU-accelerated database with advanced analytics, visualization, geospatial, and machine learning functionality.
Publisher
Kinetica
Latest Tag
latest
Modified
April 4, 2023
Compressed Size
5.35 GB
Multinode Support
No
Multi-Arch Support
No

What is Kinetica?


Kinetica is a very fast, distributed, GPU-accelerated database with advanced filtering, visualization, and aggregation functionality. Kinetica is the provider of the only GPU database to combine data warehouse, advanced analytics, visualizations, and is optimized for running machine learning and deep learning models. With Kinetica, users can simultaneously ingest, explore, analyze and visualize fast-moving, complex data within milliseconds to make critical decisions and find efficiencies, lower cost, generate new revenue and improve customer experience. Customers in verticals such as financial services, retail, healthcare, utilities and public sector use Kinetica for fast OLAP, convergence of AI and BI, and geospatial analytics.

What type of data can be stored?


From a user's perspective, data in Kinetica is organized in a manner similar to a standard relational database management system (RDBMS). A Kinetica database consists of tables, each defined by a schema. The primitive type for each field in the schema can be double, float, int, long, string, or bytes. The native API interface to the system is that of an object-based datastore, with each object corresponding to a row in a table.

What operations are provided?


Kinetica provides functionality to create tables, add rows, read rows, and delete rows. What really separates Kinetica is its specialized filtering, aggregate and visualization functions. These functions can be performed through our native API or our ODBC/JDBC connectors, which support a subset of SQL-92. This allows users to integrate Kinetica with third-party GUIs and developers to quickly integrate existing code with Kinetica.

Distributed Architecture


Kinetica has a distributed architecture that has been designed for data processing at scale. A standard cluster consists of identical nodes run on commodity hardware and equipped with GPUs. A single node is chosen to be the head aggregation node.

Many-Core Design


Leveraging many-core devices is the central theme of Kinetica. Currently, Kinetica supports NVIDIA GPUs and Intel Xeon Phi many-core devices. Kinetica will also work with traditional x86 CPUs to take advantage of all available cores, but many-core devices are recommended for optimal performance.

Highly Scalable


Kinetica is designed to be highly scalable. A cluster can be scaled up at any time to increase storage capacity and processing power, with near-linear scale processing improvements for most operations. Sharding of data can be done automatically, or specified and optimized by the user.

Highly Compatible


Kinetica is an ODBC-compatible database, supporting ANSI SQL-92 compliant syntax. Further, its native API can be accessed via RESTful HTTP endpoints using either JSON or Avro Serialization methods. Officially supported and open-source language bindings are provided for Java, Python, JavaScript, C++, and C#. Additional language bindings can be constructed for any language capable of HTTP requests and JSON parsing.

Kinetica also connects seamlessly to a variety of other data processing and analytical frameworks, including Apache Spark, Storm, and NiFi.

Highly Manageable


Host management services allow the cluster to be brought up & down and to have its status monitored from a single node. Cluster management utilities allow all nodes to be upgraded, modified, & maintained from one location.

Running Kinetica


Before running the container ensure you have obtained a Kinetica Trial Edition License Key (https://www.kinetica.com/trial/), and then use docker pull to ensure an up-to-date image is installed. Once the pull is complete, you can run the container image.

Procedure

In the Tags section, locate the container image release that you want to run. In the Pull column, click the icon to copy the docker pull command. Open a command prompt and paste the pull command. The pulling of the container image begins. Ensure the pull completes successfully before proceeding to the next step.

Run the container image. A typical command to launch the container is:

nvidia-docker run --privileged --rm --runtime=nvidia -p 8080:8080 -p 8088:8088 -p 9292:9292 -p 9191:9191 -v local_dir:/opt/gpudb/persist nvcr.io/partners/kinetica:cuda9-6.1.0.9
  • --rm will delete the container when finished
  • --privileged ensures the Kinetica container has the necessary permissions to run correctly.
  • -v is the mounting directory
  • -p 8080:8080 -p 8088:8088 -p 9292:9292 -p 9191:9191 is for exposing ports necessary for the Admin web interface (8080), ODBC and JDBC connections (9292), Reveal data exploration tool (8088), and native API access (9191)
  • local_dir is the directory or file from your host system (absolute path) that you want to access from inside your container. For example, the local_dir in the following path is _home_jdoe_kinetica_data.
  • -v _home_jdoe_kinetica_data:_opt_gpudb/persist

Once the container is fully launched, take your favorite browser on the host machine and enter the URL:

http://localhost:8080

The initial login is admin/admin.

On first login you will be asked for your license key and final configuration questions to complete setup. Once you are ready, you can start Kinetica by navigating to 'cluster' in the top level menu, and then 'admin' in the left hand side menu, then press the 'start' button.

Suggested Reading


Please email info@kinetica.com for general inquiries or visit www.kinetica.com.

For a quickstart on Kinetica visit https://www.kinetica.com/quickstart/

To access our complete documentation reference visit https://www.kinetica.com/docs