Menu

Installation Guide

takeshi.miao
Attachments
ERD_metaDataModel.jpg (72711 bytes)
architecture.jpg (86233 bytes)

Architecture


Before install and use JackHare, we recommend that you should know about it's architecture a little more, which will help you to understand how this project really take place between noSQL DB and your application.

The architecture of JackHare is simple, as following figure shown.
architecture

The major component as follows...

  • The Services is client-code
  • The jdbcDriver.jar is JackHare
  • The Metadata Datastore is a store for the meta data or DB schema (at present, is apache derby). it is like a bridge for maintaining schema between the ANSI-SQL schema and noSQL DB schema (or schemaless). following are the reasons why we use an extra-metadata store.
    • Some noSQL DB is schemaless design (like HBase), we need to mitigate this gap between ANSI-SQL schema and these noSQL DB.
    • JackHare can help the data type check and transformation based on the metadata in the metadata store.
    • We choose the RDB technology to mitigate metadata change transaction issues.

The schema datastore design as follows

architecture

  • The NoSqlClientApi.jar is any kind of noSQL DB client-API
  • The NoSQL DB is any kind of noSQL DB (at present, is HBase + Hadoop)

The operation steps described as follows...

  1. Services(client-code) put the ANSI-SQL syntax and corresponding parameters into the Connection, as used any normal JDBC driver you are already familiar
  2. jdbcDriver.jar scan and parsing the ANSI-SQL you given, and take corresponding operations(query schema information and manipulate the data stored in noSQL DB, etc)
  3. jdbcDriver.jar collect from or change the schema data into Metadata store if needed
  4. jdbcDriver.jar transit the ANSI-SQL syntax into corresponding noSQL client-API operations to manipulate noSQL DB
  5. noSQL DB being operated
  6. jdbcDriver.jar wraps the results returned from noSQL DB into the JDBC-compliant objects, then return to the client-code
  7. Services get the results returned from the jdbcDriver.jar, and then do their corresponding biz logic

That is all about the JackHare !!

Installation


As we all know, install a runnable noSQL DB is trivial, so some installation guides will refer to their project host site, we elaborate only further for JackHare related install information here.

At present, We only support the HBase + Hadoop, but we will enhance JackHare to other kind of noSQL DBs in the future.

Apache HBase Installation

Please refer to here.

NOTICE

  1. There are two ways(standalone or distributed mode) to install the Apache HBase, which way you choose will not affect JackHare installation, so please pick one you like :)
  2. In JackHare implementation, there are a bulk of extended Filter classes for HBase operations, which are bundled into a single jar file called jackhare-hbase-filters-*.jar, please put this jar file into the classpath of your Hbase installation, the path shall be $HBASE_HOME/lib.

Apache Derby Installation

Please refer to here.
Then we need you to execute the ddl script for this Derby instance for creating the base schema for metadata store for JackHare usage.

Where the ddl script located is...

  • If is JackHare binary file, it will be located in $JACKHARE_HOME/metaDataModel-derby.ddl
  • If is JackHare SVN source codes, it will be located in $JACKHARE_HOME/docs/metaDataModel-derby.ddl

NOTICE

As architecture section described above, Derby will play a role as a MetaData Store for JackHare by default, but this not limit to this RDB only, you can extend the class net.jackhare.sql.metadata.MetaDataRepository, for using other RDB as you like :)

JackHare Installation

For intalling the JackHare, there are two ways you can choose...

  1. Intall it from the binary file jackhare-core-.zip__ download link, please put the __jackhare-core-.jar and it's dependency jar files(PATH $JACKHARE_HOME/lib) into your project directly.
  2. Or install it from the SVN source codes, build it(mvn clean install -DskipTests=true) on your local machine, then follow the option#1 as well.

It's all done !!

Demo


If you complete all the installation guides listed above, then you can use it directly by refering our [Sample Codes].


Related

Wiki: Home
Wiki: Sample Codes

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.