Skip to content

soujava/polyglot-persistence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eclipse JNoSQL Project

Six databases types and an unique API that is the whole concept of Eclipse NoSQL

Key-value

Redis Project

Redis: Redis is a software project that implements data structure servers. It is open-source, networked, in-memory, and stores keys with optional durability.

How To Install

Docker

  1. Install docker: https://www.docker.com/
  2. https://store.docker.com/images/redis
  3. Run docker command
  4. docker run --name redis-instance -p 6379:6379 -d redis

Column

Cassandra Project

Cassandra: Apache Cassandra is a free and open-source distributed database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.

How to install

Docker

  1. Install docker: https://www.docker.com/
  2. https://store.docker.com/images/cassandra
  3. Run docker command
  4. docker run -d --name casandra-instance -p 9042:9042 cassandra

Document

Couchbase Project

Couchbase: Couchbase Server, originally known as Membase, is an open-source, distributed multi-model NoSQL document-oriented database software package that is optimized for interactive applications.

How To Install

Docker

  1. Install docker: https://www.docker.com/
  2. https://hub.docker.com/r/couchbase/server/
  3. Run docker command
  4. docker run -d --name couchbase-instance -p 8091-8094:8091-8094 -p 11210:11210 couchbase
  5. Follow the instructions: https://hub.docker.com/r/couchbase/server/
  6. Create a gods bucket name
  7. create an index running the query CREATE PRIMARY INDEX index_gods on gods;
  8. Follow the instructions: https://developer.couchbase.com/documentation/server/current/fts/full-text-intro.html to create a index-gods full text index

Elasticsearch Project

Elasticsearch:Elasticsearch is also a NoSQL document type, so a developer may model the application as such.

How To Install

Docker

  1. Install docker: https://www.docker.com/
  2. https://hub.docker.com/_/elasticsearch
  3. Run docker command
  4. docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.12.1
  5. Follow the instructions: https://hub.docker.com/_/elasticsearch
  6. Run DocumentRepositoryApp class

MongoDB Project

MongoDB:MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era.

How To Install

Docker

  1. Install docker: https://www.docker.com/
  2. https://hub.docker.com/_/mongo
  3. Run docker command
  4. docker run -d --name MongoDB -p 27017:27017 mongo:latest
  5. Follow the instructions: https://hub.docker.com/_/mongo
  6. Run DocumentRepositoryApp class

Graph

Neo4J Project

Neo4j is a graph database management system developed by Neo4j, Inc. Described by its developers as an ACID-compliant transactional database with native graph storage and processing, Neo4j is the most popular graph database according to db-engines.com. Neo4j is available in a GPL3-licensed open-source "community edition", with online backup and high availability extensions licensed under the terms of the Affero General Public License. Neo also licenses Neo4j with these extensions under closed-source commercial terms. Neo4j is implemented in Java and accessible from software written in other languages using the Cypher Query Language through a transactional HTTP endpoint, or through the binary 'bolt' protocol.

How To Install

Docker

  1. Install docker: https://www.docker.com/
  2. https://store.docker.com/images/neo4j
  3. Run docker command
  4. docker run --publish=7474:7474 --publish=7687:7687 --volume=$HOME/neo4j/data:/data neo4j

Check the database configuration such as user and password at microprofile-config.properties at src/main/resources/microprofile-config.properties

Dependencies

Do not change the dependencies(pom.xml) due to the currently undefined (5/2021) of the names of the javax packages to jakarta:

<groupId>org.jboss.weld.se</groupId>

<artifactId>weld-se-shaded</artifactId>

<groupId>org.eclipse</groupId>

<artifactId>yasson</artifactId>

microprofile-config.properties:

keyvalue.provider=org.eclipse.jnosql.communication.redis.keyvalue.RedisConfiguration

column.provider=org.eclipse.jnosql.communication.cassandra.column.CassandraConfiguration

document.provider=org.eclipse.jnosql.communication.mongodb.document.MongoDBDocumentConfiguration

document.provider=org.eclipse.jnosql.communication.couchbase.document.CouchbaseDocumentConfiguration

document.provider=org.eclipse.jnosql.communication.elasticsearch.document.ElasticsearchDocumentConfiguration

About

The polyglot persistence using JNoSQL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages