Crash Course: NoSQL & mongoDB

Demystifying NoSQL and MongoDB.

By: Ramamohan Nukala
Principle Consultant, ennVee


I love DBMS and out of curiosity I learned SQL in my college days. But now, in recent times, there is a lot of buzz in the market about NoSQL. The first time I heard NoSQL, I though, “what is “No SQL”?“, and “where can I go if SQL is my primary skill set?“. After browsing through Google I learned that NOSQL is actually “Not Only SQL Database.” (fun fact: it’s still pronounced as it spells “No SQL”).

What is NoSQL?

As mentioned above, NoSQL stands for “Not Only SQL Database”. Before we understand NoSQL, we need to shed some light into RDBMS.

What is RDBMS?

The most popular database model is Relational, also known as “RDBMS”, or Relational Data Base Management Systems. A relational database management system (RDBMS) is a collection of programs and capabilities that allows IT teams and others to create, update, administer and otherwise interact with a relational database. From the time it evolved, it is the most used model for the most successful databases.

RDBMS has its own rules to say a database as Relational database. These rules have always been a highlight of RDBMS, and RDBMS will have schema and a structure for data to be stored.

RDBMS Drawbacks

While the RDBMS model has many advantages, it also has a few disadvantages.

  • Structure of the data – some view this as a disadvantage (in my opinion, it isn’t a drawback).
  • Performance over large amount of DB.

If you are familiar with SQL, how many times have you received the error; “Character can’t be converted as Number.” or were fooled by a Null as a value?

Enough background on RDBM. Let’s move on to NoSQL.


NoSQL databases

NoSQL databases essentially evolved to overcome the pitfalls of regular RDBMS. There are different models of data storage and they are categorized as either Document Databases, Key value Databases, Column oriented Databases, etc. I will emphasize the Document Database and mongoDB.

Document Databases store data as documents.

After completing a course on the basics of mongoDB, I noticed a few key points. The mongoDB will have DBs and collections in it, and a collection will have documents in it. If we compare that to our regular DBs, collection is a table and document is a record in the table.
nosql diagram2@2x


The documents are stored as JSON type in mongoDB. For example,nosql example code.png


Compass

Compass is the Graphical User Interface (GUI) used to access the mongoDB. The GUI has different sections and one of the most useful is the schema view. The schema view allows us to see the overall schema definition. There is also the documents view, where we can see the document. mongoDB has it own query language to access the database and can be used to CRUD (Create, Read, Update, and Delete).

nosql image 3.png

nosql image 2
Screen shot of Compass

A Few Interesting Points

If you do not have a value to insert for a particular column, do not mention that column at all while inserting it. Nothing great, ah. If we see in the DB after inserting the document, the column definitions themselves will not be there, meaning the structure does not need to have all of the columns.

What about querying the DB for a document that doesn’t have a particular field?

In the example below, movieDetails is the collection where mpaaRating is the field in it. We want to query the documents where this field does not exist at all. Here’s how:


db.moviesDetails.find({mpaaRating: {$exists: false}})


This is how you query it from mongo. Shell can be accessible from the command prompt after installing the mongoDB compass and the same can be queries through the GUI.

  • The first part, db, mentions the database
  • The next one, movieDetails, is the collection
  • find is the method for querying it
  • mpaaRating is the field
  • $exists is the operator for checking whether that particular field is there
  • false means it will return the documents that do not have that field

What if we want to query based on a particular field where it contains a null value?

Here’s how:


db.movieDetails.find({mpaaRating: null})


This will return the documents that not only have a null value in the field, but that do not have the field itself.

We typically have a data type associated with a column, but what if you provide a data type other than the actual defined one to store the data? The answer is yes, it’s possible. It has the flexibility and a particular field can have different data types.

nosql image 1.png

It can also have nested documents and array types as fields in it.


mongodb@2x.png

Advantages of mongoDB

MongoDB is useful for larger databases and the performance is spectacular. During one of my last courses, The Basics of mongoDB, they used some lakes of data as a sample DB, and this is excellent. To maintain the higher availably of the database they have multiple replicas of the same database on different clusters. These clusters are provided by monoDB for which they charge.


Closing Thoughts

  • mongoDB is easy to scale and also among the most popular NoSQL databases currently available. It can be found in many large organizations including The Weather Channel, The City of Chicago, Bosch Software Innovations, Chico’s FAS, Inc.
  • There is no specific schema structure to follow in mongoDB and no complex joins are required to retrieve data.
  • Content management, Delivery, and Data hubs mongoDB can also be used in Big Data .

Applying CPU/PSU Patches to Oracle EBS R12.2.x

An optimal way to apply CPU/PSU patches to Oracle E-Business Suite R12.2.x.

By: Praveen Sreedhar
Lead DBA, ennVee


Each quarter, Oracle releases new Critical Patch Updates (CPU) / Patch Set Updates (PSU). In this article, we discuss applying these patches to Oracle E-Business Suite (EBS) along with the Oracle MOS id references.

In Oracle E-Business Suite (EBS) we have various tech stack components. It’s important to apply the critical patch update (CPU) to all of these components.

The components include:

  1. Forms and Reports
  2. Fusion Middleware – Web Tier
  3. Fusion Middleware – oracle_common Home
  4. WebLogic.
  5. Database (Don’t get confused here; Database is also a component of EBS application. This also needs to be considered while applying the patches to EBS environment)

First, it’s better to apply patches the latest Quarterly patches to DB tier and then to Apps/Middle Tier. For the DB tier, I strongly advise applying the Patch Set Update (PSU) instead of Critical Patch Update (CPU). PSU contains many proactive and stabilization fixes for issues that you may have encountered already or are going to encounter in the near future. These fixes will have the learnings from the issues arisen across the customers of Oracle. PSU also includes Critical Patch Update (CPU) along with proactive stabilization fixes.

Database Tier

First, always try to apply the latest PSU patch available along with OJVM patch. Always latest.

Second, run the EBS Technology Code level Checker (ETCC). The ETCC script can be downloaded from the Patch 17537119.  Always run the latest one while running ETCC.

ETCC has two scripts:

  • sh:This script needs to be run in DB tier.
  • sh: This script needs to be run in Apps tier.

Run the checkDBpatch.sh script against the database and identify the patches that need to be applied.

Third, if you are on Exadata or Superclusters, you need to apply the Proactive Bundle Patch(BP). You need to select the right release when downloading the patch. Consider the newly applied PSU patch release.

Fourth, apply the overlay patches. Overlay patches are answers for conflict patches. Some patches don’t co-exist with the latest PSU patches. In such scenarios, you need to consider patches which can co-exist with the latest PSU patch).

Afterwards, apply the Standard patches. The standard patches are primarily one-off patches.

Finally, Run the DB tier ETCC script, check the missing patches, and act on the missing patches.

Middle Tier

For EBS, Oracle is only releasing Critical Patch Update (CPU) and not PSU (unlike Database). This is important for every Apps DBA to remember if they try to apply quarterly release patches to EBS components.

Please refer to the MOS id for the latest Oracle E-Business Suite Release 12 Critical Patch Update Knowledge Document (April 2018) (Doc ID 2369524.1)

It is important to apply the patches to all of the above tech stack components in EBS. During this phase there are certain pre-requisites that we need to apply in case the pre-requisites do not exist in the system.

Apart from CPU patches to Oracle E-Business Suite, there are also certain proactive Stabilization fixes for all components. Apps DBAs should remember to apply all of these proactive fixes if they are considering applying the Critical Patch Update (CPU) to their environment. The above Oracle Note references this, but not in detail.

The MOS id (below) outlines the steps for checking all proactive fixes for EBS components.

Oracle E-Business Suite Release 12.2: Consolidated List of Patches and Technology Bug Fixes (Doc ID 1594274.1)

While checking the patches for each component, there is potential for some conflict patches. Sometimes, both can’t co-exist. If this occurs, try to get the combination patch. If you weren’t able to resolve this from the Oracle support site, it is always better to raise an SR with Oracle to get the new patches. Most of the time, Oracle has already encountered this scenario with other customers and the solution might be available to you immediately.

One more thing, it’s always better to run the EBS Technology Code level Checker (ETCC) before and after the above exercise.

After applying the patches, if you find any suggestion from checkMTpatch.sh, please consider applying those missing patches as well. This is a type of checker for you to identify if you have missed any patches. This ETCC script primarily covers all of the proactive fixes but not the Critical Patch Update.

Both CPU and PSU are cumulative, so you don’t have to worry if you’re skipping one release and applying the latest one.

Business Intelligence Breakdown

The Importance of Business Intelligence

By: Meghashree JM

Business operations are becoming more complex with the passage of time which affords little time for research and innovation. Larger enterprises are rushing towards outperforming the competition which will ultimately require a significant amount of meaningful insights. In addition, consumer behavior is continuously shifting, and understanding that behavior is imperative to decision making. Although there will always be a certain amount of risk when it comes to making business decisions, that risk doesn’t have to be so perilous. However, with the increasing extent of untidy data it becomes difficult to analyze in real-time. Firms desperately need technologies with which they can analyze and predict market trends with a simple click and business intelligence serves this purpose. By adopting a reliable business intelligence solution, organizations can enjoy the confidence to move forward in an increasingly data-driven world.

85% of IT leaders believe big data will dramatically change the way business is done (Forbes), meaning the implementation and analysis of BI will have a huge impact. This is evident by the fact that companies with analytics are 5x more likely to make quicker decisions. Clearly, Business Intelligence (BI) is one of the hottest innovations in the market across the world, which is paving the way for the most cutting-edge technologies that can revolutionize the future.  For businesses looking to utilize BI tools, the software can be overwhelming by knowing the wants and needs of professionals in the field and industry standards. With all of the current trends on analytics, we can enable our teams the ability to simplify complex data and better optimize and strategize for business success.

Examining at the Road Ahead

