Connect to a Data Source

This page explains how to easily connect to data sources and upload data to GigaSpaces. The work flow has three steps:

  • Select either a database or data warehouse. Define various properties of the data source and the naming of the space and stateful service at GigaSpaces.
  • Review the data structure within the selected data source and choose the required data to load.
  • Choose between two options to deploy and run the system:
    • Download the generated project files, customize as required and deploy
    • Automatically deploy at your local machine.

GigaSpaces target properties

The IT administrator define the service and space names within the GigaSpaces Platform:

  • Service name (default is demo) - define the name of the stateful service that holds the Space data
  • Space name (default is demo) - define the Space name that will be deployed within the GigaSpaces Platform

Data source properties

These properties define the connection to the selected data source. This enables easy connection, review, and selection of data at the source database that is used to create the GigaSpaces Object Types.

The data source type allows you to choose from one of the built-in data types connectors:

  • MySQL
  • MS SQL
  • HSQL

Alternatively, it is possible to select Other to configure a connection to a new data source.

Maven properties

Defines the JDBC driver’s maven coordinates (group, artifact and version). Note that this will get auto-filled if you select a built-in data type with the latest version at the time of GigaSpaces Ops Manager release, but you can choose an older/newer version if needed.

Driver class

Defines the JDBC driver’s class name.

Hibernate dialect

Defines the dialect Hibernate should use to connect to the database. Note that this will get auto-filled if you select a built-in data type, but some databases use different dialects for different versions, so you may need to change it.

Connection string

Enter a connection string to the location of your source database.

If the database selected is MYSQL, and if JDK 8u291 or later is used, then the following text must be added to the connection string:

enabledTLSProtocols=TLSv1.2
For example:
jdbc:mysql://localhost:3306/securities_master?enabledTLSProtocols=TLSv1.2

Username and Password

If your database is secured, enter the user name and password used for the source database.

Advanced properties

These properties are required when choosing "other" as the data source.

Project group ID and version

The maven coordinates of the generated maven project. If you plan to download the generated code you may wish to change this.

Hibernate version

The version of the Hibernate dependency. Default is the hibernate version currently tested with GigaSpaces.

Number of partitions

The number of partitions to deploy your blueprint.

Memory per instance

The size of each partition. The default value is 512 MB.

High Availability (HA)

Determines if the space should be highly-available (i.e. each partition includes two instances instead of one).

Secured

Determines if the spaces should be secured. Requires additional manual configuration within the generated code. For more information, see /latest/security/index.html

Mirror

Determines if changes to the space are mirrored back to the database.

Mirror Memory

The Mirror service runs in a separate process. This setting determines how much memory should be configured to its java settings

Row limit

The maximum number of rows for each table. This is mostly for data exploration scenarios, where you don’t/can’t load all the data from the database to the space.

Configure row limit

The maximum number of rows for each table

MemoryXtend type

Determines if memoryXtend should be used to store data in addition to RAM. For additional information on various memoryXtend configuration options see /latest/admin/memoryxtend-overview.html.

Click Next to advance to the Data Schema Definition page.

Define a Data Schema

This page allows us to define the data schema, including which data tables and which properties to use and load to the GigaSpaces Space.

The page shows the tables of the source database at the left panel, and the corresponding Object Types with their properties and indexes, that will be loaded into the Space.

Each table can be individually selected, to be included in the resulting Space. The default is for all tables to be included. Each object type has a default name which is similar to the original name at the data source.

The Property Names of the destination Object Types are initialized to be as close as possible to the original database column names. These names can be changed as desired, but note that Java syntax rules are observed ("lower camel case").

In order for a table to be loaded into a Space, it must have a primary key. Tables without a primary key will appear as disabled on the left side of the screen and cannot be selected.

A primary key should not contain the special character ^ (caret). This special character will cause the field to be flagged as "auto generated" and may cause unexpected data to be inserted in the field.

Definition of a composite key will be supported in a future release.

Deploy and Run the System

Download Service Blueprint and Deploy

To download and deploy the service blueprint, click Deploy. This creates a zip file with scripts and files necessary to deploy the system. These files can be customized as required.

There are two options for the Blueprint:

  • Manual -- Deployment customized by user.
    The manual option generates a new Blueprint with the needed metadata and all other parameters/files needed to deploy. This option enables the fast creation of a Blueprint, with the ability to customize and add content to it manually prior to deployment.
  • Automatically -- Pre-configured for deployment on the user's local machine.
    This option creates the Blueprint as in the previous option, but automatically tries to deploy it locally if GigaSpaces is available.
    After a brief pause, a message will appear indicating that the project has been successfully deployed.

The first installation may require additional time to install required maven dependencies.

After manual or automatic deployment, the user can drill down to monitor the services or analyze the data and review the new services and data -- the Space and Object Types that were created.