Hands on Lab: Eclipse JNoSQL: One API to Many NoSQL Databases
Instructors: Leonardo Lima, Otavio Santana, Senior Software Engineer, Hillmer Chona, Patricia Uribe & Jonathan Vila Lopez
For more blog posts, see The Oracle Code One table of contents
Lab URL: https://github.com/JNOSQL/oc1-hands-on-2018
Overview of NoSQL
- No fixed data structure
- not ACID
- BASE -Basically Available, Soft State, Eventual consistency
- Five types
- key/value – Redis, Hazelcast, Couchbase
- column family – Hbase, Cassandra
- document – Couchbase, MongoDB, Riak
- graph – Neo4J
- multi-model – OrientDB, Couchbase
- From most scalable/least complex to least scalable/most complex – Key/value, column family, document, graph
JNoSQL
- First Jakarta EE specification
- Mapping API – Artemis
- Heavily based on annotation
- “Query by” methods
- Inject DocumentTemplate – has CRUD methods
- Communication API – Diana
- Trying to replicate JDBC/JPA for NoSQL
- Traditionally, use different API for each NoSQL type
- BaseDocument
- Document
- JsonObject
- ODocument
- DocumentEntity/Document – for all the types
- Working on for 2 years
- Almost up to 1.0 version
- Configuration is one json file
My take: I like that they brought/shared their own wifi. Good overview at the beginning. I think I missed the point of the instructions at first. It felt too freeform. But then it made sense once they started explaining the code. So either it assumed knowledge or I thought we were doing something else. (I did get it to work; I just thought we were supposed to be doing something else.) Also, there was an instructor for each 1-2 attendees. Every time I went to do something (email, Slack, pull request), someone asked me if I needed help. I was waiting for Maven/Docker, not being idle! Also, not their fault, but the improvised lab room had sun blocking the screen. Overall, I enjoyed the lab. The second exercise clicked because I understood what we were doing!