Join Lynn Langit for an in-depth discussion in this video The changing landscape of data, part of NoSQL for SQL Professionals.
- As you begin your journey learning about NoSQL it's important to understand that NoSQL data projects like any data project should always be directed by their need to answer relevant business questions. In my experience projects that start by focusing on business questions have a much higher success rate than those that start by implementing a new shiny technology. As we're thinking about business questions, we're first going to think about the types of business questions that traditional data projects answer.
And these are questions about business activities that have occurred in the past. And I have some examples listed here. Why, when, or where did a certain business event occur? Who is responsible for it? What might happen to this one value in the future? Or more simply can you write me a report to show some aspect of a business value? The key with these types of questions is with one exception, the one value in the future, the majority of them have you use data so that you can better understand business events that have occurred in the past.
Another way to think about this is business intelligence, turning data into usable information for businesses. Business intelligence projects drive implementation of new types of database technologies including and especially these days, NoSQL technologies. So it's really important to understand where we're starting from before we add new types of technologies that will help us to be able to better answer new types of business questions. So in taking a look at this the landscape today is that we are aggregating transactional data.
And to make this more concrete I always like to talk about making money because that's what businesses are in the business of doing. The idea is that we use data so that we can understand questions like, What did we sell? When did we sell it? Where did we sell it? and, What did we sell with it? In order to understand questions like this most businesses use traditional systems and these are called RDBMS or relational database systems. Now there's really two types of systems in broad use out there and it's really important to understand and evaluate the type of system that you have as you're starting to learn and think about the potential applicability of new types of systems that include NoSQL systems for your particular business.
So the two flavors of relational database systems are operational systems, which are more formally called OLTP or online transactional processing. Or reporting systems which again are more formally called OLAP or online analytical processing systems. And you can think of them this way. Operational systems are designed to take in new data, inserts, updates, and deletes. Reporting systems are designed and optimized to read data results out often aggregated or summarized data results.
There are more characteristics of these traditional systems that we'll be talking about throughout this course but this gives us kind of an introduction to them. In addition to understanding the definitions, some key aspects of these systems are that they're defined by what is called schema on write. And what that means is that when you add or delete or update data, certain rules about that data are validated. What is the length of the data? What is the type of the data? What is the amount of spaces in the data? So on and so forth.
Most generally relational database systems are queried via the Transact-SQL language which is the standard database language. And it not only includes the ability to ask questions of the data in a very well-understood way, it also includes indexing which optimizes the query of the data or makes it faster, and transactions which keeps the data in a consistent state. Really important when it's your financial or your business information. Another important characteristic of relational database systems is that they have an OLTP or online transactional schema which means that they consist of a number of small units or tables which are normalized which means that data is not duplicated and in order to get information out of the OLTP system you need to perform joins or find rows that are related in one table to another table and then return them.
Customers and orders is the classic one that you look at.
- What is NoSQL?
- What is Hadoop?
- Exploring Redis, HBase, MongoDB, and Neo4j
- Exploring NoSQL features in Microsoft SQL Server
- Working with NoSQL data in the cloud
- Applying NoSQL choices to business scenarios
- Considering how data will be input and output at your business