There’s little doubt that the future of business belongs to big data. Consider this: by the year 2020, 1.7 megabytes of new information will be created each second for every human being on the planet, and our annual digital universe will have grown to 44 zettabytes—approximately 10 times its current size. Therefore, it is imperative that businesses implement tools that will help them in any way possible shift through the mounds of data coming their way.

Data never sleeps & Data never sleeps

This recent business intelligence infographic (below) represents the amount of data created on the web every single minute through a range of sources including emails, YouTube videos, Facebook, Twitter, website pages, and search engine queries. Now, if we revisit this a few years later to see how much has changed, it explores more recent sources of web data such as WhatsApp, Pinterest, and Tinder, and illustrates the substantial changes in volume of data.

DataNeverSleeps
Source: Domo

It is already interesting to note that using analytics does give us an advantage if the competition is not. If everyone is doing it, you don’t have an advantage. Conversely, if everyone is doing analytics and you are not, then you are at a distinct disadvantage. With BI Tools, we are creating an interactive experience for end users. The final result delivered is an interactive application that allows users to explore the data rather than just viewing it. So, to create an efficient dashboard, we need to stop thinking as if we were developing a static report. To quote the late Steve Jobs, “Most people make the mistake of thinking design is what it looks like … That’s not what we think design is. It’s not just what it looks like and feels like. Design is how it works.”

Vast future scope

The world has realized the power of BI and now it is used in almost all industries like software, healthcare, retail, government projects, etc., and this scope will only continue to expand in the not so distant future. Entering this domain will be a solid step towards your success. When I planned to launch my career as a BI professional, this was definitely the best decision that I made, as BI is trending like anything making it a holy grail for various aspirants.

Case Study: Oracle EBS Requisition Approval Process Automation through Work Flow

A student transportation provider reduces approval time and TCO by automating the Oracle EBS requisition approval process.

By: Veera Saravanan (Oracle EBS Lead – ennVee)

The client is one of the largest school bus operators and student transportation providers in the world, and operates across the United States in 32 states, Canada, and the United Kingdom. Its operations include 15,500 school buses in 32 states across US. The company also has transit and coach bus services across US. They have implemented Oracle E Business Suite 12.1.3 for their Financials, Asset Management and Procurement. Oracle iProcurement is used heavily by the client to manage its purchasing and Approval Process.
Continue reading “Case Study: Oracle EBS Requisition Approval Process Automation through Work Flow”

[Recap] NCOAUG 2018 Winter Training Day

Download ennVee’s presentation and infographic from the 2018 NCOAUG Training Day conference.

Recap

Another year, another solid NCOAUG Training Day. Thanks to everyone who came out to Drury Lane and connected with us.

28870279_970973966388704_7393359890200133632_o.jpg28871072_970973786388722_5207831185668964352_o.jpg

ennVee President, Veera Venugopal, and VP of Global Sales, Joe Bong, hosted an afternoon session to cover the voice of the customer, as well as ways to leverage automation during the EBS R12.2/ERP upgrade process. The session, entitled “Demystifying Customization During Your EBS R12.2.x Upgrade”, can be downloaded here.

28958628_970973123055455_9003654918879313920_o.jpg

Presentation: Demystifying Customization During Your EBS R12.2.x Upgrade

93% of the companies using Oracle EBS are leveraging some form of customization, the scope of which can range from simple changes to seeded Oracle functionality to complex integrations to other systems.  Upgrading to EBS R12.2 requires manual remediation of all custom objects, and the management and execution of this remediation process is the key to an efficient and successful upgrade.

There is no one-size-fits-all solution for a successful upgrade, but there are ways in which companies can leverage automated tools and practices to significantly reduce manual effort, downtime, cutover, and post-go-live errors when upgrading to R12.2.x.

If you’re wondering how your specific level of customization will impact your upgrade, join us for this session to hear the “voice of the customer”; a summary of the top-rated industry-wide challenges, objectives, and overall timelines of those that have or plan to upgrade to R12.2.  Learn ennVee’s recipe for a more effective EBS R12.2 upgrade, and how IT leaders have leveraged automation to shrink development time and consulting spend by 80%.

Regardless of where you are in the upgrade process, this session will help you set realistic expectations for your upgrade and allow you to build a better project plan, baking automation into each phase which will result in a reduction of post-go-live errors, testing cycles and downtime.

Bonus Infographic Download

ennVee partnered with an independent research firm in 2017 to collect survey responses from more than 500 IT leaders on the challenges, business objectives, project timelines, and levels of customization involved when upgrading to Oracle E-Business Suite R12.2.

Click here to download the infographic.

Click here to download the presentation.

Click here to learn more about R12.2 upgrade automation.

Contact us for more information.

Connect with us at these upcoming events

March 20
Oracle Code 2018 Chicago 
(Chicago, IL)

April 10-12
Oracle Modern Customer Experience (Chicago, IL)

May 16
2018 Great Lakes Oracle Conference (GLOC) (Cleveland, OH)