Introducing NoSQL and MongoDB to Relational Database professionals

Lucas Jellema
0 0
Read Time:1 Minute, 55 Second

Most enterprises have a lot of variety in the data they deal with. Some data is highly structured and other is very unstructured, some data is bound by strict integrity rules and quality constraints and other is free of any restrictions, some data is “hot” – currently very much in demand – and other data can be stone cold. Some data needs to extremely accurate, down to a prescribed number of fractional digits and other is only approximate. Some is highly confidential and other publicly accessible. Some is around in small quantities and other in huge volumes.

Over the years many IT professionals and companies have come to the realization that all this differentiation in data justifies or even mandates a differentiation in how the data is stored and processed. It does not make sense to treat the hottest transactional data in the same way as the archived records from 30 years. Yet many organizations have been doing exactly that: store it all in the enterprise relational database. It works, keeps all data accessible for those rare instances where that really old data is required and most importantly: keeps all data accessible in the same way – through straightforward SQL queries.

On March 14th, we organized a SIG session at AMIS around NoSQL in general and MongoDB in particular. We presented on the history of NoSQL, how it complements relational databases and a pure SQL approach and what types of NoSQL databases are available. Subsequently we focused on MongoDB, introducing the product and its architecture and discussing how to interact with MongoDB from JavaScript/NodeJS and from Java.

The slides presented by the speakers – Pom Bleeksma and Lucas Jellema – are shown here (from SlideShare):

 

The handson workshop is completely available from GitHub: https://github.com/lucasjellema/sig-nosql-mongodb.

image

An additional slide deck was discussed – to demonstrate 30 queries side by side, against MongoDB vs Oracle Database SQL. This slide deck includes the MongoDB operations:

•Filter & Sort (find, sort)

•Aggregation ($group, $project, $match, $sort)

•Lookup & Outer Join ($lookup, $arrayElemAt)

•Facet Search ($facet, $bucket, $sortByCount)

•Update (findAndModify, forEach, save, update, upsert, $set, $unset)

•Date and Time operations

•Materialized View ($out)

•Nested documents/tables ($unwind, $reduce)

•Geospatial (ensureIndex, 2dsphere, $near, $geoNear)

•Text Search (createIndex, text, $text, $search)

•Stored Procedures (db.system.js.save, $where)

 

About Post Author

Lucas Jellema

Lucas Jellema, active in IT (and with Oracle) since 1994. Oracle ACE Director and Oracle Developer Champion. Solution architect and developer on diverse areas including SQL, JavaScript, Kubernetes & Docker, Machine Learning, Java, SOA and microservices, events in various shapes and forms and many other things. Author of the Oracle Press book Oracle SOA Suite 12c Handbook. Frequent presenter on user groups and community events and conferences such as JavaOne, Oracle Code, CodeOne, NLJUG JFall and Oracle OpenWorld.
Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %
Next Post

Apache Kafka on the Oracle Cloud: My First experiences with Oracle Event Hub Cloud Service

Oracle recently made their ‘Kafka on Cloud’ service available: the Event Hub cloud service – offered as part of the Big Data Compute Cloud Service. In this article, I will briefly show the steps I went through to get up and running with this service. To be frank, it was […]
%d bloggers like this: