The database is at the center of the modern software. Most of the software being written today uses databases. Nothing in software is more universal, or more central to everything.
Databases have three important characteristics. First, they are huge. Almost everything ever written is stored in a database. Databases hold all of the text in the Library of Congress and the written record of every book ever published.
Second, databases are all about search. You can think of databases as giant catalogs.
Third, databases are almost automatically encrypted. They are protected by passwords. Nobody can look at databases unless they know the password. Computers are about processing information, and databases are about storing information. But the two are not equivalent. Databases are about storing information, and computers are about processing information. To do meaningful work on a computer, you need to process information.
Computers can process information, but they can’t store information. Computers can store huge amounts of information, but they can’t store it in a way you can use. Databases can process information, and can store it in a way that you can use. The computer is good at processing information, but the database is good at storing information. So computers have databases; databases have computers; and computers need databases to run.
But databases can process information, too. Sometimes databases do process on their own.
The database is the brain of the modern software.
Why you need to learn more about database
The database is at the center of the modern software. Most of the software being written today uses databases. Nothing in software is more universal, or more central to everything.
Databases have three important characteristics.
The first is their reliability. If you store data in a “database”, you can be confident it will be there when you need it. That doesn’t mean it will be perfect; it’s a long way from that. But it does mean that in most circumstances, you can rely on it being there.
The second important characteristic of databases is that they are easy to update. When something changes, you don’t have to worry about making a new copy. You just edit the copy you already have.
The third important characteristic of databases is that they are available on the Internet. Because the Internet is big and fast and there always seems to be spare capacity, you can be confident your databases will be available. This doesn’t mean they will be free; they are still a long way from that. But it does mean that in most circumstances you can afford to store your data online.
Databases are cheap. They cost only electricity, disk space, and time. But like computers, they can be surprisingly expensive. Why? Because once you have a database, you want to be able to manipulate it. And often, you can’t. Suppose you want to read your new book from a computer. There are two ways you can do it. You can either read your hard drive, or you can use a database. A database gives you shortcuts such as “find all books by this author” and “find all books with the word ‘boy’ in the title.”
But databases have limitations. You can’t store more than about 10,000 records. And the database can’t store information about the layout of the hard drive. So you lose a lot of the convenience of using a database. Databases also give you problems when you want to find a record. Suppose you want to find all books by an author with 10,000 records. It’s possible, but it involves a lot of steps.
Importance of Database
Database is one of the most important things in technology.
More than ever before, information has become essential. Whether we are buying or selling a car, looking for a job or apartment, or planning a trip, each of us is faced with an unending flood of data.
Computers and the Internet give us the tools to answer those questions effectively. But technology by itself is not enough. We need workers who can make sense of information. We need people who know how to combine information and technology to solve complex problems. We need people who can think creatively about information.
And increasingly, we need people who can think creatively about information using databases.
Databases are important. Ever used a search engine? That’s a database. So are word processors. So is TeX. So is Wikipedia. So is Blogger. So is the iPhone.
Databases are ubiquitous. They let us manage complexity. They let us find patterns. They let us get information, and information is one of the most important ingredients of wealth.
But most of us don’t know databases well. We know enough about them to get the job done, but we don’t know how they work. And because we have a vague sense of how they work, our intuitions about databases are often wrong.
The reason we have a vague sense is that we know databases only from consumer applications. For a lot of applications, databases are just a set of tables. But understanding databases requires understanding more than tables. Understanding databases requires that you understand what a database is, and whether it makes any sense to ask what a database is.
What makes databases interesting is that they are not only sets of tables. They are a lot more complicated. They contain programs, and data, and logic, and workflow, and data dependencies, and concurrency control, and concurrency control dependencies, and data dependencies, and workflow dependencies, and so on.
So databases are not simple. And that complexity means that knowing databases well requires more than a high-school education in computer science. It requires a full undergraduate education, and then some.
The surprising thing is that most of us know so little about databases. How much should you have to know about databases to understand what they do? The surprising thing is that the answer is quite a lot. People often think they know databases, but they don’t know databases well.
Databases make it possible to store large amounts of data. So schools still have paper books and databases. But because computers can store information in ways paper books cannot, databases are becoming more important.
Ideally, databases would help us store all the information we need. But we don’t yet have systems that can do the job. So databases have to be used in ways that help compensate for their limitations.
Databases are tools, and like all tools, they are designed to do particular jobs. Databases of books, for example, have been designed to store books. But if you wanted to store other types of information, you would probably want to use a database designed for that. Similarly, if you want a database to work well for particular kinds of information, you would probably want to use one designed for that information.